summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fontein <felix@fontein.de>2018-11-13 14:07:36 +0100
committerToshio Kuratomi <a.badger@gmail.com>2018-11-13 14:40:53 -0800
commitce9f2e6147bb046bf000fb5660f77246ef4ce272 (patch)
tree0bd0cec3255dedf736e52de8b861e2c4543b1e4d
parent476673f3e4e9e0c0fd4c189fc7eb38d31a207bfa (diff)
downloadansible-ce9f2e6147bb046bf000fb5660f77246ef4ce272.tar.gz
docker_container: fix tests and idempotency for init and shm_size (#48551)
* Fix tests: use same command if not testing command option. * Fix idempotency of init option. * Fix shm_size idempotency (it is included in inspect results from docker API version 1.22 on). * Add changelog. (cherry picked from commit b1acabcd0373264ca16d9d54003218f33a413992)
-rw-r--r--changelogs/fragments/48551-docker_container-idempotency.yml2
-rw-r--r--lib/ansible/modules/cloud/docker/docker_container.py4
-rw-r--r--test/integration/targets/docker_container/tasks/tests/options.yml138
3 files changed, 73 insertions, 71 deletions
diff --git a/changelogs/fragments/48551-docker_container-idempotency.yml b/changelogs/fragments/48551-docker_container-idempotency.yml
new file mode 100644
index 0000000000..25a93c6693
--- /dev/null
+++ b/changelogs/fragments/48551-docker_container-idempotency.yml
@@ -0,0 +1,2 @@
+bugfixes:
+- "docker_container - ``init`` and ``shm_size`` are now checked for idempotency."
diff --git a/lib/ansible/modules/cloud/docker/docker_container.py b/lib/ansible/modules/cloud/docker/docker_container.py
index b37a8a54f9..d8d3b82295 100644
--- a/lib/ansible/modules/cloud/docker/docker_container.py
+++ b/lib/ansible/modules/cloud/docker/docker_container.py
@@ -1345,6 +1345,7 @@ class Container(DockerBaseClass):
hostname=config.get('Hostname'),
user=config.get('User'),
detach=detach,
+ init=host_config.get('Init'),
interactive=config.get('OpenStdin'),
capabilities=host_config.get('CapAdd'),
cap_drop=host_config.get('CapDrop'),
@@ -1371,8 +1372,7 @@ class Container(DockerBaseClass):
expected_ports=host_config.get('PortBindings'),
read_only=host_config.get('ReadonlyRootfs'),
restart_policy=restart_policy.get('Name'),
- # Cannot test shm_size, as shm_size is not included in container inspection results.
- # shm_size=host_config.get('ShmSize'),
+ shm_size=host_config.get('ShmSize'),
security_opts=host_config.get("SecurityOpt"),
stop_signal=config.get("StopSignal"),
tmpfs=host_config.get('Tmpfs'),
diff --git a/test/integration/targets/docker_container/tasks/tests/options.yml b/test/integration/targets/docker_container/tasks/tests/options.yml
index 1c7a489f26..e5391cb1a4 100644
--- a/test/integration/targets/docker_container/tasks/tests/options.yml
+++ b/test/integration/targets/docker_container/tasks/tests/options.yml
@@ -216,7 +216,7 @@
- name: cpu_period
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_period: 90000
state: started
@@ -225,7 +225,7 @@
- name: cpu_period (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_period: 90000
state: started
@@ -260,7 +260,7 @@
- name: cpu_quota
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_quota: 150000
state: started
@@ -269,7 +269,7 @@
- name: cpu_quota (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_quota: 150000
state: started
@@ -304,7 +304,7 @@
- name: cpu_shares
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_shares: 900
state: started
@@ -313,7 +313,7 @@
- name: cpu_shares (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpu_shares: 900
state: started
@@ -348,7 +348,7 @@
- name: cpuset_cpus
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpuset_cpus: 0
state: started
@@ -357,7 +357,7 @@
- name: cpuset_cpus (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpuset_cpus: 0
state: started
@@ -395,7 +395,7 @@
- name: cpuset_mems
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpuset_mems: 0
state: started
@@ -404,7 +404,7 @@
- name: cpuset_mems (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
cpuset_mems: 0
state: started
@@ -807,7 +807,7 @@
- name: domainname
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
domainname: example.com
state: started
@@ -816,7 +816,7 @@
- name: domainname (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
domainname: example.com
state: started
@@ -1212,7 +1212,7 @@
- name: hostname
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
hostname: me.example.com
state: started
@@ -1221,7 +1221,7 @@
- name: hostname (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
hostname: me.example.com
state: started
@@ -1256,7 +1256,7 @@
- name: init
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
init: yes
state: started
@@ -1266,7 +1266,7 @@
- name: init (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
init: yes
state: started
@@ -1309,7 +1309,7 @@
- name: interactive
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
interactive: yes
state: started
@@ -1318,7 +1318,7 @@
- name: interactive (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
interactive: yes
state: started
@@ -1408,7 +1408,7 @@
- name: start helpers
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ container_name }}"
state: started
loop:
@@ -1470,7 +1470,7 @@
- name: kernel_memory
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
kernel_memory: 8M
state: started
@@ -1479,7 +1479,7 @@
- name: kernel_memory (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
kernel_memory: 8M
state: started
@@ -1581,7 +1581,7 @@
- name: start helpers
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ container_name }}"
state: started
loop:
@@ -1771,7 +1771,7 @@
- name: mac_address
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
mac_address: 92:d0:c6:0a:29:33
state: started
@@ -1780,7 +1780,7 @@
- name: mac_address (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
mac_address: 92:d0:c6:0a:29:33
state: started
@@ -1815,7 +1815,7 @@
- name: memory
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory: 64M
state: started
@@ -1824,7 +1824,7 @@
- name: memory (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory: 64M
state: started
@@ -1859,7 +1859,7 @@
- name: memory_reservation
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory_reservation: 64M
state: started
@@ -1868,7 +1868,7 @@
- name: memory_reservation (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory_reservation: 64M
state: started
@@ -1903,7 +1903,7 @@
- name: memory_swap
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
# Docker daemon does not accept memory_swap if memory is not specified
memory: 32M
@@ -1915,7 +1915,7 @@
- name: memory_swap (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
# Docker daemon does not accept memory_swap if memory is not specified
memory: 32M
@@ -1965,7 +1965,7 @@
- name: memory_swappiness
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory_swappiness: 40
state: started
@@ -1974,7 +1974,7 @@
- name: memory_swappiness (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
memory_swappiness: 40
state: started
@@ -2132,7 +2132,7 @@
- name: oom_killer
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
oom_killer: yes
state: started
@@ -2142,7 +2142,7 @@
- name: oom_killer (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
oom_killer: yes
state: started
@@ -2185,7 +2185,7 @@
- name: oom_score_adj
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
oom_score_adj: 5
state: started
@@ -2195,7 +2195,7 @@
- name: oom_score_adj (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
oom_score_adj: 5
state: started
@@ -2268,7 +2268,7 @@
- name: paused (continue)
docker_container:
image: alpine:3.8
- command: "/bin/sh -c 'sleep 1s ; yes'"
+ command: "/bin/sh -c 'sleep 10m'"
name: "{{ cname }}"
state: started
paused: no
@@ -2300,7 +2300,7 @@
- name: start helpers
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname_h1 }}"
state: started
register: pid_mode_helper
@@ -2368,7 +2368,7 @@
- name: privileged
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
privileged: yes
state: started
@@ -2377,7 +2377,7 @@
- name: privileged (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
privileged: yes
state: started
@@ -2479,7 +2479,7 @@
- name: read_only
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
read_only: yes
state: started
@@ -2488,7 +2488,7 @@
- name: read_only (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
read_only: yes
state: started
@@ -2523,7 +2523,7 @@
- name: recreate (created)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: present
stop_timeout: 1
@@ -2532,7 +2532,7 @@
- name: recreate (created, recreate)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
recreate: yes
state: present
@@ -2542,7 +2542,7 @@
- name: recreate (started)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
stop_timeout: 1
@@ -2551,7 +2551,7 @@
- name: recreate (started, recreate)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
recreate: yes
state: started
@@ -2586,7 +2586,7 @@
- name: restart
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
stop_timeout: 1
@@ -2595,7 +2595,7 @@
- name: restart (restart)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
restart: yes
state: started
@@ -2624,7 +2624,7 @@
- name: restart_policy
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
restart_policy: always
state: started
@@ -2633,7 +2633,7 @@
- name: restart_policy (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
restart_policy: always
state: started
@@ -2668,7 +2668,7 @@
- name: restart_retries
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
restart_policy: on-failure
restart_retries: 5
@@ -2678,7 +2678,7 @@
- name: restart_retries (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
restart_policy: on-failure
restart_retries: 5
@@ -2792,7 +2792,7 @@
- name: shm_size
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
shm_size: 96M
state: started
@@ -2801,7 +2801,7 @@
- name: shm_size (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
shm_size: 96M
state: started
@@ -2836,7 +2836,7 @@
- name: stop_signal
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
stop_signal: 30
state: started
@@ -2845,7 +2845,7 @@
- name: stop_signal (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
stop_signal: 30
state: started
@@ -3034,7 +3034,7 @@
- name: tty
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
tty: yes
state: started
@@ -3043,7 +3043,7 @@
- name: tty (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
tty: yes
state: started
@@ -3139,7 +3139,7 @@
- name: user
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
user: nobody
state: started
@@ -3148,7 +3148,7 @@
- name: user (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
user: nobody
state: started
@@ -3183,7 +3183,7 @@
- name: userns_mode
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
userns_mode: host
state: started
@@ -3193,7 +3193,7 @@
- name: userns_mode (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
userns_mode: host
state: started
@@ -3236,7 +3236,7 @@
- name: uts
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
uts: host
state: started
@@ -3246,7 +3246,7 @@
- name: uts (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
uts: host
state: started
@@ -3295,7 +3295,7 @@
- name: volume_driver
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
volume_driver: local
state: started
@@ -3304,7 +3304,7 @@
- name: volume_driver (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
volume_driver: local
state: started
@@ -3400,7 +3400,7 @@
- name: start helpers
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ container_name }}"
state: started
volumes:
@@ -3464,7 +3464,7 @@
- name: working_dir
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
working_dir: /tmp
state: started
@@ -3473,7 +3473,7 @@
- name: working_dir (idempotency)
docker_container:
image: alpine:3.8
- command: '/bin/sh -v -c "sleep 10m"'
+ command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
working_dir: /tmp
state: started