diff options
author | Josh Gachnang <josh@pcsforeducation.com> | 2015-03-23 15:48:37 -0700 |
---|---|---|
committer | Josh Gachnang <josh@pcsforeducation.com> | 2015-03-25 14:43:50 -0700 |
commit | 47c58ea9bf0d7d6bdd3aa03785bc2c71c048b2e1 (patch) | |
tree | be98ba90f4da2aa8732fb8e4bedd2c3414e74b94 /ironic/common/states.py | |
parent | d5bf6233f9afb9291f9c596cb97436f3ac46cb84 (diff) | |
download | ironic-47c58ea9bf0d7d6bdd3aa03785bc2c71c048b2e1.tar.gz |
Allow node.instance_uuid to be removed during cleaning
As soon as Nova moves the node's provision state to DELETING, it
attempts to remove the node's instance UUID. Ironic throws an error
because it considers the node in a state transition. If cleaning
takes longer than the Nova timeout, the delete will error out.
The fix is to allow node.instance_uuid removal while the node is in
CLEANING state. In L, we should fix the Nova driver to not remove
node.instance_uuid, and clear it after tear down when we clear out
node.instance_info.
Also allows updates to nodes in CLEANFAIL to match the other states
in UPDATE_ALLOWED_STATES, and if the node fails CLEANING quickly, the
node.instance_uuid removal could happen here.
Change-Id: I46771041f90a1d52f6b2d8e107ca10b650b720c1
Closes-Bug: 1435605
Diffstat (limited to 'ironic/common/states.py')
-rw-r--r-- | ironic/common/states.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ironic/common/states.py b/ironic/common/states.py index 9baf695cf..7ebd052b6 100644 --- a/ironic/common/states.py +++ b/ironic/common/states.py @@ -150,7 +150,7 @@ INSPECTFAIL = 'inspect failed' """ Node inspection failed. """ -UPDATE_ALLOWED_STATES = (DEPLOYFAIL, INSPECTING, INSPECTFAIL) +UPDATE_ALLOWED_STATES = (DEPLOYFAIL, INSPECTING, INSPECTFAIL, CLEANFAIL) """Transitional states in which we allow updating a node.""" |