diff --git a/ironic/common/states.py b/ironic/common/states.py index bb24822f34..a45e1f7b34 100644 --- a/ironic/common/states.py +++ b/ironic/common/states.py @@ -216,6 +216,8 @@ UNRESCUEFAIL = 'unrescue failed' UNRESCUING = 'unrescuing' """ Node is being restored from rescue mode (to active state). """ +# NOTE(kaifeng): INSPECTING is allowed to keep backwards compatibility, +# starting from API 1.39 node update is disallowed in this state. UPDATE_ALLOWED_STATES = (DEPLOYFAIL, INSPECTING, INSPECTFAIL, INSPECTWAIT, CLEANFAIL, ERROR, VERIFYING, ADOPTFAIL, RESCUEFAIL, UNRESCUEFAIL) diff --git a/ironic/conductor/manager.py b/ironic/conductor/manager.py index d832b1eefe..d79104aa8e 100644 --- a/ironic/conductor/manager.py +++ b/ironic/conductor/manager.py @@ -170,6 +170,9 @@ class ConductorManager(base_manager.BaseConductorManager): # TODO(dtantsur): reconsider allowing changing some (but not all) # interfaces for active nodes in the future. + # NOTE(kaifeng): INSPECTING is allowed to keep backwards + # compatibility, starting from API 1.39 node update is disallowed + # in this state. allowed_update_states = [states.ENROLL, states.INSPECTING, states.INSPECTWAIT, states.MANAGEABLE, states.AVAILABLE]