--- # Copyright (c) Ansible Project # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later - name: Registering container name ansible.builtin.set_fact: cname: "{{ cname_prefix ~ '-comparisons' }}" - name: Registering container name ansible.builtin.set_fact: cnames: "{{ cnames + [cname] }}" #################################################################### ## value ########################################################### #################################################################### - name: value community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.com register: value_1 - name: value (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.org force_kill: true comparisons: hostname: ignore register: value_2 - name: value (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.org force_kill: true comparisons: hostname: strict register: value_3 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - value_1 is changed - value_2 is not changed - value_3 is changed #################################################################### ## list ############################################################ #################################################################### - name: list community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started dns_servers: - 1.1.1.1 - 8.8.8.8 register: list_1 - name: list (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started dns_servers: - 9.9.9.9 force_kill: true comparisons: dns_servers: ignore register: list_2 - name: list (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started dns_servers: - 9.9.9.9 force_kill: true comparisons: dns_servers: strict register: list_3 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - list_1 is changed - list_2 is not changed - list_3 is changed #################################################################### ## set ############################################################# #################################################################### - name: set community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started groups: - "1010" - "1011" register: set_1 - name: set (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started groups: - "1010" - "1011" - "1012" force_kill: true comparisons: groups: ignore register: set_2 - name: set (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started groups: - "1010" - "1011" - "1012" force_kill: true comparisons: groups: allow_more_present register: set_3 - name: set (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started groups: - "1010" - "1012" force_kill: true comparisons: groups: allow_more_present register: set_4 - name: set (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started groups: - "1010" - "1012" force_kill: true comparisons: groups: strict register: set_5 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - set_1 is changed - set_2 is not changed - set_3 is changed - set_4 is not changed - set_5 is changed #################################################################### ## set(dict) ####################################################### #################################################################### - name: set(dict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started devices: - "/dev/random:/dev/virt-random:rwm" - "/dev/urandom:/dev/virt-urandom:rwm" register: set_dict_1 - name: set(dict) (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started devices: - "/dev/random:/dev/virt-random:rwm" - "/dev/urandom:/dev/virt-urandom:rwm" - "/dev/null:/dev/virt-null:rwm" force_kill: true comparisons: devices: ignore register: set_dict_2 - name: set(dict) (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started devices: - "/dev/random:/dev/virt-random:rwm" - "/dev/urandom:/dev/virt-urandom:rwm" - "/dev/null:/dev/virt-null:rwm" force_kill: true comparisons: devices: allow_more_present register: set_dict_3 - name: set(dict) (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started devices: - "/dev/random:/dev/virt-random:rwm" - "/dev/null:/dev/virt-null:rwm" force_kill: true comparisons: devices: allow_more_present register: set_dict_4 - name: set(dict) (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started devices: - "/dev/random:/dev/virt-random:rwm" - "/dev/null:/dev/virt-null:rwm" force_kill: true comparisons: devices: strict register: set_dict_5 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - set_dict_1 is changed - set_dict_2 is not changed - set_dict_3 is changed - set_dict_4 is not changed - set_dict_5 is changed #################################################################### ## dict ############################################################ #################################################################### - name: dict community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started labels: ansible.test.1: hello ansible.test.2: world register: dict_1 - name: dict (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started labels: ansible.test.1: hello ansible.test.2: world ansible.test.3: ansible force_kill: true comparisons: labels: ignore register: dict_2 - name: dict (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started labels: ansible.test.1: hello ansible.test.2: world ansible.test.3: ansible force_kill: true comparisons: labels: allow_more_present register: dict_3 - name: dict (change, allow_more_present) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started labels: ansible.test.1: hello ansible.test.3: ansible force_kill: true comparisons: labels: allow_more_present register: dict_4 - name: dict (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started labels: ansible.test.1: hello ansible.test.3: ansible force_kill: true comparisons: labels: strict register: dict_5 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - dict_1 is changed - dict_2 is not changed - dict_3 is changed - dict_4 is not changed - dict_5 is changed #################################################################### ## wildcard ######################################################## #################################################################### - name: Pull {{ docker_test_image_hello_world }} image to make sure wildcard_2 test succeeds # If the image isn't there, it will pull it and return 'changed'. community.docker.docker_image_pull: name: "{{ docker_test_image_hello_world }}" - name: wildcard community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.com stop_timeout: 1 labels: ansible.test.1: hello ansible.test.2: world ansible.test.3: ansible register: wildcard_1 - name: wildcard (change, ignore) community.docker.docker_container: image: "{{ docker_test_image_hello_world }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.org stop_timeout: 2 labels: ansible.test.1: hello ansible.test.4: ignore force_kill: true comparisons: '*': ignore register: wildcard_2 - name: wildcard (change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.org stop_timeout: 1 labels: ansible.test.1: hello ansible.test.2: world ansible.test.3: ansible force_kill: true comparisons: '*': strict register: wildcard_3 - name: wildcard (no change, strict) community.docker.docker_container: image: "{{ docker_test_image_alpine }}" command: '/bin/sh -c "sleep 10m"' name: "{{ cname }}" state: started hostname: example.org stop_timeout: 1 labels: ansible.test.1: hello ansible.test.2: world ansible.test.3: ansible force_kill: true comparisons: '*': strict register: wildcard_4 - name: cleanup community.docker.docker_container: name: "{{ cname }}" state: absent force_kill: true diff: false - ansible.builtin.assert: that: - wildcard_1 is changed - wildcard_2 is not changed - wildcard_3 is changed - wildcard_4 is not changed