summaryrefslogtreecommitdiff
path: root/ironic/conductor
diff options
context:
space:
mode:
authorNguyen Van Trung <trungnv@vn.fujitsu.com>2018-05-23 10:26:29 +0700
committerNguyen Van Trung <trungnv@vn.fujitsu.com>2018-06-08 16:13:46 +0700
commitf40f145f8205d30e2c5a898d9519ef7ed6e9ea07 (patch)
tree69828a9bd47ffe0f8bb5733f20d6a443b87ad036 /ironic/conductor
parent9f90194bebe9d9d61b71c36855a92686bba34dae (diff)
downloadironic-f40f145f8205d30e2c5a898d9519ef7ed6e9ea07.tar.gz
Make method public to support out-of-band cleaning
This makes the _notify_conductor_resume_clean method public by removing the leading underscore from its name. And move it into conductor/utils.py. The idrac hardware type's RAID configuration out-of-band cleaning has been using it [1]. The method is going to be used by the RAID configuration support that is being added to the iRMC hardware type [2]. [1] https://github.com/openstack/ironic/blob/580d4338e2bce8e557a5007fcba85e157f0b8d60/ironic/drivers/modules/drac/raid.py#L892 [2] https://review.openstack.org/#/c/512979 Change-Id: Ifd10dd88d65306049119588e6088359a5d38c158
Diffstat (limited to 'ironic/conductor')
-rw-r--r--ironic/conductor/utils.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ironic/conductor/utils.py b/ironic/conductor/utils.py
index 36c9b8300..68f9cbc2a 100644
--- a/ironic/conductor/utils.py
+++ b/ironic/conductor/utils.py
@@ -784,3 +784,15 @@ def validate_instance_info_traits(node):
"node. Node %(node)s is missing traits %(traits)s") %
{"node": node.uuid, "traits": ", ".join(missing)})
raise exception.InvalidParameterValue(err)
+
+
+def notify_conductor_resume_clean(task):
+ LOG.debug('Sending RPC to conductor to resume cleaning for node %s',
+ task.node.uuid)
+ from ironic.conductor import rpcapi
+ uuid = task.node.uuid
+ rpc = rpcapi.ConductorAPI()
+ topic = rpc.get_topic_for(task.node)
+ # Need to release the lock to let the conductor take it
+ task.release_resources()
+ rpc.continue_node_clean(task.context, uuid, topic=topic)