From b05b5b9347c8c19e78e36d8fe05af508c5383b20 Mon Sep 17 00:00:00 2001 From: Konrad Klimaszewski Date: Mon, 3 Apr 2017 21:41:45 +0200 Subject: [PATCH] Properly handle Docker image comparison for published_ports defined as IP::PORT - Published port defined as IP::PORT where parsed in expected.parameters as 0.0.0.0::PORT leading to changed==True on every playbook run. (cherry picked from commit 64f63a3cac3e5378c6fe62dc4f835de0eb7647bc) --- lib/ansible/modules/cloud/docker/docker_container.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/docker/docker_container.py b/lib/ansible/modules/cloud/docker/docker_container.py index 091cca487db..d3eee89e05a 100644 --- a/lib/ansible/modules/cloud/docker/docker_container.py +++ b/lib/ansible/modules/cloud/docker/docker_container.py @@ -1504,7 +1504,10 @@ class Container(DockerBaseClass): if isinstance(container_port, int): container_port = "%s/tcp" % container_port if len(config) == 1: - expected_bound_ports[container_port] = [{'HostIp': "0.0.0.0", 'HostPort': ""}] + if isinstance(config[0], int): + expected_bound_ports[container_port] = [{'HostIp': "0.0.0.0", 'HostPort': config[0]}] + else: + expected_bound_ports[container_port] = [{'HostIp': config[0], 'HostPort': ""}] elif isinstance(config[0], tuple): expected_bound_ports[container_port] = [] for host_ip, host_port in config: