Use FQCNs. (#1180)

This commit is contained in:
Felix Fontein
2025-10-25 10:12:21 +02:00
committed by GitHub
parent be000755fc
commit b24bce77b6
196 changed files with 3289 additions and 3289 deletions
@@ -9,26 +9,26 @@
####################################################################
- name: List inspection results for all docker networks
docker_host_info:
community.docker.docker_host_info:
networks: true
verbose_output: true
register: all_networks
- name: Show inspection results for all docker networks
debug:
ansible.builtin.debug:
var: all_networks.networks
- name: Create random name prefix
set_fact:
ansible.builtin.set_fact:
name_prefix: "{{ 'ansible-docker-test-%0x' % ((2**32) | random) }}"
cnames: []
dnetworks: []
- debug:
- ansible.builtin.debug:
msg: "Using name prefix {{ name_prefix }}"
- block:
- include_tasks: run-test.yml
- ansible.builtin.include_tasks: run-test.yml
with_fileglob:
- "tests/*.yml"
loop_control:
@@ -36,13 +36,13 @@
always:
- name: "Make sure all containers are removed"
docker_container:
community.docker.docker_container:
name: "{{ item }}"
state: absent
force_kill: true
loop: "{{ cnames }}"
- name: "Make sure all networks are removed"
docker_network:
community.docker.docker_network:
name: "{{ item }}"
state: absent
force: true
@@ -50,5 +50,5 @@
when: docker_api_version is version('1.25', '>=') # FIXME: find out API version!
- fail: msg="Too old docker / docker-py version to run docker_network tests!"
- ansible.builtin.fail: msg="Too old docker / docker-py version to run docker_network tests!"
when: not(docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)
@@ -4,4 +4,4 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: "Loading tasks from {{ test_name }}"
include_tasks: "{{ test_name }}"
ansible.builtin.include_tasks: "{{ test_name }}"
@@ -4,19 +4,19 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering container and network names
set_fact:
ansible.builtin.set_fact:
cname_1: "{{ name_prefix ~ '-container-1' }}"
cname_2: "{{ name_prefix ~ '-container-2' }}"
cname_3: "{{ name_prefix ~ '-container-3' }}"
nname_1: "{{ name_prefix ~ '-network-1' }}"
nname_2: "{{ name_prefix ~ '-network-2' }}"
- name: Registering container and network names
set_fact:
ansible.builtin.set_fact:
cnames: "{{ cnames + [cname_1, cname_2, cname_3] }}"
dnetworks: "{{ dnetworks + [nname_1, nname_2] }}"
- name: Create containers
docker_container:
community.docker.docker_container:
name: "{{ container_name }}"
image: "{{ docker_test_image_alpine }}"
command: /bin/sleep 10m
@@ -31,13 +31,13 @@
####################################################################
- name: Create network
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
register: networks_1
- name: Connect network to containers 1
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -45,7 +45,7 @@
register: networks_2
- name: Connect network to containers 1 (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -53,7 +53,7 @@
register: networks_2_idem
- name: Connect network to containers 1 and 2
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -62,7 +62,7 @@
register: networks_3
- name: Connect network to containers 1 and 2 (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -71,7 +71,7 @@
register: networks_3_idem
- name: Connect network to container 3
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -80,7 +80,7 @@
register: networks_4
- name: Connect network to container 3 (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -89,7 +89,7 @@
register: networks_4_idem
- name: Disconnect network from container 1
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -98,7 +98,7 @@
register: networks_5
- name: Disconnect network from container 1 (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
connected:
@@ -107,11 +107,11 @@
register: networks_5_idem
- name: Cleanup
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
- assert:
- ansible.builtin.assert:
that:
- networks_1 is changed
- networks_2 is changed
@@ -126,7 +126,7 @@
####################################################################
- name: Delete containers
docker_container:
community.docker.docker_container:
name: "{{ container_name }}"
state: absent
force_kill: true
@@ -4,21 +4,21 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering network names
set_fact:
ansible.builtin.set_fact:
nname_ipam_0: "{{ name_prefix ~ '-network-ipam-0' }}"
nname_ipam_1: "{{ name_prefix ~ '-network-ipam-1' }}"
nname_ipam_2: "{{ name_prefix ~ '-network-ipam-2' }}"
nname_ipam_3: "{{ name_prefix ~ '-network-ipam-3' }}"
- name: Registering network names
set_fact:
ansible.builtin.set_fact:
dnetworks: "{{ dnetworks + [nname_ipam_0, nname_ipam_1, nname_ipam_2, nname_ipam_3] }}"
#################### IPv4 IPAM config ####################
- name: Create network with custom IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_1 }}"
ipam_config:
- subnet: 10.25.120.0/24
@@ -29,12 +29,12 @@
host2: 10.25.120.4
register: network
- assert:
- ansible.builtin.assert:
that:
- network is changed
- name: Create network with custom IPAM config (idempotence)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_1 }}"
ipam_config:
- subnet: 10.25.120.0/24
@@ -45,12 +45,12 @@
host2: 10.25.120.4
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Change of network created with custom IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_1 }}"
ipam_config:
- subnet: 10.25.121.0/24
@@ -61,7 +61,7 @@
register: network
diff: true
- assert:
- ansible.builtin.assert:
that:
- network is changed
- network.diff.differences | length == 4
@@ -71,18 +71,18 @@
- '"ipam_config[0].aux_addresses" in network.diff.differences'
- name: Remove gateway and iprange of network with custom IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_1 }}"
ipam_config:
- subnet: 10.25.121.0/24
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Cleanup network with custom IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_1 }}"
state: absent
@@ -90,31 +90,31 @@
#################### IPv6 IPAM config ####################
- name: Create network with IPv6 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_2 }}"
enable_ipv6: true
ipam_config:
- subnet: fdd1:ac8c:0557:7ce0::/64
register: network
- assert:
- ansible.builtin.assert:
that:
- network is changed
- name: Create network with IPv6 IPAM config (idempotence)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_2 }}"
enable_ipv6: true
ipam_config:
- subnet: fdd1:ac8c:0557:7ce0::/64
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Change subnet of network with IPv6 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_2 }}"
enable_ipv6: true
ipam_config:
@@ -122,14 +122,14 @@
register: network
diff: true
- assert:
- ansible.builtin.assert:
that:
- network is changed
- network.diff.differences | length == 1
- network.diff.differences[0] == "ipam_config[0].subnet"
- name: Change subnet of network with IPv6 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_2 }}"
enable_ipv6: true
ipam_config:
@@ -137,13 +137,13 @@
register: network
ignore_errors: true
- assert:
- ansible.builtin.assert:
that:
- network is failed
- "network.msg == '\"fdd1:ac8c:0557:7ce1::\" is not a valid CIDR'"
- name: Cleanup network with IPv6 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_2 }}"
state: absent
@@ -151,7 +151,7 @@
#################### IPv4 and IPv6 network ####################
- name: Create network with IPv6 and custom IPv4 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
enable_ipv6: true
ipam_config:
@@ -159,12 +159,12 @@
- subnet: fdd1:ac8c:0557:7ce2::/64
register: network
- assert:
- ansible.builtin.assert:
that:
- network is changed
- name: Change subnet order of network with IPv6 and custom IPv4 IPAM config (idempotence)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
enable_ipv6: true
ipam_config:
@@ -172,12 +172,12 @@
- subnet: 10.26.120.0/24
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Remove IPv6 from network with custom IPv4 and IPv6 IPAM config (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
enable_ipv6: false
ipam_config:
@@ -185,14 +185,14 @@
register: network
diff: true
- assert:
- ansible.builtin.assert:
that:
- network is changed
- network.diff.differences | length == 1
- network.diff.differences[0] == "enable_ipv6"
- name: Cleanup network with IPv6 and custom IPv4 IPAM config
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
state: absent
@@ -201,7 +201,7 @@
- block:
- name: Create network with two IPv4 IPAM configs
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
driver: "macvlan"
driver_options:
@@ -211,12 +211,12 @@
- subnet: 10.26.121.0/24
register: network
- assert:
- ansible.builtin.assert:
that:
- network is changed
- name: Create network with two IPv4 IPAM configs (idempotence)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
driver: "macvlan"
driver_options:
@@ -226,12 +226,12 @@
- subnet: 10.26.120.0/24
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Create network with two IPv4 IPAM configs (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
driver: "macvlan"
driver_options:
@@ -242,13 +242,13 @@
register: network
diff: true
- assert:
- ansible.builtin.assert:
that:
- network is changed
- network.diff.differences | length == 1
- name: Create network with one IPv4 IPAM config (no change)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
driver: "macvlan"
driver_options:
@@ -257,12 +257,12 @@
- subnet: 10.26.122.0/24
register: network
- assert:
- ansible.builtin.assert:
that:
- network is not changed
- name: Cleanup network
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
state: absent
@@ -272,7 +272,7 @@
#################### IPAM driver options ####################
- name: Create network with IPAM driver options
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
ipam_driver: default
ipam_driver_options:
@@ -280,7 +280,7 @@
register: network_1
ignore_errors: true
- name: Create network with IPAM driver options (idempotence)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
ipam_driver: default
ipam_driver_options:
@@ -289,7 +289,7 @@
register: network_2
ignore_errors: true
- name: Create network with IPAM driver options (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
ipam_driver: default
ipam_driver_options:
@@ -298,11 +298,11 @@
register: network_3
ignore_errors: true
- name: Cleanup network
docker_network:
community.docker.docker_network:
name: "{{ nname_ipam_3 }}"
state: absent
- assert:
- ansible.builtin.assert:
that:
- network_1 is changed
- network_2 is not changed
@@ -4,10 +4,10 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering network name
set_fact:
ansible.builtin.set_fact:
nname_1: "{{ name_prefix ~ '-network-1' }}"
- name: Registering network name
set_fact:
ansible.builtin.set_fact:
dnetworks: "{{ dnetworks + [nname_1] }}"
####################################################################
@@ -15,30 +15,30 @@
####################################################################
- name: internal
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
internal: true
register: internal_1
- name: internal (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
internal: true
register: internal_2
- name: internal (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
internal: false
register: internal_3
- name: cleanup
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- internal_1 is changed
- internal_2 is not changed
@@ -49,47 +49,47 @@
####################################################################
- name: driver_options
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver_options:
com.docker.network.bridge.enable_icc: 'false'
register: driver_options_1
- name: driver_options (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver_options:
com.docker.network.bridge.enable_icc: 'false'
register: driver_options_2
- name: driver_options (idempotency with string translation)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver_options:
com.docker.network.bridge.enable_icc: false
register: driver_options_3
- name: driver_options (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver_options:
com.docker.network.bridge.enable_icc: 'true'
register: driver_options_4
- name: driver_options (idempotency with string translation)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver_options:
com.docker.network.bridge.enable_icc: true
register: driver_options_5
- name: cleanup
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- driver_options_1 is changed
- driver_options_2 is not changed
@@ -103,40 +103,40 @@
- block:
- name: scope
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: bridge
scope: local
register: scope_1
- name: scope (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: bridge
scope: local
register: scope_2
- name: swarm
docker_swarm:
community.docker.docker_swarm:
state: present
advertise_addr: "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"
# Driver change alongside scope is intentional - bridge doesn't appear to support anything but local, and overlay can't downgrade to local. Additionally, overlay reports as swarm for swarm OR global, so no change is reported in that case.
# Test output indicates that the scope is altered, at least, so manual inspection will be required to verify this going forward, unless we come up with a test driver that supports multiple scopes.
- name: scope (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
scope: swarm
register: scope_3
- name: cleanup network
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- scope_1 is changed
- scope_2 is not changed
@@ -144,7 +144,7 @@
always:
- name: cleanup swarm
docker_swarm:
community.docker.docker_swarm:
state: absent
force: true
@@ -153,33 +153,33 @@
####################################################################
- name: attachable
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
attachable: true
register: attachable_1
ignore_errors: true
- name: attachable (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
attachable: true
register: attachable_2
ignore_errors: true
- name: attachable (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
attachable: false
register: attachable_3
ignore_errors: true
- name: cleanup
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- attachable_1 is changed
- attachable_2 is not changed
@@ -190,7 +190,7 @@
####################################################################
- name: labels
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
labels:
ansible.test.1: hello
@@ -198,7 +198,7 @@
register: labels_1
- name: labels (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
labels:
ansible.test.2: world
@@ -206,14 +206,14 @@
register: labels_2
- name: labels (less labels)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
labels:
ansible.test.1: hello
register: labels_3
- name: labels (more labels)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
labels:
ansible.test.1: hello
@@ -221,12 +221,12 @@
register: labels_4
- name: cleanup
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- labels_1 is changed
- labels_2 is not changed
@@ -4,16 +4,16 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering network name
set_fact:
ansible.builtin.set_fact:
nname_1: "{{ name_prefix ~ '-network-1' }}"
- name: Registering network name
set_fact:
ansible.builtin.set_fact:
dnetworks: "{{ dnetworks + [nname_1] }}"
- block:
# Overlay networks require swarm initialization before they'll work
- name: swarm
docker_swarm:
community.docker.docker_swarm:
state: present
advertise_addr: "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"
@@ -22,7 +22,7 @@
####################################################################
- name: overlay
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
driver_options:
@@ -30,7 +30,7 @@
register: overlay_1
- name: overlay (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
driver_options:
@@ -38,18 +38,18 @@
register: overlay_2
- name: overlay (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: bridge
register: overlay_3
- name: cleanup network
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- overlay_1 is changed
- overlay_2 is not changed
@@ -60,38 +60,38 @@
####################################################################
- name: cleanup default swarm ingress network
docker_network:
community.docker.docker_network:
name: ingress
state: absent
- name: ingress
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: true
register: ingress_1
- name: ingress (idempotency)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: true
register: ingress_2
- name: ingress (change)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: false
register: ingress_3
- name: cleanup network
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
- ansible.builtin.assert:
that:
- ingress_1 is changed
- ingress_2 is not changed
@@ -99,6 +99,6 @@
always:
- name: cleanup swarm
docker_swarm:
community.docker.docker_swarm:
state: absent
force: true
@@ -4,29 +4,29 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering container and network names
set_fact:
ansible.builtin.set_fact:
nname_1: "{{ name_prefix ~ '-network-foo' }}"
nname_2: "{{ name_prefix ~ '-network-foobar' }}"
- name: Registering container and network names
set_fact:
ansible.builtin.set_fact:
dnetworks: "{{ dnetworks + [nname_1, nname_2] }}"
####################################################################
- name: Create network (superstring)
docker_network:
community.docker.docker_network:
name: "{{ nname_2 }}"
state: present
register: networks_1
- name: Create network (substring)
docker_network:
community.docker.docker_network:
name: "{{ nname_1 }}"
state: present
register: networks_2
- name: Cleanup
docker_network:
community.docker.docker_network:
name: "{{ network_name }}"
state: absent
loop:
@@ -35,7 +35,7 @@
loop_control:
loop_var: network_name
- assert:
- ansible.builtin.assert:
that:
- networks_1 is changed
- networks_2 is changed