Push the config container outside of heat stack update

Push the config container outside of the heat stack update
which does the noop run.
Mistral is pushing the container sooner in the workflow, moving
it outside then we make sure that the config container contains
all the latest heat output

Closes-Bug: #1738142

Change-Id: Ib101c3c65573fa75182ac81d956161ceeb0422a9
(cherry picked from commit 75aae1401b)
This commit is contained in:
Mathieu Bultel 2017-12-13 15:18:57 +01:00 committed by mathieu bultel
parent d50b19dc9f
commit d582755c28
2 changed files with 24 additions and 1 deletions

View File

@ -120,7 +120,10 @@ class UpdateOvercloud(command.Command):
ceph_ansible_playbook=ceph_ansible_playbook,
queue_name=str(uuid.uuid4()))
print("Minor update init on stack {0} complete.".format(
print("Heat stack update init on {0} complete.".format(
parsed_args.stack))
package_update.get_config(clients, container=stack_name)
print("Init minor update on stack {0} complete.".format(
parsed_args.stack))
else:
# Run ansible:

View File

@ -55,6 +55,26 @@ def update(clients, **workflow_input):
raise exceptions.DeploymentError("Heat Stack update failed.")
def get_config(clients, **workflow_input):
workflow_client = clients.workflow_engine
tripleoclients = clients.tripleoclient
with tripleoclients.messaging_websocket() as ws:
execution = base.start_workflow(
workflow_client,
'tripleo.package_update.v1.get_config',
workflow_input=workflow_input
)
for payload in base.wait_for_messages(workflow_client, ws, execution):
assert payload['status'] == "SUCCESS", pprint.pformat(payload)
if payload['status'] == 'SUCCESS':
print('Success')
else:
raise RuntimeError('Minor update failed with: {}'.format(payload))
def update_ansible(clients, **workflow_input):
workflow_client = clients.workflow_engine
tripleoclients = clients.tripleoclient