Support multiple messages from configure workflow
This updates the workflow wrapper to use the multiple message interface. Change-Id: I4b807b0e8d13f75193e33cffab77e4df74e05b5b Partial-Bug: #1646887
This commit is contained in:
parent
165c0a0c04
commit
6d39eb5e94
|
@ -874,10 +874,10 @@ class TestConfigureBaremetalBoot(fakes.TestBaremetal):
|
|||
self.workflow = self.app.client_manager.workflow_engine
|
||||
client = self.app.client_manager.tripleoclient
|
||||
self.websocket = client.messaging_websocket()
|
||||
self.websocket.wait_for_message.return_value = {
|
||||
self.websocket.wait_for_messages.return_value = iter([{
|
||||
"status": "SUCCESS",
|
||||
"message": ""
|
||||
}
|
||||
}] * 2)
|
||||
|
||||
uuid4_patcher = mock.patch('uuid.uuid4', return_value="UUID4")
|
||||
self.mock_uuid4 = uuid4_patcher.start()
|
||||
|
|
|
@ -492,6 +492,10 @@ class TestConfigureNode(fakes.TestOvercloudNode):
|
|||
"status": "SUCCESS",
|
||||
"message": ""
|
||||
}
|
||||
self.websocket.wait_for_messages.return_value = iter([{
|
||||
"status": "SUCCESS",
|
||||
"message": ""
|
||||
}])
|
||||
|
||||
# Get the command object to test
|
||||
self.cmd = overcloud_node.ConfigureNode(self.app, None)
|
||||
|
@ -544,10 +548,10 @@ class TestConfigureNode(fakes.TestOvercloudNode):
|
|||
)
|
||||
|
||||
def test_failed_to_configure_specified_nodes(self):
|
||||
self.websocket.wait_for_message.return_value = {
|
||||
self.websocket.wait_for_messages.return_value = iter([{
|
||||
"status": "FAILED",
|
||||
"message": "Test failure."
|
||||
}
|
||||
}])
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, ['node_uuid1'], [])
|
||||
self.assertRaises(exceptions.NodeConfigurationError,
|
||||
|
|
|
@ -264,9 +264,7 @@ class TestBaremetalWorkflows(utils.TestCommand):
|
|||
|
||||
def test_configure_success(self):
|
||||
|
||||
self.websocket.wait_for_message.return_value = {
|
||||
"status": "SUCCESS",
|
||||
}
|
||||
self.websocket.wait_for_messages.return_value = self.message_success
|
||||
|
||||
baremetal.configure(self.app.client_manager, node_uuids=[],
|
||||
queue_name="QUEUE_NAME")
|
||||
|
@ -280,10 +278,7 @@ class TestBaremetalWorkflows(utils.TestCommand):
|
|||
|
||||
def test_configure_error(self):
|
||||
|
||||
self.websocket.wait_for_message.return_value = {
|
||||
"status": "FAIL",
|
||||
"message": "Failed"
|
||||
}
|
||||
self.websocket.wait_for_messages.return_value = self.message_failed
|
||||
|
||||
self.assertRaises(
|
||||
exceptions.NodeConfigurationError,
|
||||
|
|
|
@ -227,7 +227,9 @@ def configure(clients, **workflow_input):
|
|||
)
|
||||
|
||||
with ooo_client.messaging_websocket(queue_name) as ws:
|
||||
payload = ws.wait_for_message(execution.id)
|
||||
for payload in base.wait_for_messages(workflow_client, ws, execution):
|
||||
if 'message' in payload:
|
||||
print(payload['message'])
|
||||
|
||||
if payload['status'] != 'SUCCESS':
|
||||
raise exceptions.NodeConfigurationError(
|
||||
|
|
Loading…
Reference in New Issue