This is due to the fsm code/states that were added. It used to be that when a node was in DEPLOYFAIL provision_state, the target_provision_state was set to NOSTATE.
WIth the fsm changes (to move towards the new state machine [1]), when a node is put in DEPLOYFAIL provision_state, the target_provision_state is ACTIVE (the same target as for DEPLOYING provision_state). As describe in the bug, this prevents API requests like node-update's from succeeding.
For now, we could set the target_provision_state to NOSTATE but we'll need to come up/decide soon on the 'right' solution for what/how to handle nodes that are in a *FAIL provision_state.
Alternatively, we could change the code to eg allow node-updates if the provision_state is *FAIL?
This is due to the fsm code/states that were added. It used to be that when a node was in DEPLOYFAIL provision_state, the target_ provision_ state was set to NOSTATE.
WIth the fsm changes (to move towards the new state machine [1]), when a node is put in DEPLOYFAIL provision_state, the target_ provision_ state is ACTIVE (the same target as for DEPLOYING provision_state). As describe in the bug, this prevents API requests like node-update's from succeeding.
For now, we could set the target_ provision_ state to NOSTATE but we'll need to come up/decide soon on the 'right' solution for what/how to handle nodes that are in a *FAIL provision_state.
Alternatively, we could change the code to eg allow node-updates if the provision_state is *FAIL?
[1] http:// specs.openstack .org/openstack/ ironic- specs/specs/ kilo/new- ironic- state-machine. html