12d26eceb1
* General test improvements. * Adjust tests to older docker-py versions. * docker_swarm_server_info: work around problems with older docker-py versions * Bump minimal docker-py version for options network_filters and disk_usage. * More general test improvements. * Correct usage of docker_image. * Put files into output directory. * Speed up test. * Remove old check.
63 lines
1.9 KiB
YAML
63 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)
|