install.fairie/home/dot_local/share/ansible/.config/molecule/gce.destroy.yml
2023-07-16 01:40:26 -04:00

46 lines
1.8 KiB
YAML

---
# yamllint disable rule:line-length
- name: Update platforms
hosts: localhost
tasks:
- name: Filtering platforms list using the group defined in the MOLECULE_GROUP environment variable
set_fact:
molecule_yml: "{{ molecule_yml | combine({'platforms': (molecule_yml.platforms | selectattr('groups', 'contains', lookup('env', 'MOLECULE_GROUP')))}) }}"
when: ansible_env.MOLECULE_GROUP is defined
- name: Destroy
hosts: localhost
connection: local
gather_facts: false
no_log: '{{ molecule_no_log }}'
tasks:
- name: Destroy molecule instance(s)
google.cloud.gcp_compute_instance:
name: '{{ item.name }}'
state: absent
zone: "{{ item.zone | default(molecule_yml.driver.region + '-b') }}"
project: "{{ molecule_yml.driver.project_id | default(lookup('env', 'GCE_PROJECT_ID')) }}"
scopes: "{{ molecule_yml.driver.scopes | default(['https://www.googleapis.com/auth/compute'], True) }}"
service_account_email: '{{ molecule_yml.driver.service_account_email | default (omit, true) }}'
service_account_file: '{{ molecule_yml.driver.service_account_file | default (omit, true) }}'
auth_kind: '{{ molecule_yml.driver.auth_kind | default(omit, true) }}'
register: async_results
loop: '{{ molecule_yml.platforms }}'
async: 7200
poll: 0
notify:
- Wipe out instance config
- Dump instance config
- name: Wait for instance(s) deletion to complete
ansible.builtin.async_status:
jid: '{{ item.ansible_job_id }}'
register: server
until: server.finished
retries: 300
delay: 10
loop: '{{ async_results.results }}'
handlers:
- name: Import main handler tasks
ansible.builtin.import_tasks: handlers/main.yml