summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <mclay@redhat.com>2021-04-26 08:07:35 -0700
committerGitHub <noreply@github.com>2021-04-26 10:07:35 -0500
commitdfe3a4d345ef236cabb79d2d91ef0640ea8b3a70 (patch)
treeaf6dbb575658b7856c0c11e234dc7420d2fe588b
parent4b23ac77e13d5a5674bbaa6c62f3a8cf614e674e (diff)
downloadansible-dfe3a4d345ef236cabb79d2d91ef0640ea8b3a70.tar.gz
[stable-2.9] Fix ansible-test docker container IP detection. (#74390)
(cherry picked from commit 14ff5e213cd084480d628ec0562200b174b6fa79) Co-authored-by: Matt Clay <matt@mystile.com>
-rw-r--r--changelogs/fragments/ansible-test-docker-network-detect.yml2
-rw-r--r--test/lib/ansible_test/_internal/docker_util.py8
2 files changed, 9 insertions, 1 deletions
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 0000000000..620fdc2897
--- /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 946fa120ae..76c5a8d73b 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