This change removes pxe_ipmitool and agent_ipmitool. Some tests and documentation bits are removed, since we no longer have any classic drivers to provide examples. The Inspector.create_if_enabled method is no longer used and was removed. The [inspector]enabled option will be deprecated in a follow-up. IRONIC_ENABLED_DRIVERS is removed from devstack to prevent devstack-gate from injecting the removed drivers into it. A temporary migration from queens is updated to disable all classic drivers. It will be removed when the enabled_drivers option is completely removed. Change-Id: Iab247e3b3336f90446ef0687edb340cf8282a925
3.6 KiB
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 several hardware
types, including
ilo
,idrac
andirmc
. - In-band inspection by utilizing the ironic-inspector project.
The node should be in the manageable
state before
inspection is initiated. If it is in the enroll
or
available
state, move it to manageable
first:
openstack baremetal node manage <node_UUID>
Then inspection can be initiated using the following command:
openstack baremetal node inspect <node_UUID>
Capabilities discovery
This is an incomplete list of capabilities we want to discover during
inspection. The exact support is hardware and hardware type specific
though, the most complete list is provided by the iLO ilo-inspection
.
secure_boot
(true
orfalse
)-
whether secure boot is supported for the node
boot_mode
(bios
oruefi
)-
the boot mode the node is using
cpu_vt
(true
orfalse
)-
whether the CPU virtualization is enabled
cpu_aes
(true
orfalse
)-
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 hardware type page </admin/drivers>
for the
exact list of capabilities this hardware type can discover.
In-band inspection
In-band inspection involves booting a ramdisk on the target node and fetching information directly from it. This process is more fragile and time-consuming than the out-of-band inspection, but it is not vendor-specific and works across a wide range of hardware. In-band inspection is using the ironic-inspector project.
It is supported by all hardware types, and used by default, if
enabled, by the ipmi
hardware type. The
inspector
inspect interface has to be enabled to
use it:
[DEFAULT]
enabled_inspect_interfaces = inspector,no-inspect
You must additionally install python-ironic-inspector-client to use this functionality.
If the ironic-inspector service is not registered in the service catalog, set the following option:
[inspector]
endpoint-override = http://inspector.example.com:5050
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