diff options
author | Nguyen Van Trung <trungnv@vn.fujitsu.com> | 2018-05-23 10:26:29 +0700 |
---|---|---|
committer | Nguyen Van Trung <trungnv@vn.fujitsu.com> | 2018-06-08 16:13:46 +0700 |
commit | f40f145f8205d30e2c5a898d9519ef7ed6e9ea07 (patch) | |
tree | 69828a9bd47ffe0f8bb5733f20d6a443b87ad036 /ironic/conductor | |
parent | 9f90194bebe9d9d61b71c36855a92686bba34dae (diff) | |
download | ironic-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.py | 12 |
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) |