[docker_container] Fixes idempotency checks for network_mode (#49797)

Fixes #49794
This commit is contained in:
Dave Bendit 2018-12-12 03:04:24 -06:00 committed by Toshio Kuratomi
parent f78a5f6332
commit 5a7f7f1183
3 changed files with 40 additions and 3 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- docker_container - fix ``network_mode`` idempotency if the ``container:<container-name>`` form is used (as opposed to ``container:<container-id>``) (https://github.com/ansible/ansible/issues/49794)

View file

@ -814,6 +814,7 @@ class TaskParameters(DockerBaseClass):
self.volume_binds = self._get_volume_binds(self.volumes)
self.pid_mode = self._replace_container_names(self.pid_mode)
self.ipc_mode = self._replace_container_names(self.ipc_mode)
self.network_mode = self._replace_container_names(self.network_mode)
self.log("volumes:")
self.log(self.volumes, pretty_print=True)

View file

@ -2031,20 +2031,54 @@
name: "{{ cname }}"
state: started
network_mode: none
stop_timeout: 1
force_kill: yes
register: network_mode_3
- name: network_mode (container mode setup)
docker_container:
image: alpine:3.8
command: '/bin/sh -c "sleep 10m"'
name: "{{ cname_h1 }}"
state: started
- name: network_mode (container mode)
docker_container:
image: alpine:3.8
command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
network_mode: "container:{{ cname_h1 }}"
force_kill: yes
register: network_mode_4
- name: network_mode (container mode idempotency)
docker_container:
image: alpine:3.8
command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
network_mode: "container:{{ cname_h1 }}"
register: network_mode_5
- name: cleanup
docker_container:
name: "{{ cname }}"
name: "{{ container_name }}"
state: absent
stop_timeout: 1
force_kill: yes
loop:
- "{{ cname }}"
- "{{ cname_h1 }}"
loop_control:
loop_var: container_name
diff: no
- assert:
that:
- network_mode_1 is changed
- network_mode_2 is not changed
- network_mode_3 is changed
- network_mode_4 is changed
- network_mode_5 is not changed
####################################################################
## networks, purge_networks ########################################