Update the inspection documentation
This change moves inspection documentation to its own file (similar to RAID and cleaning). It also adds a list of capabilities we *might* discover during inspection. It's partly based on the iLO spec [1], partly - on the in-band capabilities discovery RFE [2]. The vendor-specific bits are missing on purpose. The goal here is to have a common subset of capabilities to be discovered by all (or the majority) of the drivers (including in-band inspection). [1] http://specs.openstack.org/openstack/ironic-specs/specs/kilo-implemented/ilo-properties-capabilities-discovery.html#proposed-change [2] https://bugs.launchpad.net/ironic-python-agent/+bug/1571580 Related-Bug: #1571580 Change-Id: If5d466a2c331674abb30d30dc39871f25a84de88
This commit is contained in:
parent
67652e530e
commit
f049cfd188
114
doc/source/deploy/inspection.rst
Normal file
114
doc/source/deploy/inspection.rst
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
.. _inspection:
|
||||||
|
|
||||||
|
===================
|
||||||
|
Hardware Inspection
|
||||||
|
===================
|
||||||
|
|
||||||
|
Overview
|
||||||
|
--------
|
||||||
|
|
||||||
|
Inspection allows Bare Metal service to discover required node properties
|
||||||
|
once required ``driver_info`` fields (for example, IPMI credentials) are set
|
||||||
|
by an operator. Inspection will also create the Bare Metal service ports for the
|
||||||
|
discovered ethernet MACs. Operators will have to manually delete the Bare Metal
|
||||||
|
service ports for which physical media is not connected. This is required due
|
||||||
|
to the `bug 1405131 <https://bugs.launchpad.net/ironic/+bug/1405131>`_.
|
||||||
|
|
||||||
|
There are two kinds of inspection supported by Bare Metal service:
|
||||||
|
|
||||||
|
#. Out-of-band inspection is currently implemented by iLO drivers, listed at
|
||||||
|
:ref:`ilo`.
|
||||||
|
|
||||||
|
#. `In-band inspection`_ by utilizing the ironic-inspector_ project.
|
||||||
|
|
||||||
|
Inspection can be initiated using node-set-provision-state.
|
||||||
|
The node should be in MANAGEABLE state before inspection is initiated.
|
||||||
|
|
||||||
|
* Move node to manageable state::
|
||||||
|
|
||||||
|
ironic node-set-provision-state <node_UUID> manage
|
||||||
|
|
||||||
|
* Initiate inspection::
|
||||||
|
|
||||||
|
ironic node-set-provision-state <node_UUID> inspect
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The above commands require the python-ironicclient_ to be version 0.5.0 or greater.
|
||||||
|
|
||||||
|
.. _capabilities-discovery:
|
||||||
|
|
||||||
|
Capabilities discovery
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
This is an incomplete list of capabilities we want to discover during
|
||||||
|
inspection. The exact support is driver-specific though, the most complete
|
||||||
|
list is provided by :ref:`ilo`.
|
||||||
|
|
||||||
|
``secure_boot`` (``true`` or ``false``)
|
||||||
|
whether secure boot is supported for the node;
|
||||||
|
|
||||||
|
``boot_mode`` (``bios`` or ``uefi``)
|
||||||
|
the boot mode the node is using;
|
||||||
|
|
||||||
|
``cpu_vt`` (``true`` or ``false``)
|
||||||
|
whether the CPU virtualization is enabled;
|
||||||
|
|
||||||
|
``cpu_aes`` (``true`` or ``false``)
|
||||||
|
whether the AES CPU extensions are enabled;
|
||||||
|
|
||||||
|
``max_raid_level`` (integer, 0-10)
|
||||||
|
maximum RAID level supported by the node;
|
||||||
|
|
||||||
|
``pci_gpu_devices`` (non-negative integer)
|
||||||
|
number of GPU devices on the node.
|
||||||
|
|
||||||
|
The operator can specify these capabilities in nova flavor for node to be selected
|
||||||
|
for scheduling::
|
||||||
|
|
||||||
|
nova flavor-key my-baremetal-flavor set capabilities:pci_gpu_devices="> 0"
|
||||||
|
|
||||||
|
nova flavor-key my-baremetal-flavor set capabilities:secure_boot="true"
|
||||||
|
|
||||||
|
Please see a specific driver page for the exact list of capabilities this
|
||||||
|
driver can discover.
|
||||||
|
|
||||||
|
In-band inspection
|
||||||
|
------------------
|
||||||
|
|
||||||
|
This is supported by the following drivers::
|
||||||
|
|
||||||
|
pxe_drac
|
||||||
|
pxe_ipmitool
|
||||||
|
pxe_ipminative
|
||||||
|
pxe_ssh
|
||||||
|
|
||||||
|
This feature needs to be explicitly enabled in the configuration
|
||||||
|
by setting ``enabled = True`` in ``[inspector]`` section.
|
||||||
|
You must additionally install python-ironic-inspector-client_ to use
|
||||||
|
this functionality.
|
||||||
|
You must set ``service_url`` if the ironic-inspector service is
|
||||||
|
being run on a separate host from the ironic-conductor service, or is using
|
||||||
|
non-standard port.
|
||||||
|
|
||||||
|
In order to ensure that ports in Bare Metal service are synchronized with
|
||||||
|
NIC ports on the node, the following settings in the ironic-inspector
|
||||||
|
configuration file must be set::
|
||||||
|
|
||||||
|
[processing]
|
||||||
|
add_ports = all
|
||||||
|
keep_ports = present
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
During Kilo cycle we used on older verions of Inspector called
|
||||||
|
ironic-discoverd_. Inspector is expected to be a mostly drop-in
|
||||||
|
replacement, and the same client library should be used to connect to both.
|
||||||
|
|
||||||
|
For Kilo, install ironic-discoverd_ of version 1.1.0 or higher
|
||||||
|
instead of python-ironic-inspector-client and use ``[discoverd]`` option
|
||||||
|
group in both Bare Metal service and ironic-discoverd configuration
|
||||||
|
files instead of ones provided above.
|
||||||
|
|
||||||
|
.. _ironic-inspector: https://pypi.python.org/pypi/ironic-inspector
|
||||||
|
.. _ironic-discoverd: https://pypi.python.org/pypi/ironic-discoverd
|
||||||
|
.. _python-ironic-inspector-client: https://pypi.python.org/pypi/python-ironic-inspector-client
|
||||||
|
.. _python-ironicclient: https://pypi.python.org/pypi/python-ironicclient
|
@ -1895,76 +1895,11 @@ UUID interchangeably.
|
|||||||
.. _wiki_hostname: http://en.wikipedia.org/wiki/Hostname
|
.. _wiki_hostname: http://en.wikipedia.org/wiki/Hostname
|
||||||
|
|
||||||
|
|
||||||
.. _inspection:
|
|
||||||
|
|
||||||
Hardware Inspection
|
Hardware Inspection
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Starting with the Kilo release, Bare Metal service supports hardware inspection
|
Starting with the Kilo release, Bare Metal service supports hardware inspection
|
||||||
that simplifies enrolling nodes.
|
that simplifies enrolling nodes - please see :ref:`inspection` for details.
|
||||||
Inspection allows Bare Metal service to discover required node properties
|
|
||||||
once required ``driver_info`` fields (for example, IPMI credentials) are set
|
|
||||||
by an operator. Inspection will also create the Bare Metal service ports for the
|
|
||||||
discovered ethernet MACs. Operators will have to manually delete the Bare Metal
|
|
||||||
service ports for which physical media is not connected. This is required due
|
|
||||||
to the `bug 1405131 <https://bugs.launchpad.net/ironic/+bug/1405131>`_.
|
|
||||||
|
|
||||||
There are two kinds of inspection supported by Bare Metal service:
|
|
||||||
|
|
||||||
#. Out-of-band inspection is currently implemented by iLO drivers, listed at
|
|
||||||
:ref:`ilo`.
|
|
||||||
|
|
||||||
#. In-band inspection is performed by utilizing the ironic-inspector_ project.
|
|
||||||
This is supported by the following drivers::
|
|
||||||
|
|
||||||
pxe_drac
|
|
||||||
pxe_ipmitool
|
|
||||||
pxe_ipminative
|
|
||||||
pxe_ssh
|
|
||||||
|
|
||||||
This feature needs to be explicitly enabled in the configuration
|
|
||||||
by setting ``enabled = True`` in ``[inspector]`` section.
|
|
||||||
You must additionally install python-ironic-inspector-client_ to use
|
|
||||||
this functionality.
|
|
||||||
You must set ``service_url`` if the ironic-inspector service is
|
|
||||||
being run on a separate host from the ironic-conductor service, or is using
|
|
||||||
non-standard port.
|
|
||||||
|
|
||||||
In order to ensure that ports in Bare Metal service are synchronized with
|
|
||||||
NIC ports on the node, the following settings in the ironic-inspector
|
|
||||||
configuration file must be set::
|
|
||||||
|
|
||||||
[processing]
|
|
||||||
add_ports = all
|
|
||||||
keep_ports = present
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
During Kilo cycle we used on older verions of Inspector called
|
|
||||||
ironic-discoverd_. Inspector is expected to be a mostly drop-in
|
|
||||||
replacement, and the same client library should be used to connect to both.
|
|
||||||
|
|
||||||
For Kilo, install ironic-discoverd_ of version 1.1.0 or higher
|
|
||||||
instead of python-ironic-inspector-client and use ``[discoverd]`` option
|
|
||||||
group in both Bare Metal service and ironic-discoverd configuration
|
|
||||||
files instead of ones provided above.
|
|
||||||
|
|
||||||
Inspection can be initiated using node-set-provision-state.
|
|
||||||
The node should be in MANAGEABLE state before inspection is initiated.
|
|
||||||
|
|
||||||
* Move node to manageable state::
|
|
||||||
|
|
||||||
ironic node-set-provision-state <node_UUID> manage
|
|
||||||
|
|
||||||
* Initiate inspection::
|
|
||||||
|
|
||||||
ironic node-set-provision-state <node_UUID> inspect
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
The above commands require the python-ironicclient_ to be version 0.5.0 or greater.
|
|
||||||
|
|
||||||
.. _ironic-discoverd: https://pypi.python.org/pypi/ironic-discoverd
|
|
||||||
.. _python-ironic-inspector-client: https://pypi.python.org/pypi/python-ironic-inspector-client
|
|
||||||
.. _python-ironicclient: https://pypi.python.org/pypi/python-ironicclient
|
|
||||||
|
|
||||||
Specifying the disk for deployment
|
Specifying the disk for deployment
|
||||||
==================================
|
==================================
|
||||||
|
@ -878,13 +878,11 @@ for scheduling::
|
|||||||
|
|
||||||
nova flavor-key my-baremetal-flavor set capabilities:server_model="<in> Gen8"
|
nova flavor-key my-baremetal-flavor set capabilities:server_model="<in> Gen8"
|
||||||
|
|
||||||
nova flavor-key my-baremetal-flavor set capabilities:pci_gpu_devices="> 0"
|
|
||||||
|
|
||||||
nova flavor-key my-baremetal-flavor set capabilities:nic_capacity="10Gb"
|
nova flavor-key my-baremetal-flavor set capabilities:nic_capacity="10Gb"
|
||||||
|
|
||||||
nova flavor-key my-baremetal-flavor set capabilities:ilo_firmware_version="<in> 2.10"
|
nova flavor-key my-baremetal-flavor set capabilities:ilo_firmware_version="<in> 2.10"
|
||||||
|
|
||||||
nova flavor-key my-baremetal-flavor set capabilities:secure_boot="true"
|
See :ref:`capabilities-discovery` for more details and examples.
|
||||||
|
|
||||||
Swiftless deploy for intermediate images
|
Swiftless deploy for intermediate images
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -39,6 +39,7 @@ Administrator's Guide
|
|||||||
deploy/drivers
|
deploy/drivers
|
||||||
deploy/cleaning
|
deploy/cleaning
|
||||||
deploy/raid
|
deploy/raid
|
||||||
|
deploy/inspection
|
||||||
deploy/troubleshooting
|
deploy/troubleshooting
|
||||||
Release Notes <http://docs.openstack.org/releasenotes/ironic/>
|
Release Notes <http://docs.openstack.org/releasenotes/ironic/>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user