def _create_update_deployment_plan(clients, workflow, **workflow_input): workflow_client = clients.workflow_engine tripleoclients = clients.tripleoclient queue_name = workflow_input['queue_name'] execution = base.start_workflow( workflow_client, workflow, workflow_input=workflow_input ) with tripleoclients.messaging_websocket(queue_name) as ws: return base.wait_for_message(workflow_client, ws, execution, _WORKFLOW_TIMEOUT)
def create_default_plan(clients, **workflow_input): workflow_client = clients.workflow_engine tripleoclients = clients.tripleoclient queue_name = workflow_input['queue_name'] execution = base.start_workflow( workflow_client, 'tripleo.plan_management.v1.create_default_deployment_plan', workflow_input=workflow_input ) with tripleoclients.messaging_websocket(queue_name) as ws: payload = base.wait_for_message(workflow_client, ws, execution, _WORKFLOW_TIMEOUT) if payload['status'] == 'SUCCESS': print("Default plan created") else: raise exceptions.WorkflowServiceError( 'Exception creating plan: {}'.format(payload['message']))
def get_overcloud_passwords(clients, **workflow_input): """Retrieves overcloud passwords from a plan via a workflow :param clients: :param workflow_input: :return: """ workflow_client = clients.workflow_engine tripleoclients = clients.tripleoclient queue_name = workflow_input['queue_name'] execution = base.start_workflow( workflow_client, 'tripleo.plan_management.v1.get_passwords', workflow_input=workflow_input ) with tripleoclients.messaging_websocket(queue_name) as ws: # Getting the passwords is a quick operation, but to allow space for # delays or heavy loads, timeout after 60 seconds. payload = base.wait_for_message(workflow_client, ws, execution, 60) assert payload['status'] == "SUCCESS" return payload['message']