mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
|
---
|
||
|
- name: Create random names
|
||
|
set_fact:
|
||
|
cname: "{{ 'ansible-container-%0x' % ((2**32) | random) }}"
|
||
|
nname: "{{ 'ansible-network-%0x' % ((2**32) | random) }}"
|
||
|
vname: "{{ 'ansible-volume-%0x' % ((2**32) | random) }}"
|
||
|
|
||
|
- block:
|
||
|
# Create objects to be pruned
|
||
|
- docker_container:
|
||
|
name: "{{ cname }}"
|
||
|
image: hello-world
|
||
|
state: present
|
||
|
register: container
|
||
|
- docker_network:
|
||
|
name: "{{ nname }}"
|
||
|
state: present
|
||
|
register: network
|
||
|
- docker_volume:
|
||
|
name: "{{ vname }}"
|
||
|
state: present
|
||
|
register: volume
|
||
|
|
||
|
# Prune objects
|
||
|
- docker_prune:
|
||
|
containers: yes
|
||
|
images: yes
|
||
|
networks: yes
|
||
|
volumes: yes
|
||
|
builder_cache: "{{ docker_py_version is version('3.3.0', '>=') }}"
|
||
|
register: result
|
||
|
|
||
|
# Analyze result
|
||
|
- debug: var=result
|
||
|
- assert:
|
||
|
that:
|
||
|
# containers
|
||
|
- container.container.Id in result.containers
|
||
|
- "'containers_space_reclaimed' in result"
|
||
|
# images
|
||
|
- "'images_space_reclaimed' in result"
|
||
|
# networks
|
||
|
- network.network.Name in result.networks
|
||
|
# volumes
|
||
|
- volume.volume.Name in result.volumes
|
||
|
- "'volumes_space_reclaimed' in result"
|
||
|
# builder_cache
|
||
|
- "'builder_cache_space_reclaimed' in result or docker_py_version is version('3.3.0', '<')"
|
||
|
- "'builder_cache_space_reclaimed' not in result or docker_py_version is version('3.3.0', '>=')"
|
||
|
|
||
|
# Test with filters
|
||
|
- docker_prune:
|
||
|
images: yes
|
||
|
images_filters:
|
||
|
dangling: true
|
||
|
register: result
|
||
|
|
||
|
- debug: var=result
|
||
|
|
||
|
when: docker_py_version is version('2.1.0', '>=') and docker_api_version is version('1.25', '>=')
|
||
|
|
||
|
- fail: msg="Too old docker / docker-py version to run docker_prune tests!"
|
||
|
when: not(docker_py_version is version('2.1.0', '>=') and docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)
|