diff --git a/changelogs/fragments/65018-docker-none-errors.yml b/changelogs/fragments/65018-docker-none-errors.yml new file mode 100644 index 00000000000..821aaacbcf9 --- /dev/null +++ b/changelogs/fragments/65018-docker-none-errors.yml @@ -0,0 +1,3 @@ +bugfixes: +- "docker_container - fix network idempotence comparison error." +- "docker_network - fix idempotence comparison error." diff --git a/lib/ansible/modules/cloud/docker/docker_container.py b/lib/ansible/modules/cloud/docker/docker_container.py index f6304cdb7e3..f459db27ab5 100644 --- a/lib/ansible/modules/cloud/docker/docker_container.py +++ b/lib/ansible/modules/cloud/docker/docker_container.py @@ -2284,7 +2284,7 @@ class Container(DockerBaseClass): )) else: diff = False - network_info_ipam = network_info.get('IPAMConfig', {}) + network_info_ipam = network_info.get('IPAMConfig') or {} if network.get('ipv4_address') and network['ipv4_address'] != network_info_ipam.get('IPv4Address'): diff = True if network.get('ipv6_address') and network['ipv6_address'] != network_info_ipam.get('IPv6Address'): diff --git a/lib/ansible/modules/cloud/docker/docker_network.py b/lib/ansible/modules/cloud/docker/docker_network.py index 9dfb3aa6fe9..ee12e19ffea 100644 --- a/lib/ansible/modules/cloud/docker/docker_network.py +++ b/lib/ansible/modules/cloud/docker/docker_network.py @@ -562,6 +562,8 @@ class DockerNetworkManager(object): self.results['changed'] = True def is_container_connected(self, container_name): + if not self.existing_network: + return False return container_name in container_names_in_network(self.existing_network) def connect_containers(self):