From 49484b22dc552aa4d2ec11f192fda4f936d6a21f Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Sun, 16 Nov 2025 10:54:09 +0100 Subject: [PATCH] Add warning about missing normalization if ipaddress is not there on Python 2. --- changelogs/fragments/1201-docker_network.yml | 6 ++++++ plugins/modules/docker_network.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/changelogs/fragments/1201-docker_network.yml b/changelogs/fragments/1201-docker_network.yml index de54be3d..0c226873 100644 --- a/changelogs/fragments/1201-docker_network.yml +++ b/changelogs/fragments/1201-docker_network.yml @@ -1,2 +1,8 @@ bugfixes: - "docker_network - fix idempotency for IPv6 addresses and networks with Docker 29.0.0 (https://github.com/ansible-collections/community.docker/pull/1201)." +known_issues: + - "docker_network - when specifying IPv6 addresses or networks, Docker since version 29 no longer returns the orignal address/network used + when creating a network, but normalizes them. The module will try to normalize IP addresses for comparison, + but it uses the ``ipaddress`` module from the Python 3 standard library for that. When using the module with Python 2, + please install the `ipaddress backport for Python 2.x `__ + (https://github.com/ansible-collections/community.docker/pull/1203)." diff --git a/plugins/modules/docker_network.py b/plugins/modules/docker_network.py index 9c64208f..402ff1b3 100644 --- a/plugins/modules/docker_network.py +++ b/plugins/modules/docker_network.py @@ -193,6 +193,10 @@ notes: - The module does not support Docker Swarm. This means that it will not try to disconnect or reconnect services. If services are connected to the network, deleting the network will fail. When network options are changed, the network has to be deleted and recreated, so this will fail as well. + - When specifying IPv6 addresses for networks, Docker since version 29 no longer returns the orignal address used + when creating a network, but normalizes them. The module will try to normalize IP addresses for comparison, + but it uses the C(ipaddress) module from the Python 3 standard library for that. When using the module with Python 2, + please install the L(ipaddress backport for Python 2.x, https://pypi.org/project/ipaddress/). author: - "Ben Keith (@keitwb)" - "Chris Houseknecht (@chouseknecht)"