Home > Communication Service Provider Solutions > Telecom Multicloud Foundation > Ironic > Guides > Technical Guide—Managing Dell EMC PowerEdge Servers with the OpenStack Ironic (Wallaby) iDRAC Driver > Enroll nodes
After the initial configuration of Ironic has been completed, nodes can be enrolled into Ironic.
When creating a node in Ironic, you must specify the driver that Ironic should use to manage the node.
NOTE: See the Enrolling section of the iDRAC driver documentation located in the Ironic documentation, at https://docs.openstack.org/ironic/wallaby/admin/drivers/idrac.html#enrolling.
Ironic defines a set of interfaces that every hardware type can support. Some of these interfaces are required, while others are optional. The iDRAC driver supports the following interfaces:
The following table identifies the management protocol choices for each interface:
Interface |
WS-Man |
Redfish |
Protocol independent |
BIOS |
X |
X |
- |
Boot |
- |
X |
X |
Deploy |
- |
- |
X |
Inspect |
X |
X |
X |
Management |
X |
X |
- |
Network |
- |
- |
X |
Power |
X |
X |
- |
RAID |
X |
X |
- |
Rescue |
- |
- |
X |
Storage |
- |
- |
X |
Vendor |
X |
X |
- |
Some interfaces support multiple protocol-independent choices. For the protocol-independent choices that are available for each interface, see the OpenStack Ironic iDRAC driver documentation.
By default, the iDRAC hardware type uses the WS-Man version of these interfaces to manage nodes when it is supported. The Boot interface defaults to iPXE, which is protocol-independent, but virtual media boot using Redfish can be used as well.
Virtual media boot works by:
Ironic uses HTTPS instead of the potentially unreliable TFTP protocol, to transfer the image.
NOTE: The WS-Man management and power interfaces must be used as a pair. If you use WS-Man for one of these interfaces, then you must use WS-Man for the other.
Alternatively, Redfish can be used for the interfaces that are indicated above. To use Redfish for an interface:
NOTE: The Redfish management and power interfaces must be used as a pair. If you use Redfish for one of these interfaces, then you must use Redfish for the other.
openstack baremetal node list --fields
+--------------------------------------+
| UUID |
+--------------------------------------+
| 41f107cc-e4c8-4c99-9b25-8afade9c9804 |
+--------------------------------------+
openstack baremetal node set <uuid> --inspect-interface \
idrac-redfish
openstack baremetal node set <uuid> \
--power-interface idrac-redfish \
--management-interface idrac-redfish
NOTE: The WS-Man interface name can be explicitly specified as idrac-wsman.
NOTE: Firmware management is supported by the idrac-redfish implementation of the management interface only. It is not supported by the idrac-wsman implementation of the management interface.
For Ironic to be able to access the iDRAC, you must set the credentials for the iDRAC on the node in Ironic:
The following parameters are used to specify the WS-Man credentials on the node in Ironic:
The following parameters are used to specify the Redfish credentials on the node in Ironic:
NOTE: For other Redfish protocol parameters, see https://docs.openstack.org/ironic/wallaby/admin/drivers/redfish.html.
Credentials can be associated with the node in Ironic either when creating the node or by modifying the node after it has been created:
--driver-info drac_username=<username> \
--driver-info drac_password=<password> \
--driver-info drac_address=<ip>
--driver-info redfish_username=<username> \
--driver-info redfish_password=<password> \
--driver-info redfish_address=https://<ip> \
--driver-info \ redfish_system_id=/redfish/v1/Systems/System.Embedded.1
Alternatively, the credentials for Ironic to use can be set or modified after the node has been created.
openstack baremetal node set <uuid> \
--driver-info <parameter_name>=<parameter_value>
Note: You can set multiple parameters at once by specifying --driver-info, and a parameter name and value, multiple times.
To put it all together, create a node in Ironic as per the following examples:
The following example creates a node in Ironic that is managed by the iDRAC hardware type and uses WS-Man for all interfaces:
openstack baremetal node create \
--driver idrac \
--driver-info drac_username=root \
--driver-info drac_password=1234 \
--driver-info drac_address=192.168.110.100
Note: WS-Man support in the iDRAC driver does not currently include support for virtual media boot or firmware management.
The following example creates a node in Ironic that is managed by the iDRAC hardware type and uses Redfish for all interfaces:
openstack baremetal node create \
--driver idrac \
--driver-info redfish_username=root \
--driver-info redfish_password=1234 \
--driver-info redfish_address=https://192.168.110.100 \
--driver-info \ redfish_system_id=/redfish/v1/Systems/System.Embedded.1 \
--bios-interface idrac-redfish \
--inspect-interface idrac-redfish \
--management-interface idrac-redfish \
--power-interface idrac-redfish \
--raid-interface idrac-redfish \
--vendor-interface no-vendor
The following example creates a node in Ironic that is managed by the iDRAC hardware type. It uses Redfish for the power, management, inspect, and BIOS interfaces, and WS-Man for the remaining interfaces:
openstack baremetal node create \
--driver idrac \
--driver-info redfish_username=root \
--driver-info redfish_password=1234 \
--driver-info redfish_address=https://192.168.110.100 \
--driver-info \ redfish_system_id=/redfish/v1/Systems/System.Embedded.1
--driver-info drac_username=root \
--driver-info drac_password=1234 \
--driver-info drac_address=192.168.110.100 \
--bios-interface idrac-redfish \
--inspect-interface idrac-redfish \
--management-interface idrac-redfish \
--power-interface idrac-redfish
Once a node has been set up in Ironic, interactions between Ironic and the node can be seen by searching in /var/log/ironic/ironic-conductor.log for either:
To prepare the nodes for deployment you must perform the following procedures:
Before deploying the nodes using Ironic, it is recommended that you put the iDRACs into a known good state. You do this task by running the manual known_good_state cleaning step against the node. This cleaning step currently resets the iDRAC and clears the Lifecycle Controller job queue on the targeted node. It may be extended in the future to perform other best practice operations to put the server into the best possible known good state.
You can use this procedure to return a node to an initial clean state when returning a node to the unallocated bare metal pool.
To run the known_good_state cleaning step:
openstack baremetal node clean --clean-steps '[{"interface": \ "management", "step": "known_good_state"}]' <uuid>
openstack baremetal node list
NOTE: The cleaning step may take a few minutes to complete.
If you do not want to reset the iDRAC and clear the job queue in the same operation, you can run these operations separately.
To reset the iDRAC:
To clear the Lifecycle Controller job queue:
You can inspect nodes using either:
To inspect a node:
openstack baremetal node set <uuid> --inspect-interface inspector
openstack baremetal node inspect <uuid>
Because out-of-band inspection in Ironic does not require a server reboot, it runs quicker than in-band inspection. For more information, see:
openstack baremetal node set <uuid> --inspect-interface \
idrac-wsman
openstack baremetal node inspect <uuid>
openstack baremetal node set <uuid> --inspect-interface \
idrac-redfish
openstack baremetal node inspect <uuid>
The idrac-wsman and idrac-redfish interfaces both automatically PXE-enable the correct node port.