Home > Communication Service Provider Solutions > Telecom Multicloud Foundation > Ironic > Guides > Technical Guide—Managing Dell EMC Hardware with the OpenStack Ironic (Victoria) 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.
Ironic defines a set of interfaces that every hardware type can implement. Some of these interfaces are required, while others are optional. The iDRAC driver supports the following interfaces:
Table 7 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 |
|
|
Rescue |
|
| X |
Storage |
|
| X |
Vendor | 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:
The transfer of the image uses HTTPS, which avoids using the potentially unreliable TFTP protocol.
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/victoria/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 no-raid \
--vendor-interface no-vendor
Note: Redfish support in the iDRAC driver does not currently include RAID management.
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.
Note: These cleaning steps are only available on nodes whose management interface is set to idrac-wsman. Support for these cleaning steps in the idrac-redfish management interface is targeted for a future release.
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.
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>
Each interface can PXE-enable the node’s port in Ironic:
The idrac-wsman inspect interface automatically PXE enables the correct port.
If the idrac-redfish inspect interface is used, then you must PXE-enable the node port in Ironic prior to deployment. The MAC address of the port must be set to PXE boot on the server.
First, determine the MAC address of the port on the server that is configured to PXE boot:
Note: The CurrentMACAddress field displays the MAC address of the PXE port.
openstack baremetal port list --node <node_uuid> | grep -i \ <MAC_address_found_above>
The output displays the UUID of the port.
openstack baremetal port set --pxe-enabled <port_uuid>
Note: Automatically enabling PXE booting on the port in the idrac-redfish inspect interface will be added in a future release.