Home > Communication Service Provider Solutions > Telecom Multicloud Foundation > Ironic > Guides > Technical Guide—Managing Dell EMC PowerEdge Servers with the OpenStack Ironic (Xena) iDRAC Driver > Enrolling nodes
After completing the initial configuration of Ironic, you can enroll nodes into Ironic. Follow the general enrollment process that is described in Enrolling in the OpenStack Ironic iDRAC driver documentation.
You will need to modify the general process for the iDRAC driver. Follow the steps that are provided in:
When creating an Ironic bare-metal node, specify the driver that Ironic should use to manage the node:
Pass --driver idrac to the openstack baremetal node create command to manage the node using the iDRAC hardware type.
For more information, see Enrolling in the OpenStack Ironic iDRAC driver documentation.
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:
Some interfaces have multiple protocol-independent choices. For more information, see the OpenStack Ironic iDRAC driver documentation.
The following table identifies the baseboard management controller protocol choices for each interface:
Interface | WS-Man | Redfish | Protocol-independent |
BIOS | X | X | N/A |
Boot | N/A | X | X |
Deploy | N/A | N/A | X |
Inspect | X | X | X |
Management | X | X | N/A |
Network | N/A | N/A | X |
Power | X | X | N/A |
RAID | X | X | N/A |
Rescue | N/A | N/A | X |
Storage | N/A | N/A | X |
Vendor | X | X | N/A |
By default, the iDRAC hardware type uses the WS-Man version of these interfaces, when it is supported, to manage nodes. The boot interface defaults to iPXE, which is protocol-independent, but it is also possible to choose virtual media boot using Redfish.
Note: The WS-Man management and power interfaces must be used as a pair. If you use WS-Man for one of these interfaces, you must also use WS-Man for the other.
Alternatively, you can use Redfish for the interfaces that are indicated in the preceding section. To use Redfish:
Note: The Redfish management and power interfaces must be used as a pair. If you use Redfish for one of these interfaces, you must also use Redfish for the other.
openstack baremetal node list --fields 'uuid'
+--------------------------------------+
| UUID |
+--------------------------------------+
| 41f107cc-e4c8-4c99-9b25-8afade9c9804 |
+--------------------------------------+
openstack baremetal node set <uuid> \
--inspect-interface idrac-redfish
openstack baremetal node set <uuid> \
--management-interface idrac-redfish \
--power-interface idrac-redfish
Note: You can explicitly set the WS-Man interface by passing its name, idrac-wsman.
Note: Firmware management is supported by only the idrac-redfish implementation of the management interface. Firmware management is not supported by the idrac-wsman implementation of the management interface.
For Ironic to be able to access an iDRAC, you must specify the credentials for iDRAC on an Ironic bare-metal node:
Use the following properties to specify the WS-Man credentials on an Ironic bare-metal node:
Use the following properties to specify the Redfish credentials on an Ironic bare-metal node:
Note: For other Redfish protocol properties, see Redfish driver in the OpenStack Ironic driver documentation.
You can specify properties on an Ironic bare-metal node 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, specify or modify the properties for Ironic to use after the Ironic bare-metal node has been created.
openstack baremetal node set <uuid> \
--driver-info <property_name>=<property_value>
Note: You can set multiple properties at once by specifying --driver-info and a property name and value, multiple times.
Create a node in Ironic by following these examples:
The following example creates an Ironic bare-metal node 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 an Ironic bare-metal node 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 an Ironic bare-metal node that is managed by the iDRAC hardware type. The node uses Redfish for the BIOS, inspect, management, and power 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
After a node is created in Ironic, you can see interactions between Ironic and the node by searching in /var/log/ironic/ironic-conductor.log for either the node UUID or the node IP address.
To prepare the nodes for deployment, you must:
Before deploying the nodes using Ironic, Dell Technologies recommends that you put the iDRACs into a known good state by running the manual known_good_state cleaning step against the nodes. Currently, the cleaning step resets the iDRAC and clears the Lifecycle Controller job queue on the targeted node. In the future, the cleaning step may be extended to perform other best-practice operations to put the server into the best possible known good state.
You can use this operation to return a node to an initial clean state when returning it to the unallocated bare-metal node pool.
To run the known_good_state cleaning step:
openstack baremetal node clean <uuid> --clean-steps \
'[{"interface": "management", "step": "known_good_state"}]'
openstack baremetal node list
The cleaning step may take a few minutes to complete.
Note: 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 by 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 takes less time 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>
Both the idrac-wsman and idrac-redfish interfaces automatically PXE-enable the correct node port.