diff --git a/doc/source/deploy/inspection.rst b/doc/source/deploy/inspection.rst new file mode 100644 index 0000000000..712bf1f978 --- /dev/null +++ b/doc/source/deploy/inspection.rst @@ -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 `_. + +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 manage + +* Initiate inspection:: + + ironic node-set-provision-state 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 diff --git a/doc/source/deploy/install-guide.rst b/doc/source/deploy/install-guide.rst index b85262585e..94e50843a5 100644 --- a/doc/source/deploy/install-guide.rst +++ b/doc/source/deploy/install-guide.rst @@ -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 `_. - -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 manage - -* Initiate inspection:: - - ironic node-set-provision-state 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 ================================== diff --git a/doc/source/drivers/ilo.rst b/doc/source/drivers/ilo.rst index b80292126c..8a3a7a9c44 100644 --- a/doc/source/drivers/ilo.rst +++ b/doc/source/drivers/ilo.rst @@ -878,13 +878,11 @@ for scheduling:: nova flavor-key my-baremetal-flavor set capabilities:server_model=" 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=" 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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/source/index.rst b/doc/source/index.rst index e2bdc63223..ca2556a77e 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -39,6 +39,7 @@ Administrator's Guide deploy/drivers deploy/cleaning deploy/raid + deploy/inspection deploy/troubleshooting Release Notes