Download raw body.
py3-netaddr-1.0.0 breaks ansible.utils.ipaddr('public')
Oof, l'll drop back to 0.10.1 for now, if Ansible uses this I bet other
things do too - it had only been marked as deprecated for a few weeks.
sorry I missed that.
--
Sent from a phone, apologies for poor formatting.
On 13 February 2024 13:10:21 Florian Obser <florian@openbsd.org> wrote:
> thusly:
>
> An exception occurred during task execution. To see the full traceback, use
> -vvv. The error was: AttributeError: 'IPAddress' object has no attribute
> 'is_private'
>
> See also: https://github.com/ansible-collections/ansible.utils/issues/331
>
> This fixes it for me for now, but I didn't have the time to give it both
> buttocks, so pretty much half-arsed.
>
> diff --git sysutils/ansible/Makefile sysutils/ansible/Makefile
> index 25f922d3ab4..64da78d9e52 100644
> --- sysutils/ansible/Makefile
> +++ sysutils/ansible/Makefile
> @@ -1,6 +1,7 @@
> COMMENT = radically simple IT automation
>
> MODPY_EGG_VERSION = 9.2.0
> +REVISION = 0
> DISTNAME = ansible-${MODPY_EGG_VERSION}
>
> CATEGORIES = sysutils
> diff --git
> sysutils/ansible/patches/patch-ansible_collections_ansible_utils_plugins_plugin_utils_base_ipaddr_utils_py
> sysutils/ansible/patches/patch-ansible_collections_ansible_utils_plugins_plugin_utils_base_ipaddr_utils_py
> new file mode 100644
> index 00000000000..77756e1aa94
> --- /dev/null
> +++
> sysutils/ansible/patches/patch-ansible_collections_ansible_utils_plugins_plugin_utils_base_ipaddr_utils_py
> @@ -0,0 +1,22 @@
> +'IPAddress' object has no attribute 'is_private' in netaddr >= 1.0.0
> +Index:
> ansible_collections/ansible/utils/plugins/plugin_utils/base/ipaddr_utils.py
> +---
> ansible_collections/ansible/utils/plugins/plugin_utils/base/ipaddr_utils.py.orig
> ++++
> ansible_collections/ansible/utils/plugins/plugin_utils/base/ipaddr_utils.py
> +@@ -289,7 +289,7 @@ def _previous_usable_query(v, vtype):
> +
> +
> + def _private_query(v, value):
> +- if v.is_private():
> ++ if not v.is_global():
> + return value
> +
> +
> +@@ -298,7 +298,7 @@ def _public_query(v, value):
> + if all(
> + [
> + v_ip.is_unicast(),
> +- not v_ip.is_private(),
> ++ v_ip.is_global(),
> + not v_ip.is_loopback(),
> + not v_ip.is_netmask(),
> + not v_ip.is_hostmask(),
>
> --
> In my defence, I have been left unsupervised.
py3-netaddr-1.0.0 breaks ansible.utils.ipaddr('public')