Implement Cleaning States

Registered by Josh Gachnang on 2014-06-25

When a node has finished a workload, drivers should have the opportunity to run a set of tasks during immediately after tear down and before the node is available for scheduling again.

Blueprint information

Status:
Complete
Approver:
devananda
Priority:
High
Drafter:
Josh Gachnang
Direction:
Approved
Assignee:
Josh Gachnang
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Josh Gachnang on 2015-01-27
Completed by
Thierry Carrez on 2015-03-19

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/implement-cleaning-states,n,z

Gerrit topic: https://review.openstack.org/#q,topic:cleaning,n,z

Addressed by: https://review.openstack.org/153444
    Implement Cleaning States

Addressed by: https://review.openstack.org/155561
    Implement execute clean steps

Addressed by: https://review.openstack.org/157208
    Implement Cleaning in DriverInterfaces

Gerrit topic: https://review.openstack.org/#q,topic:bp/ilo-cleaning-support,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/ilo-cleaning-support-patch20,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/implementing-cleaning-states,n,z

Addressed by: https://review.openstack.org/159322
    Add /nodes/<uuid>/cleaning/steps API

Gerrit topic: https://review.openstack.org/#q,topic:implement-cleaning-states,n,z

Addressed by: https://review.openstack.org/161066
    Add cleaning/zapping support to IPA

Gerrit topic: https://review.openstack.org/#q,topic:agent_cleaning,n,z

Addressed by: https://review.openstack.org/161453
    Implement cleaning/zapping for the agent driver

Addressed by: https://review.openstack.org/#/c/161474
    Add support for cleaning in Ironic driver (Nova)

Addressed by: https://review.openstack.org/160515
    Change clean_steps to a dict

Gerrit topic: https://review.openstack.org/#q,topic:dispatch_all_managers,n,z

Addressed by: https://review.openstack.org/161001
    Add dispatch to all managers

Gerrit topic: https://review.openstack.org/#q,topic:bp/implement-cleaning-states-patch16,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/implement-cleaning-steps,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1174153,n,z

03.16.2015 - REST API Items Open (3 4 & 5 on http://specs.openstack.org/openstack/ironic-specs/specs/kilo/implement-cleaning-states.html#rest-api-impact)

*An API endpoint should be added to allow operators to see currently enabled clean steps and their ordering. This will be a GET endpoint at /nodes/<uuid>/cleaning/steps and will return the exact data noted above for get_clean_steps(), as a JSON document and ordered by priority.
*GET requests to the node’s API (/nodes/<uuid>) and node detail API (/nodes/details) should return the current node.clean_step as well.

https://review.openstack.org/#/c/159322/
https://review.openstack.org/#/c/161453

Notes entered on 159322:
Bumping this API change to Liberty, as discussed on IRC just now, for a couple reasons:
1. this change isn't necessary for the actual "cleaning" to occur, and we're very short on time for Kilo-3
2. the semantics are different for in-band and out-of-band drivers
3. it merely lists the steps which the driver(s) think they are going to take, which may not be the actual steps taken

Addressed by: https://review.openstack.org/165528
    Use task.spawn_after to maintain lock during cleaning

Addressed by: https://review.openstack.org/168189
    Add documentation for Cleaning

Addressed by: https://review.openstack.org/169423
    Cleaning docs followup: Add that it's new in Kilo

Addressed by: https://review.openstack.org/169510
    Prevent power actions on node in cleaning

Addressed by: https://review.openstack.org/169514
    Update docs: No power actions during cleaning

Addressed by: https://review.openstack.org/169745
    Clarify message for power action during cleaning

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.