mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
3117900b1e
* Output warnings from docker daemon on container create and update. * Accept warning for blkio_weight instead of idempotency. * Value quoting. * Avoid loop variable conflict. * Add changelog. * Make one test case faster. * Add 'Docker warning: ' prefix. * Add a generalized warning reporting function.
220 lines
5 KiB
YAML
220 lines
5 KiB
YAML
---
|
|
- name: Registering container name
|
|
set_fact:
|
|
cname: "{{ cname_prefix ~ '-options' }}"
|
|
|
|
####################################################################
|
|
## published_ports: all ############################################
|
|
####################################################################
|
|
|
|
- name: published_ports -- all
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "8081"
|
|
published_ports:
|
|
- all
|
|
force_kill: yes
|
|
register: published_ports_1
|
|
|
|
- name: published_ports -- all (idempotency)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "8081"
|
|
published_ports:
|
|
- all
|
|
force_kill: yes
|
|
register: published_ports_2
|
|
|
|
- name: published_ports -- all (writing out 'all')
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "8081"
|
|
published_ports:
|
|
- "8080"
|
|
- "8081"
|
|
force_kill: yes
|
|
register: published_ports_3
|
|
|
|
- name: published_ports -- all (idempotency 2)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "8081"
|
|
published_ports:
|
|
- "8080"
|
|
- "8081"
|
|
force_kill: yes
|
|
register: published_ports_4
|
|
|
|
- name: published_ports -- all (switching back to 'all')
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "8081"
|
|
published_ports:
|
|
- all
|
|
force_kill: yes
|
|
register: published_ports_5
|
|
|
|
- name: cleanup
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: yes
|
|
diff: no
|
|
|
|
- assert:
|
|
that:
|
|
- published_ports_1 is changed
|
|
- published_ports_2 is not changed
|
|
- published_ports_3 is changed
|
|
- published_ports_4 is not changed
|
|
- published_ports_5 is changed
|
|
|
|
####################################################################
|
|
## published_ports: port range #####################################
|
|
####################################################################
|
|
|
|
- name: published_ports -- port range
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "5000-5040"
|
|
published_ports:
|
|
- "8080:8080"
|
|
- "5000-5040:5000-5040"
|
|
force_kill: yes
|
|
register: published_ports_1
|
|
|
|
- name: published_ports -- port range (idempotency)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "5000-5040"
|
|
published_ports:
|
|
- "8080:8080"
|
|
- "5000-5040:5000-5040"
|
|
force_kill: yes
|
|
register: published_ports_2
|
|
|
|
- name: published_ports -- port range (different range)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
exposed_ports:
|
|
- "8080"
|
|
- "5000-5040"
|
|
published_ports:
|
|
- "8080:8080"
|
|
- "5010-5050:5010-5050"
|
|
force_kill: yes
|
|
register: published_ports_3
|
|
|
|
- name: cleanup
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: yes
|
|
diff: no
|
|
|
|
- assert:
|
|
that:
|
|
- published_ports_1 is changed
|
|
- published_ports_2 is not changed
|
|
- published_ports_3 is changed
|
|
|
|
####################################################################
|
|
## published_ports: IPv6 addresses #################################
|
|
####################################################################
|
|
|
|
- name: published_ports -- IPv6
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
published_ports:
|
|
- "[::1]:8080:8080"
|
|
force_kill: yes
|
|
register: published_ports_1
|
|
|
|
- name: published_ports -- IPv6 (idempotency)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
published_ports:
|
|
- "[::1]:8080:8080"
|
|
force_kill: yes
|
|
register: published_ports_2
|
|
|
|
- name: published_ports -- IPv6 (different IP)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
published_ports:
|
|
- "127.0.0.1:8080:8080"
|
|
force_kill: yes
|
|
register: published_ports_3
|
|
|
|
- name: published_ports -- IPv6 (hostname)
|
|
docker_container:
|
|
image: alpine:3.8
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: started
|
|
published_ports:
|
|
- "localhost:8080:8080"
|
|
force_kill: yes
|
|
register: published_ports_4
|
|
ignore_errors: yes
|
|
|
|
- name: cleanup
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: yes
|
|
diff: no
|
|
|
|
- assert:
|
|
that:
|
|
- published_ports_1 is changed
|
|
- published_ports_2 is not changed
|
|
- published_ports_3 is changed
|
|
- published_ports_4 is failed
|