Fix overcloud node provide

We don't seem to pass the correct arguments when
specifying nodes.

Closes-Bug: #1931674
Change-Id: Ic1fb1a8d3cf76a4cae64e38cd4d48d9182bf114e
(cherry picked from commit 8de4d4a380)
This commit is contained in:
ramishra 2021-06-11 11:07:19 +05:30 committed by Harald Jensås
parent 6912a68afb
commit fe6ed229bb
4 changed files with 20 additions and 18 deletions

View File

@ -97,7 +97,7 @@ class TestBaremetalWorkflows(fakes.FakePlaybookExecution):
), [mock.ANY])
def test_provide_success(self):
baremetal.provide(self.app.client_manager, node_uuids=[])
baremetal.provide(node_uuids=[])
def test_introspect_success(self):
baremetal.introspect(self.app.client_manager, node_uuids=[],

View File

@ -220,10 +220,13 @@ class ProvideNode(command.Command):
self.log.debug("take_action(%s)" % parsed_args)
if parsed_args.node_uuids:
baremetal.provide(self.app.client_manager,
node_uuids=parsed_args.node_uuids)
baremetal.provide(node_uuids=parsed_args.node_uuids,
verbosity=oooutils.playbook_verbosity(self))
else:
baremetal.provide_manageable_nodes(self.app.client_manager)
baremetal.provide_manageable_nodes(
self.app.client_manager,
verbosity=oooutils.playbook_verbosity(self))
class CleanNode(command.Command):
@ -268,9 +271,8 @@ class CleanNode(command.Command):
if parsed_args.provide:
if nodes:
baremetal.provide(self.app.client_manager,
node_uuids=nodes,
)
baremetal.provide(node_uuids=nodes,
verbosity=oooutils.playbook_verbosity(self))
else:
baremetal.provide_manageable_nodes(self.app.client_manager)
@ -455,9 +457,9 @@ class DiscoverNode(command.Command):
)
if parsed_args.provide:
baremetal.provide(self.app.client_manager,
node_uuids=nodes_uuids
)
baremetal.provide(
node_uuids=nodes_uuids,
verbosity=oooutils.playbook_verbosity(self))
class ExtractProvisionedNode(command.Command):

View File

@ -211,8 +211,8 @@ class IntrospectNode(command.Command):
if parsed_args.provide:
if parsed_args.node_uuids:
baremetal.provide(
self.app.client_manager,
node_uuids=parsed_args.node_uuids,
verbosity=oooutils.playbook_verbosity(self=self)
)
else:
baremetal.provide_manageable_nodes(

View File

@ -108,15 +108,15 @@ def register_or_update(clients, nodes_json, kernel_name=None,
return registered_nodes
def provide(verbosity, node_uuids):
def provide(node_uuids, verbosity=0):
"""Provide Baremetal Nodes
:param verbosity: Verbosity level
:type verbosity: Integer
:param node_uuids: List of instance UUID(s).
:type node_uuids: List
"""
:param verbosity: Verbosity level
:type verbosity: Integer
"""
with utils.TempDirs() as tmp:
utils.run_ansible_playbook(
@ -144,11 +144,11 @@ def provide_manageable_nodes(clients, verbosity=0):
"""
provide(
verbosity=verbosity,
node_uuids=[
i.uuid for i in clients.baremetal.node.list()
if i.provision_state == "manageable" and not i.maintenance
]
],
verbosity=verbosity
)