Merge "Add require_exclusive_lock decorators to conductor methods"

This commit is contained in:
Jenkins
2016-05-18 16:48:28 +00:00
committed by Gerrit Code Review

View File

@@ -614,6 +614,7 @@ class ConductorManager(base_manager.BaseConductorManager):
action='delete', node=task.node.uuid, action='delete', node=task.node.uuid,
state=task.node.provision_state) state=task.node.provision_state)
@task_manager.require_exclusive_lock
def _do_node_tear_down(self, task): def _do_node_tear_down(self, task):
"""Internal RPC method to tear down an existing node deployment.""" """Internal RPC method to tear down an existing node deployment."""
node = task.node node = task.node
@@ -848,6 +849,7 @@ class ConductorManager(base_manager.BaseConductorManager):
self._do_next_clean_step, self._do_next_clean_step,
task, next_step_index) task, next_step_index)
@task_manager.require_exclusive_lock
def _do_node_clean(self, task, clean_steps=None): def _do_node_clean(self, task, clean_steps=None):
"""Internal RPC method to perform cleaning of a node. """Internal RPC method to perform cleaning of a node.
@@ -924,6 +926,7 @@ class ConductorManager(base_manager.BaseConductorManager):
step_index = 0 if steps else None step_index = 0 if steps else None
self._do_next_clean_step(task, step_index) self._do_next_clean_step(task, step_index)
@task_manager.require_exclusive_lock
def _do_next_clean_step(self, task, step_index): def _do_next_clean_step(self, task, step_index):
"""Do cleaning, starting from the specified clean step. """Do cleaning, starting from the specified clean step.
@@ -1011,6 +1014,7 @@ class ConductorManager(base_manager.BaseConductorManager):
# NOTE(rloo): No need to specify target prov. state; we're done # NOTE(rloo): No need to specify target prov. state; we're done
task.process_event(event) task.process_event(event)
@task_manager.require_exclusive_lock
def _do_node_verify(self, task): def _do_node_verify(self, task):
"""Internal method to perform power credentials verification.""" """Internal method to perform power credentials verification."""
node = task.node node = task.node
@@ -1042,6 +1046,7 @@ class ConductorManager(base_manager.BaseConductorManager):
node.target_provision_state = None node.target_provision_state = None
node.save() node.save()
@task_manager.require_exclusive_lock
def _do_node_clean_abort(self, task, step_name=None): def _do_node_clean_abort(self, task, step_name=None):
"""Internal method to abort an ongoing operation. """Internal method to abort an ongoing operation.
@@ -1624,6 +1629,7 @@ class ConductorManager(base_manager.BaseConductorManager):
task.spawn_after(self._spawn_worker, task.spawn_after(self._spawn_worker,
self._set_console_mode, task, enabled) self._set_console_mode, task, enabled)
@task_manager.require_exclusive_lock
def _set_console_mode(self, task, enabled): def _set_console_mode(self, task, enabled):
"""Internal method to set console mode on a node.""" """Internal method to set console mode on a node."""
node = task.node node = task.node
@@ -2248,6 +2254,7 @@ def _store_configdrive(node, configdrive):
node.instance_info = i_info node.instance_info = i_info
@task_manager.require_exclusive_lock
def do_node_deploy(task, conductor_id, configdrive=None): def do_node_deploy(task, conductor_id, configdrive=None):
"""Prepare the environment and deploy a node.""" """Prepare the environment and deploy a node."""
node = task.node node = task.node
@@ -2457,6 +2464,7 @@ def do_sync_power_state(task, count):
return count return count
@task_manager.require_exclusive_lock
def _do_inspect_hardware(task): def _do_inspect_hardware(task):
"""Initiates inspection. """Initiates inspection.