Experimental scenario for setting IPMI credentials

Registered by Dmitry Tantsur

We need a way to enroll a node without known IPMI credentials. The following changes should be done to support it:

On initiating discovery:
* Inspect a node for extra[ipmi_setup_credentials] (boolean, default False)
   NOTE: replaced by HTTP API argument 'setup_ipmi_credentials' in https://blueprints.launchpad.net/ironic-discoverd/+spec/v1-api-reform
* If it's set to true, treat credentials as desired, not existing.
** Don't validate power management interface
** Don't power on the machine, leave it to the user.

On receiving discovery data and finding a node:
* Inspect a node for extra[ipmi_setup_credentials] again
   NOTE: replaced by options persisted in the database in https://blueprints.launchpad.net/ironic-discoverd/+spec/v1-api-reform
* If it's set, return `ipmi_setup_credentials` in `options` to the ramdisk
* Ramdisk uses ipmitool to set the credentials returned as 'ipmi_username', 'ipmi_password'
* Discoverd to wait for the node power interface to pass validation, only afterwards force power off

Note that we still need a node enrolled with a driver and ipmi_address.

UPDATE: this feature is going to have experimental status for 1.0.
SEE bug #1408635 for further work.

Blueprint information

Status:
Complete
Approver:
Dmitry Tantsur
Priority:
Medium
Drafter:
Dmitry Tantsur
Direction:
Approved
Assignee:
Dmitry Tantsur
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 1.0.0
Started by
Dmitry Tantsur
Completed by
Dmitry Tantsur

Related branches

Sprints

Whiteboard

https://dl.dropboxusercontent.com/u/1730743/ironic-discoverd/autodiscovery.jpg

Gerrit topic: https://review.openstack.org/#q,topic:bp/setup-ipmi-credentials,n,z

Addressed by: https://review.openstack.org/140656
    Require manual power on if ipmi_setup_credentials is set in Node.extra

Addressed by: https://review.openstack.org/140814
    Support updating IPMI credentials from within ramdisk

Addressed by: https://review.openstack.org/142823
    Functional test for setting IPMI credentials

Ramdisk part: https://github.com/agroup/instack-undercloud/pull/96/files

Addressed by: https://review.openstack.org/145776
    Disable setting IPMI credentials by default

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.