From 1ca9d5f4fba5c15b646a692e94570b2d1b67cb3a Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Tue, 30 Sep 2014 11:48:47 +0200 Subject: [PATCH] Always reset target_power_state in node_power_action Currently under some conditions target_power_state can be left on the node, making it impossible to operate on via API. Change-Id: Iba92c9bfae3616661cadf602618a66d2664264ee Closes-Bug: #1375641 --- ironic/conductor/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ironic/conductor/utils.py b/ironic/conductor/utils.py index aa8b3d312d..083f6bd7b3 100644 --- a/ironic/conductor/utils.py +++ b/ironic/conductor/utils.py @@ -72,6 +72,7 @@ def node_power_action(task, new_state): _("Failed to change power state to '%(target)s'. " "Error: %(error)s") % { 'target': new_state, 'error': e} + node['target_power_state'] = states.NOSTATE node.save() if curr_state == new_state: @@ -85,6 +86,7 @@ def node_power_action(task, new_state): # This isn't an error, so we'll clear last_error field # (from previous operation), log a warning, and return. node['last_error'] = None + node['target_power_state'] = states.NOSTATE node.save() LOG.warn(_LW("Not going to change_node_power_state because " "current state = requested state = '%(state)s'."),