diff --git a/changelogs/fragments/ansible-test-docker-network-detect.yml b/changelogs/fragments/ansible-test-docker-network-detect.yml new file mode 100644 index 00000000000..620fdc28976 --- /dev/null +++ b/changelogs/fragments/ansible-test-docker-network-detect.yml @@ -0,0 +1,2 @@ +bugfixes: + - ansible-test - Fix docker container IP address detection. The ``bridge`` network is no longer assumed to be the default. diff --git a/test/lib/ansible_test/_internal/docker_util.py b/test/lib/ansible_test/_internal/docker_util.py index 946fa120aeb..76c5a8d73bb 100644 --- a/test/lib/ansible_test/_internal/docker_util.py +++ b/test/lib/ansible_test/_internal/docker_util.py @@ -106,7 +106,13 @@ def get_docker_container_ip(args, container_id): networks = network_settings.get('Networks') if networks: - network_name = get_docker_preferred_network_name(args) or 'bridge' + network_name = get_docker_preferred_network_name(args) + + if not network_name: + # Sort networks and use the first available. + # This assumes all containers will have access to the same networks. + network_name = sorted(networks.keys()).pop(0) + ipaddress = networks[network_name]['IPAddress'] else: # podman doesn't provide Networks, fall back to using IPAddress