Merge "Add an undeploy_roles workflow"

This commit is contained in:
Zuul 2019-08-21 21:16:34 +00:00 committed by Gerrit Code Review
commit 635096d394
2 changed files with 58 additions and 2 deletions

View File

@ -322,9 +322,12 @@ class UndeployInstanceAction(base.TripleOAction):
def run(self, context):
provisioner = _provisioner(context)
if isinstance(self.instance, dict):
inst = self.instance['hostname']
else:
inst = self.instance
try:
instance = provisioner.show_instance(self.instance)
instance = provisioner.show_instance(inst)
except Exception:
LOG.warning('Cannot get instance %s, assuming already deleted',
self.instance)

View File

@ -277,3 +277,56 @@ workflows:
instances: <% $.instances %>
new_instances: <% $.new_instances %>
port_map: <% $.port_map %>
undeploy_roles:
description: Undeploy provisioned=False instances in roles.
input:
- roles
- plan: overcloud
- timeout: 3600
- concurrency: 20
- queue_name: tripleo
tags:
- tripleo-common-managed
tasks:
expand_roles:
action: tripleo.baremetal_deploy.expand_roles
input:
roles: <% $.roles %>
stackname: <% $.plan %>
provisioned: False
publish:
input_instances: <% task().result.instances %>
publish-on-error:
status: FAILED
message: <% task().result %>
on-success: undeploy_instances
on-error: send_message
undeploy_instances:
workflow: tripleo.baremetal_deploy.v1.undeploy_instances
input:
instances: <% $.input_instances %>
timeout: <% $.timeout %>
queue_name: <% $.queue_name %>
publish-on-error:
status: FAILED
message: <% task().result %>
on-success: send_message
on-error: send_message
send_message:
workflow: tripleo.messaging.v1.send
input:
queue_name: <% $.queue_name %>
type: <% execution().name %>
status: <% $.get('status', 'SUCCESS') %>
message: <% $.get('message', '') %>
execution: <% execution() %>
payload:
environment: <% $.get('environment', {}) %>
instances: <% $.get('instances', {}) %>