--- - name: Destroy hosts: localhost connection: local gather_facts: false no_log: "{{ not (lookup('env', 'MOLECULE_DEBUG') | bool or molecule_yml.provisioner.log|default(false) | bool) }}" tasks: - name: Destroy molecule instance(s) gce: instance_names: "{{ item.name }}" state: absent zone: "{{ item.zone }}" service_account_email: "{{ lookup('env', 'GCE_SERVICE_ACCOUNT_EMAIL') }}" credentials_file: "{{ lookup('env', 'GCE_CREDENTIALS_FILE') }}" project_id: "{{ lookup('env', 'GCE_PROJECT_ID') }}" register: server with_items: "{{ molecule_yml.platforms }}" async: 7200 poll: 0 - name: Wait for instance(s) deletion to complete async_status: jid: "{{ item.ansible_job_id }}" register: gce_jobs until: gce_jobs.finished retries: 300 with_items: "{{ server.results }}" # Mandatory configuration for Molecule to function. - name: Populate instance config set_fact: instance_conf: {} - name: Dump instance config copy: content: "{{ instance_conf | to_json | from_json | molecule_to_yaml | molecule_header }}" dest: "{{ molecule_instance_config }}" when: server.changed | bool