Home > Communication Service Provider Solutions > Telecom Multicloud Foundation > Ironic > Guides > Technical Guide—Managing Dell EMC Hardware with the OpenStack Ironic (Train) iDRAC Driver > Enroll nodes
When creating a node in Ironic, the driver that Ironic should use to manage the node must be specified:
After the initial configuration of Ironic has been completed, nodes can be enrolled into Ironic:
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:
WSMAN is supported for all these interfaces. The OpenStack Train release of the iDRAC driver adds Redfish support for the following interfaces:
By default, the iDRAC hardware type uses the WSMAN version of these interfaces to manage nodes.
The WSMAN management and power interfaces must be used as a pair. If you use WSMAN for one of these interfaces, then you must use WSMAN for the other.
Alternatively, Redfish can be used for the interfaces indicated above. To use Redfish for an interface:
openstack baremetal node list
+--------------------------------------+------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+------+---------------+-------------+--------------------+-------------+
| ad5bca80-2633-41e0-8ac5-b96f4f343f34 | None | None | None | enroll | False |
+--------------------------------------+------+---------------+-------------+--------------------+-------------+
openstack baremetal node set <uuid> --inspect-interface idrac-redfish
openstack baremetal node set <uuid> \
--power-interface idrac-redfish \
--management-interface idrac-redfish
The WSMAN interface name can be explicitly specified as idrac-wsman.
For Ironic to be able to access the iDRAC, the credentials for the iDRAC must be set on the node in Ironic:
The following parameters are used to specify the WSMAN credentials on the node in Ironic:
The following parameters are used to specify the Redfish credentials on the node in Ironic:
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>
Or, 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 WSMAN 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
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 \
--inspect-interface idrac-redfish \
--management-interface idrac-redfish \
--power-interface idrac-redfish \
--vendor-interface no-vendor \
--raid-interface no-raid
Currently, Redfish support in the iDRAC driver does not include BIOS or RAID configuration.
The following example creates a node in Ironic that is managed by the iDRAC hardware type and uses Redfish for the power, management, and inspect interfaces, and WSMAN 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 \
--inspect-interface idrac-redfish \
--management-interface idrac-redfish \
--power-interface idrac-redfish
Once the 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 the UUID or the IP address of the node.
Prior to deploying the nodes using Ironic Dell EMC recommends that you put the iDRACs into a known good state, by executing 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.
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 will be added in 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 execute the known_good_state cleaning step:
openstack baremetal node clean --clean-steps ‘[{“interface”:\ “management”, “step”: “known_good_state”}]’ <uuid>
openstack baremetal node list
The cleaning step may take a few minutes to complete.
If you do not wish to reset the iDRAC and clear the job queue in the same operation, you can execute them separately.
To reset the iDRAC:
To clear the Lifecycle Controller job queue:
You can inspect nodes using either in-band or out-of-band inspection:
Because out-of-band introspection does not require a server reboot, it executes much more quickly than in-band introspection.
To inspect a node using out-of-band inspection:
openstack baremetal node inspect <uuid>
If the idrac-redfish inspect interface is used, then you must PXE-enable the node port in Ironic that has the MAC address of the port set to PXE boot on the server. To do this, first determine the MAC address of the port on the server that is configured to PXE boot.
The CurrentMACAddress field displays the MAC address of the PXE port.
openstack baremetal port list --node <node_uuid> | grep -i \ <MAC_address_found_above>
This will give you the UUID of the port.
openstack baremetal port set --pxe-enabled <port_uuid>
The idrac-wsman inspect interface automatically PXE enables the correct port. Automatically enabling PXE on the port in the idrac-redfish inspect interface will be added in a future release.