summaryrefslogtreecommitdiff
path: root/ironic/common/states.py
diff options
context:
space:
mode:
authorJosh Gachnang <josh@pcsforeducation.com>2015-03-23 15:48:37 -0700
committerJosh Gachnang <josh@pcsforeducation.com>2015-03-25 14:43:50 -0700
commit47c58ea9bf0d7d6bdd3aa03785bc2c71c048b2e1 (patch)
treebe98ba90f4da2aa8732fb8e4bedd2c3414e74b94 /ironic/common/states.py
parentd5bf6233f9afb9291f9c596cb97436f3ac46cb84 (diff)
downloadironic-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.py2
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."""