Implement Cleaning States

Registered by Josh Gachnang

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

aeva black
Josh Gachnang
Josh Gachnang
Series goal:
Accepted for kilo
Milestone target:
milestone icon 2015.1.0
Started by
Josh Gachnang
Completed by
Thierry Carrez

Related branches



Gerrit topic:,topic:bp/implement-cleaning-states,n,z

Gerrit topic:,topic:cleaning,n,z

Addressed by:
    Implement Cleaning States

Addressed by:
    Implement execute clean steps

Addressed by:
    Implement Cleaning in DriverInterfaces

Gerrit topic:,topic:bp/ilo-cleaning-support,n,z

Gerrit topic:,topic:bp/ilo-cleaning-support-patch20,n,z

Gerrit topic:,topic:bp/implementing-cleaning-states,n,z

Addressed by:
    Add /nodes/<uuid>/cleaning/steps API

Gerrit topic:,topic:implement-cleaning-states,n,z

Addressed by:
    Add cleaning/zapping support to IPA

Gerrit topic:,topic:agent_cleaning,n,z

Addressed by:
    Implement cleaning/zapping for the agent driver

Addressed by:
    Add support for cleaning in Ironic driver (Nova)

Addressed by:
    Change clean_steps to a dict

Gerrit topic:,topic:dispatch_all_managers,n,z

Addressed by:
    Add dispatch to all managers

Gerrit topic:,topic:bp/implement-cleaning-states-patch16,n,z

Gerrit topic:,topic:bp/implement-cleaning-steps,n,z

Gerrit topic:,topic:bug/1174153,n,z

03.16.2015 - REST API Items Open (3 4 & 5 on

*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.

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:
    Use task.spawn_after to maintain lock during cleaning

Addressed by:
    Add documentation for Cleaning

Addressed by:
    Cleaning docs followup: Add that it's new in Kilo

Addressed by:
    Prevent power actions on node in cleaning

Addressed by:
    Update docs: No power actions during cleaning

Addressed by:
    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.


No subscribers.