Use only update/upgrade ansible queue instead
Related tripleo-common change: https://review.openstack.org/562995 To avoid race between tripleo queue and ansible queue we need to use inly ansible queue for update and upgrade Change-Id: I39b5a1a154b10683ac0de85afd6bbadc3491192a Partial-Bug: #1783798 (cherry picked from commit3b197c0991
) (cherry picked from commit782ad7375c
)
This commit is contained in:
parent
f307dd7dae
commit
94d33fc041
|
@ -118,6 +118,5 @@ class TestOvercloudUpdate(fakes.TestOvercloudUpdate):
|
|||
nodes='Compute',
|
||||
inventory_file=mock_open().read(),
|
||||
playbook='fake-playbook.yaml',
|
||||
queue_name=str(uuid.uuid4()),
|
||||
ansible_queue_name=constants.UPDATE_QUEUE
|
||||
)
|
||||
|
|
|
@ -146,5 +146,4 @@ class UpdateOvercloud(command.Command):
|
|||
clients, nodes=nodes,
|
||||
inventory_file=inventory,
|
||||
playbook=playbook,
|
||||
queue_name=str(uuid.uuid4()),
|
||||
ansible_queue_name=constants.UPDATE_QUEUE)
|
||||
|
|
|
@ -77,31 +77,21 @@ def get_config(clients, **workflow_input):
|
|||
def update_ansible(clients, **workflow_input):
|
||||
workflow_client = clients.workflow_engine
|
||||
tripleoclients = clients.tripleoclient
|
||||
queue_name = workflow_input['queue_name']
|
||||
ansible_queue = workflow_input['ansible_queue_name']
|
||||
|
||||
with tripleoclients.messaging_websocket(queue_name) as ws:
|
||||
with tripleoclients.messaging_websocket(ansible_queue) as update_ws:
|
||||
execution = base.start_workflow(
|
||||
workflow_client,
|
||||
'tripleo.package_update.v1.update_nodes',
|
||||
workflow_input=workflow_input
|
||||
)
|
||||
|
||||
with tripleoclients.messaging_websocket(ansible_queue) as update_ws:
|
||||
for payload in base.wait_for_messages(workflow_client,
|
||||
update_ws,
|
||||
execution):
|
||||
# Need to sleep a little, to let the time for the execution
|
||||
# to get the right status in between. It avoid to fall in the
|
||||
# while True loop to get messages
|
||||
time.sleep(5)
|
||||
for payload in base.wait_for_messages(workflow_client,
|
||||
update_ws,
|
||||
execution):
|
||||
if payload.get('message'):
|
||||
pprint.pprint(payload['message'].splitlines())
|
||||
|
||||
for payload in base.wait_for_messages(workflow_client, ws, execution):
|
||||
if payload.get('message'):
|
||||
print(payload)
|
||||
|
||||
if payload['status'] == 'SUCCESS':
|
||||
print('Success')
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue