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
|
||||
|
||||
|
||||
.. _inspection:
|
||||
|
||||
Hardware Inspection
|
||||
-------------------
|
||||
|
||||
Starting with the Kilo release, Bare Metal service supports hardware inspection
|
||||
that simplifies enrolling nodes.
|
||||
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
|
||||
that simplifies enrolling nodes - please see :ref:`inspection` for details.
|
||||
|
||||
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:pci_gpu_devices="> 0"
|
||||
|
||||
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:secure_boot="true"
|
||||
See :ref:`capabilities-discovery` for more details and examples.
|
||||
|
||||
Swiftless deploy for intermediate images
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -39,6 +39,7 @@ Administrator's Guide
|
||||
deploy/drivers
|
||||
deploy/cleaning
|
||||
deploy/raid
|
||||
deploy/inspection
|
||||
deploy/troubleshooting
|
||||
Release Notes <http://docs.openstack.org/releasenotes/ironic/>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user