From 4e8356f7ae00e55ea7554b9c817141035e40826b Mon Sep 17 00:00:00 2001 From: Nathaniel Case Date: Wed, 3 Feb 2021 17:33:16 -0500 Subject: Remove reliance on netcommon's ipaddress (#120) Remove reliance on netcommon's ipaddress Reviewed-by: https://github.com/apps/ansible-zuul --- changelogs/fragments/120-remove-ipaddress.yaml | 3 +++ plugins/module_utils/network/vyos/utils/utils.py | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 changelogs/fragments/120-remove-ipaddress.yaml diff --git a/changelogs/fragments/120-remove-ipaddress.yaml b/changelogs/fragments/120-remove-ipaddress.yaml new file mode 100644 index 00000000..71dc3422 --- /dev/null +++ b/changelogs/fragments/120-remove-ipaddress.yaml @@ -0,0 +1,3 @@ +--- +major_changes: + - ipaddress is no longer in ansible.netcommon. For Python versions without ipaddress (< 3.0), the ipaddress package is now required. diff --git a/plugins/module_utils/network/vyos/utils/utils.py b/plugins/module_utils/network/vyos/utils/utils.py index 7ce46883..f6ac9f54 100644 --- a/plugins/module_utils/network/vyos/utils/utils.py +++ b/plugins/module_utils/network/vyos/utils/utils.py @@ -8,9 +8,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type from ansible.module_utils.six import iteritems -from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ( - ipaddress, -) +from ansible.module_utils.basic import missing_required_lib + +try: + import ipaddress + + HAS_IPADDRESS = True +except ImportError: + HAS_IPADDRESS = False def search_obj_in_list(name, lst, key="name"): @@ -212,6 +217,9 @@ def get_ip_address_version(address): :param address: IP address :return: """ + if not HAS_IPADDRESS: + raise Exception(missing_required_lib("ipaddress")) + try: address = unicode(address) except NameError: -- cgit v1.2.3