summaryrefslogtreecommitdiffstats
path: root/playbooks/openstack/openshift-cluster/terminate.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/openstack/openshift-cluster/terminate.yml')
-rw-r--r--playbooks/openstack/openshift-cluster/terminate.yml45
1 files changed, 12 insertions, 33 deletions
diff --git a/playbooks/openstack/openshift-cluster/terminate.yml b/playbooks/openstack/openshift-cluster/terminate.yml
index 2f05f0992..fc4ec3c88 100644
--- a/playbooks/openstack/openshift-cluster/terminate.yml
+++ b/playbooks/openstack/openshift-cluster/terminate.yml
@@ -5,39 +5,18 @@
vars_files:
- vars.yml
tasks:
- - set_fact: cluster_group=tag_env_{{ cluster_id }}
- - add_host:
- name: "{{ item }}"
- groups: oo_hosts_to_terminate
- ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}"
- ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}"
- with_items: groups[cluster_group] | default([])
-
-- hosts: oo_hosts_to_terminate
-
-- hosts: localhost
- connection: local
- gather_facts: no
- vars_files:
- - vars.yml
- tasks:
- - name: Retrieve the floating IPs
- shell: "neutron floatingip-list | awk '/{{ hostvars[item].ansible_default_ipv4.address }}/ {print $2}'"
- with_items: groups['oo_hosts_to_terminate'] | default([])
- register: floating_ips_to_delete
-
- - name: Terminate instance(s)
- nova_compute:
- name: "{{ hostvars[item].os_name }}"
- state: absent
- with_items: groups['oo_hosts_to_terminate'] | default([])
-
- - name: Delete floating IPs
- command: "neutron floatingip-delete {{ item.stdout }}"
- with_items: floating_ips_to_delete.results | default([])
-
- - name: Destroy the network
- command: "heat stack-delete {{ openstack_network_prefix }}-stack"
+ - name: Delete the OpenStack Stack
+ command: 'heat stack-delete openshift-ansible-{{ cluster_id }}-stack'
register: stack_delete_result
changed_when: stack_delete_result.rc == 0
failed_when: stack_delete_result.rc != 0 and 'could not be found' not in stack_delete_result.stdout
+
+ - name: Wait for the completion of the OpenStack Stack deletion
+ shell: 'heat stack-show openshift-ansible-{{ cluster_id }}-stack | awk ''$2 == "stack_status" {print $4}'''
+ when: stack_delete_result.changed
+ register: stack_show_result
+ until: stack_show_result.stdout != 'DELETE_IN_PROGRESS'
+ retries: 60
+ delay: 1
+ failed_when: '"Stack not found" not in stack_show_result.stderr and
+ stack_show_result.stdout != "DELETE_COMPLETE"'