In Kilo release Ironic has few more states that nodes can take. State changes are done via node.set_provision_state command. 0. Currently nodes are enrolled in AVAILABLE state, which is the same as Juno "NOSTATE" or "None" and is meant for deployment 1. After enrolling nodes should be advanced to MANAGEABLE state for discovery and ready state work (set_provision_state(uuid, 'manage')). 2. Before deployment nodes should be moved back to AVAILABLE: set_provision_state(uuid, 'provide') A few notes: 1. While very fast now, these actions are still async. It's better to wait for actual state to be reflected in node.show. When cleaning is introduced, 'provide' action can take much more time. And in the future 'manage' action will validate node manageability (thus state name). 2. Until retry is implemented in ironicclient, you should be ready to retry in case of error 409 on this call. See https://bugzilla.redhat.com/show_bug.cgi?id=1212134 for details.
Example of retry code: https://github.com/stackforge/ironic-discoverd/blob/master/ironic_discoverd/utils.py#L106-L121
Re retry: do not bother, ironicclient will have it very soon.
This was implemented as part of the recent deploy work which means the CLI now sets the state and waits for the results (by polling).
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions
This bug is against a Version which has reached End of Life. If it's still present in supported release (http://releases.openstack.org), please update Version and reopen.