mirror of
https://github.com/ansible-collections/community.docker.git
synced 2025-12-17 04:18:42 +00:00
CI: Make tests work with Docker API version 1.42 (#576)
* Make tests work with API version 1.42. * Make sure anonymous volume is separated from container a bit earlier. * Another try.
This commit is contained in:
parent
421bae419d
commit
3a1bfc4be2
@ -2743,6 +2743,8 @@
|
|||||||
when:
|
when:
|
||||||
- kernel_memory_1 is not failed or 'kernel memory accounting disabled in this runc build' not in kernel_memory_1.msg
|
- 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([]))"
|
- "'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 #####################################################
|
## kill_signal #####################################################
|
||||||
|
|||||||
@ -16,19 +16,28 @@
|
|||||||
|
|
||||||
- block:
|
- block:
|
||||||
# Create objects to be pruned
|
# Create objects to be pruned
|
||||||
- docker_container:
|
- name: Create container (without volume)
|
||||||
|
docker_container:
|
||||||
name: "{{ cname }}"
|
name: "{{ cname }}"
|
||||||
image: "{{ docker_test_image_hello_world }}"
|
image: "{{ docker_test_image_hello_world }}"
|
||||||
state: present
|
state: present
|
||||||
register: container
|
register: container
|
||||||
- docker_network:
|
- name: Create network
|
||||||
|
docker_network:
|
||||||
name: "{{ nname }}"
|
name: "{{ nname }}"
|
||||||
state: present
|
state: present
|
||||||
register: network
|
register: network
|
||||||
- docker_volume:
|
- name: Create named volume
|
||||||
|
docker_volume:
|
||||||
name: "{{ vname }}"
|
name: "{{ vname }}"
|
||||||
state: present
|
state: present
|
||||||
register: volume
|
register: volume
|
||||||
|
- name: Create anonymous volume
|
||||||
|
command: docker volume create
|
||||||
|
register: volume_anon
|
||||||
|
|
||||||
|
- name: List volumes
|
||||||
|
command: docker volume list
|
||||||
|
|
||||||
# Prune objects
|
# Prune objects
|
||||||
- docker_prune:
|
- docker_prune:
|
||||||
@ -40,8 +49,11 @@
|
|||||||
register: result
|
register: result
|
||||||
|
|
||||||
# Analyze result
|
# Analyze result
|
||||||
- debug: var=result
|
- name: Show results
|
||||||
- assert:
|
debug:
|
||||||
|
var: result
|
||||||
|
- name: General checks
|
||||||
|
assert:
|
||||||
that:
|
that:
|
||||||
# containers
|
# containers
|
||||||
- container.container.Id in result.containers
|
- container.container.Id in result.containers
|
||||||
@ -51,19 +63,55 @@
|
|||||||
# networks
|
# networks
|
||||||
- network.network.Name in result.networks
|
- network.network.Name in result.networks
|
||||||
# volumes
|
# volumes
|
||||||
- volume.volume.Name in result.volumes
|
- volume_anon.stdout in result.volumes
|
||||||
- "'volumes_space_reclaimed' in result"
|
- "'volumes_space_reclaimed' in result"
|
||||||
# builder_cache
|
# builder_cache
|
||||||
- "'builder_cache_space_reclaimed' in result"
|
- "'builder_cache_space_reclaimed' in result"
|
||||||
|
- 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
|
# Test with filters
|
||||||
- docker_prune:
|
- name: Prune with filters
|
||||||
|
docker_prune:
|
||||||
images: yes
|
images: yes
|
||||||
images_filters:
|
images_filters:
|
||||||
dangling: true
|
dangling: true
|
||||||
register: result
|
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_api_version is version('1.25', '>=')
|
when: docker_api_version is version('1.25', '>=')
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,6 @@
|
|||||||
that:
|
that:
|
||||||
- 'output.results | type_debug == "list"'
|
- 'output.results | type_debug == "list"'
|
||||||
- 'output.results[0].Name == "test_stack"'
|
- 'output.results[0].Name == "test_stack"'
|
||||||
- 'output.results[0].Orchestrator == "Swarm"'
|
|
||||||
- 'output.results[0].Services == "1"'
|
- 'output.results[0].Services == "1"'
|
||||||
|
|
||||||
always:
|
always:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user