mirror of
https://github.com/ansible-collections/community.docker.git
synced 2025-12-16 11:58:43 +00:00
* Make tests work with API version 1.42.
* Make sure anonymous volume is separated from container a bit earlier.
* Another try.
(cherry picked from commit 3a1bfc4be2)
This commit is contained in:
parent
e418fe59d8
commit
ec4c17efef
@ -2472,6 +2472,8 @@
|
||||
when:
|
||||
- kernel_memory_1 is not failed or 'kernel memory accounting disabled in this runc build' not in kernel_memory_1.msg
|
||||
- "'Docker warning: Specifying a kernel memory limit is deprecated and will be removed in a future release.' not in (kernel_memory_1.warnings | default([]))"
|
||||
# API version 1.42 seems to remove the kernel memory option completely
|
||||
- "'KernelMemory' in kernel_memory_1.container.HostConfig or docker_api_version is version('1.42', '<')"
|
||||
|
||||
####################################################################
|
||||
## kill_signal #####################################################
|
||||
|
||||
@ -12,19 +12,28 @@
|
||||
|
||||
- block:
|
||||
# Create objects to be pruned
|
||||
- docker_container:
|
||||
- name: Create container (without volume)
|
||||
docker_container:
|
||||
name: "{{ cname }}"
|
||||
image: "{{ docker_test_image_hello_world }}"
|
||||
state: present
|
||||
register: container
|
||||
- docker_network:
|
||||
- name: Create network
|
||||
docker_network:
|
||||
name: "{{ nname }}"
|
||||
state: present
|
||||
register: network
|
||||
- docker_volume:
|
||||
- name: Create named volume
|
||||
docker_volume:
|
||||
name: "{{ vname }}"
|
||||
state: present
|
||||
register: volume
|
||||
- name: Create anonymous volume
|
||||
command: docker volume create
|
||||
register: volume_anon
|
||||
|
||||
- name: List volumes
|
||||
command: docker volume list
|
||||
|
||||
# Prune objects
|
||||
- docker_prune:
|
||||
@ -36,8 +45,11 @@
|
||||
register: result
|
||||
|
||||
# Analyze result
|
||||
- debug: var=result
|
||||
- assert:
|
||||
- name: Show results
|
||||
debug:
|
||||
var: result
|
||||
- name: General checks
|
||||
assert:
|
||||
that:
|
||||
# containers
|
||||
- container.container.Id in result.containers
|
||||
@ -47,20 +59,56 @@
|
||||
# networks
|
||||
- network.network.Name in result.networks
|
||||
# volumes
|
||||
- volume.volume.Name in result.volumes
|
||||
- volume_anon.stdout 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', '>=')"
|
||||
- name: API-version specific volumes check (API version before 1.42)
|
||||
assert:
|
||||
that:
|
||||
# For API version 1.41 and before, pruning always considers all volumes
|
||||
- volume.volume.Name in result.volumes
|
||||
when: docker_api_version is version('1.42', '<')
|
||||
- name: API-version specific volumes check (API version 1.42+)
|
||||
assert:
|
||||
that:
|
||||
# For API version 1.41 and before, pruning considers only anonymous volumes,
|
||||
# so our named container is not removed
|
||||
- volume.volume.Name not in result.volumes
|
||||
when: docker_api_version is version('1.42', '>=')
|
||||
|
||||
# Test with filters
|
||||
- docker_prune:
|
||||
- name: Prune with filters
|
||||
docker_prune:
|
||||
images: yes
|
||||
images_filters:
|
||||
dangling: true
|
||||
register: result
|
||||
|
||||
- debug: var=result
|
||||
- name: Show results
|
||||
debug:
|
||||
var: result
|
||||
|
||||
- name: Prune volumes with all filter (API version 1.42+)
|
||||
when: docker_api_version is version('1.42', '>=')
|
||||
block:
|
||||
- name: Prune with filters
|
||||
docker_prune:
|
||||
volumes: yes
|
||||
volumes_filters:
|
||||
all: true
|
||||
register: result
|
||||
|
||||
- name: Show results
|
||||
debug:
|
||||
var: result
|
||||
|
||||
- name: Check results
|
||||
assert:
|
||||
that:
|
||||
- volume.volume.Name in result.volumes
|
||||
- "'volumes_space_reclaimed' in result"
|
||||
|
||||
when: docker_py_version is version('2.1.0', '>=') and docker_api_version is version('1.25', '>=')
|
||||
|
||||
|
||||
@ -65,7 +65,6 @@
|
||||
that:
|
||||
- 'output.results | type_debug == "list"'
|
||||
- 'output.results[0].Name == "test_stack"'
|
||||
- 'output.results[0].Orchestrator == "Swarm"'
|
||||
- 'output.results[0].Services == "1"'
|
||||
|
||||
always:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user