A proposal for the new Ironic system lifecycle state machine.

Registered by vlowther on 2014-11-11

This proposal describes the updated Ironic system lifecycle state machine. It includes new states for handling initial system enrollment and discovery, adds a couple of new states to make handling in-band and out-of-band system configuration easier, and adds a per-system wait flag to indicate that an external automated system (such as a CMDB, Heat, Crowbar, or Foreman) is taking action on the system.

Blueprint information

Status:
Complete
Approver:
devananda
Priority:
Essential
Drafter:
vlowther
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Informational Informational
Milestone target:
milestone icon 2015.1.0
Started by
devananda on 2014-11-25
Completed by
devananda on 2014-12-10

Related branches

Sprints

Whiteboard

Addressed by: https://review.openstack.org/139215
    Add fsm.py module

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

Addressed by: https://review.openstack.org/139216
    Begin using the state machine for node deploy/teardown

Addressed by: https://review.openstack.org/139217
    Refactor async helper methods in conductor/manager.py

Addressed by: https://review.openstack.org/140868
    Enable async callbacks from task.process_event()

Addressed by: https://review.openstack.org/140869
    Convert check_deploy_timeout to use process_event

Addressed by: https://review.openstack.org/140883
    Start using process_event() within drivers

Addressed by: https://review.openstack.org/142303
    Issue with FSM's _target_state

Addressed by: https://review.openstack.org/145389
    Minor fixes to state model

Addressed by: https://review.openstack.org/145929
    Improve testing of state transitions

Addressed by: https://review.openstack.org/147700
    Remove unused state transitions

Gerrit topic: https://review.openstack.org/#q,topic:rename-nostate,n,z

Addressed by: https://review.openstack.org/149754
    Rename NOSTATE to AVAILABLE

Addressed by: https://review.openstack.org/150073
    Add MANAGEABLE state and associated transitions

Addressed by: https://review.openstack.org/150603
    Improve testing of the Node's REST API

Addressed by: https://review.openstack.org/150821
    Add support for API microversions

Addressed by: https://review.openstack.org/151727
    Add :raises: for Version constructor docstring

Gerrit topic: https://review.openstack.org/#q,topic:bp/ironic-node-properties-discovery,n,z

Addressed by: https://review.openstack.org/162607
    Fix typo in ironic-specs/specs/kilo/new-ironic-state-machine.rst

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.