54 lines
2.3 KiB
YAML
54 lines
2.3 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)
|
||
|
community.docker.docker_container:
|
||
|
name: '{{ item.name }}'
|
||
|
docker_host: "{{ item.docker_host | default(lookup('env', 'DOCKER_HOST') or 'unix://var/run/docker.sock') }}"
|
||
|
cacert_path: "{{ item.cacert_path | default((lookup('env', 'DOCKER_CERT_PATH') + '/ca.pem') if lookup('env', 'DOCKER_CERT_PATH') else omit) }}"
|
||
|
cert_path: "{{ item.cert_path | default((lookup('env', 'DOCKER_CERT_PATH') + '/cert.pem') if lookup('env', 'DOCKER_CERT_PATH') else omit) }}"
|
||
|
key_path: "{{ item.key_path | default((lookup('env', 'DOCKER_CERT_PATH') + '/key.pem') if lookup('env', 'DOCKER_CERT_PATH') else omit) }}"
|
||
|
tls_verify: "{{ item.tls_verify | default(lookup('env', 'DOCKER_TLS_VERIFY')) or false }}"
|
||
|
state: absent
|
||
|
force_kill: '{{ item.force_kill | default(true) }}'
|
||
|
keep_volumes: '{{ item.keep_volumes | default(true) }}'
|
||
|
container_default_behavior: "{{ item.container_default_behavior | default('compatibility' if
|
||
|
ansible_version.full is version_compare('2.10', '>=') else omit) }}"
|
||
|
register: server
|
||
|
loop: '{{ molecule_yml.platforms }}'
|
||
|
loop_control:
|
||
|
label: '{{ item.name }}'
|
||
|
no_log: false
|
||
|
async: 7200
|
||
|
poll: 0
|
||
|
|
||
|
- name: Wait for instance(s) deletion to complete
|
||
|
ansible.builtin.async_status:
|
||
|
jid: '{{ item.ansible_job_id }}'
|
||
|
register: docker_jobs
|
||
|
until: docker_jobs.finished
|
||
|
retries: 300
|
||
|
loop: '{{ server.results }}'
|
||
|
loop_control:
|
||
|
label: '{{ item.item.name }}'
|
||
|
|
||
|
- name: Delete docker networks(s)
|
||
|
include_tasks: tasks/delete_network.yml
|
||
|
loop: '{{ molecule_yml.platforms | molecule_get_docker_networks() }}'
|
||
|
loop_control:
|
||
|
label: '{{ item.name }}'
|
||
|
no_log: false
|