DRAC Power Driver for Ironic


The proposal presents the work required to add support for power management features for Dell Remote Access Controller in Ironic.

Problem description

Dell Remote Access Controller is an interface card from Dell offering a remote system management. This proposal adds the power management capabilities for DRAC.

Proposed change

Adding a new DracDriver to the list of available drivers in Ironic and implementing the DracPower module to interact with WS-Management API “(WS-Man)” described in the DCIM Base Server and Physical Asset Profile using the python binding of the OpenWSMAN library.


There are other ways to interact with WS-Management endpoints but they are wrappers around OpenWSMAN command-line client. These are:

Data model impact


REST API impact


Driver API impact


Nova driver impact


Security impact

Admin credentials will be stored unencrypted in the DB and they will be visible in the driver_info field of the node when a node-show is issued.

Other end user impact

The following driver_info fields are required:
  • drac_host: hostname or IP of the WS-Man endpoint

  • drac_port: port of the WS-Man endpoint (default value is 443, assuming the user configured the endpoint in secure mode)

  • drac_path: path of the WS-Man endpoint (default value is ‘/wsman’)

  • drac_protocol: protocol of the WS-Man endpoint (default value is ‘https’, assuming the user configured the endpoint in secure mode)

  • drac_username: username for the WS-Man endpoint

  • drac_password: password for the WS-Man endpoint

Scalability impact


Performance Impact


Other deployer impact


Developer impact




Primary assignee:


Other contributors:


Work Items

  • Add DracDriver

  • Implement DracPower module for the DracDriver


  • This feature depends on the python binding of the OpenWSMAN library. It’s released under a simplified BSD licence and is available as a supported package in Ubuntu and Red Hat repositories.

  • This feature requires 11th or 12th generation of Dell PowerEdge servers.


  • Unit tests

  • 3rd-party CI: we would like to do it for this driver, but do not have sufficient hardware available at this time.

Documentation Impact

The required driver_info properties need be included in the documentation to instruct operators how to use Ironic with DRAC.