mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Backport of https://github.com/ansible-collections/community.docker/pull/88 to stable-1. (#1982)
This commit is contained in:
parent
1e1a843ff3
commit
a22113c3c2
3 changed files with 28 additions and 4 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- "docker_container - fix healthcheck disabling idempotency issue with strict comparison (https://github.com/ansible-collections/community.docker/issues/85)."
|
|
@ -2293,6 +2293,12 @@ class Container(DockerBaseClass):
|
||||||
match = self._compare(getattr(self.parameters, key), value, compare)
|
match = self._compare(getattr(self.parameters, key), value, compare)
|
||||||
|
|
||||||
if not match:
|
if not match:
|
||||||
|
if key == 'expected_healthcheck' and config_mapping['disable_healthcheck'] and self.parameters.disable_healthcheck:
|
||||||
|
# If the healthcheck is disabled (both in parameters and for the current container), and the user
|
||||||
|
# requested strict comparison for healthcheck, the comparison will fail. That's why we ignore the
|
||||||
|
# expected_healthcheck comparison in this case.
|
||||||
|
continue
|
||||||
|
|
||||||
# no match. record the differences
|
# no match. record the differences
|
||||||
p = getattr(self.parameters, key)
|
p = getattr(self.parameters, key)
|
||||||
c = value
|
c = value
|
||||||
|
|
|
@ -1663,6 +1663,21 @@
|
||||||
register: healthcheck_6
|
register: healthcheck_6
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: healthcheck (disabled, idempotency, strict)
|
||||||
|
docker_container:
|
||||||
|
image: "{{ docker_test_image_alpine }}"
|
||||||
|
command: '/bin/sh -c "sleep 10m"'
|
||||||
|
name: "{{ cname }}"
|
||||||
|
state: started
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
- NONE
|
||||||
|
force_kill: yes
|
||||||
|
comparisons:
|
||||||
|
'*': strict
|
||||||
|
register: healthcheck_7
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: healthcheck (string in healthcheck test, changed)
|
- name: healthcheck (string in healthcheck test, changed)
|
||||||
docker_container:
|
docker_container:
|
||||||
image: "{{ docker_test_image_alpine }}"
|
image: "{{ docker_test_image_alpine }}"
|
||||||
|
@ -1672,7 +1687,7 @@
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "sleep 1"
|
test: "sleep 1"
|
||||||
force_kill: yes
|
force_kill: yes
|
||||||
register: healthcheck_7
|
register: healthcheck_8
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: healthcheck (string in healthcheck test, idempotency)
|
- name: healthcheck (string in healthcheck test, idempotency)
|
||||||
|
@ -1684,7 +1699,7 @@
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "sleep 1"
|
test: "sleep 1"
|
||||||
force_kill: yes
|
force_kill: yes
|
||||||
register: healthcheck_8
|
register: healthcheck_9
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: cleanup
|
- name: cleanup
|
||||||
|
@ -1702,8 +1717,9 @@
|
||||||
- healthcheck_4 is not changed
|
- healthcheck_4 is not changed
|
||||||
- healthcheck_5 is changed
|
- healthcheck_5 is changed
|
||||||
- healthcheck_6 is not changed
|
- healthcheck_6 is not changed
|
||||||
- healthcheck_7 is changed
|
- healthcheck_7 is not changed
|
||||||
- healthcheck_8 is not changed
|
- healthcheck_8 is changed
|
||||||
|
- healthcheck_9 is not changed
|
||||||
when: docker_py_version is version('2.0.0', '>=')
|
when: docker_py_version is version('2.0.0', '>=')
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
|
|
Loading…
Reference in a new issue