Implement a finite state machine

Registered by aeva black

Represent the various possible states a bare metal node can be in, and which states can reasonably be transitioned to from the current state. Utilize this in the Manager service to validate requests for state transitions. Expose the next-available-state(s) via the API service so that clients know what to request.

Ironic will not attempt to handle multi-state transitions at this time. Such efforts should be pushed higher up the stack, eg. to Nova or Heat.

Blueprint information

Status:
Complete
Approver:
aeva black
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
aeva black

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/state-machine,n,z

Addressed by: https://review.openstack.org/40844
    API Nodes states

Gerrit topic: https://review.openstack.org/#q,topic:state-machine,n,z

Addressed by: https://review.openstack.org/316186
    Updated ironic API to v1.11 and added option to move to manageable state

Addressed by: https://review.openstack.org/345362
    Add functionality for editing an existing node

Addressed by: https://review.openstack.org/361098
    Added functionality to move node from enroll to manageable state

Addressed by: https://review.openstack.org/374974
    Minor state-machine fixes/updates

Addressed by: https://review.openstack.org/376052
    Added support for editing Ironic nodes

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.