Remove dependency on ansible.netcommon collection (#2)

* Get rid of ansible.netcommon requirement by integrating module_utils/compat/ipaddress.py.

* Reorder imports.

* Update ignore.txt for plugins/module_utils/compat/ipaddress.py.

* Linting (flake8 / pep8).

* Remove accidentally commited test for ansible/ansible#66920.
pull/6/head
Felix Fontein 2020-03-24 20:20:19 +01:00
parent 741f6d8d3b
commit 70615300fb
28 changed files with 2709 additions and 98 deletions

View File

@ -8,8 +8,6 @@ description: null
license: GPL-3.0-or-later license: GPL-3.0-or-later
license_file: COPYING license_file: COPYING
tags: null tags: null
#dependencies:
# ansible.netcommon: '>=0.1.0'
repository: https://github.com:ansible-collections/community.crypto repository: https://github.com:ansible-collections/community.crypto
documentation: https://github.com/ansible-collection-migration/community.crypto/tree/master/docs documentation: https://github.com/ansible-collection-migration/community.crypto/tree/master/docs
homepage: https://github.com:ansible-collections/community.crypto homepage: https://github.com:ansible-collections/community.crypto

View File

@ -29,10 +29,11 @@ import tempfile
import traceback import traceback
from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.basic import missing_required_lib
from ansible.module_utils._text import to_native, to_text, to_bytes
from ansible.module_utils.urls import fetch_url from ansible.module_utils.urls import fetch_url
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible.module_utils.six.moves.urllib.parse import unquote from ansible.module_utils.six.moves.urllib.parse import unquote
from ansible.module_utils._text import to_native, to_text, to_bytes
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
try: try:
import cryptography import cryptography

File diff suppressed because it is too large Load Diff

View File

@ -30,9 +30,22 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
import abc
import base64
import binascii
import datetime
import errno
import hashlib
import os
import re
import sys import sys
import tempfile
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible.module_utils import six
from ansible.module_utils._text import to_native, to_bytes, to_text
try: try:
import OpenSSL import OpenSSL
from OpenSSL import crypto from OpenSSL import crypto
@ -120,20 +133,6 @@ except ImportError:
HAS_CRYPTOGRAPHY = False HAS_CRYPTOGRAPHY = False
import abc
import base64
import binascii
import datetime
import errno
import hashlib
import os
import re
import tempfile
from ansible.module_utils import six
from ansible.module_utils._text import to_native, to_bytes, to_text
class OpenSSLObjectError(Exception): class OpenSSLObjectError(Exception):
pass pass

View File

@ -130,6 +130,8 @@ account_uri:
type: str type: str
''' '''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.crypto.plugins.module_utils.acme import ( from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException, ModuleFailException,
ACMEAccount, ACMEAccount,
@ -137,8 +139,6 @@ from ansible_collections.community.crypto.plugins.module_utils.acme import (
get_default_argspec, get_default_argspec,
) )
from ansible.module_utils.basic import AnsibleModule
def main(): def main():
argument_spec = get_default_argspec() argument_spec = get_default_argspec()

View File

@ -196,6 +196,8 @@ orders:
returned: when certificate was issued returned: when certificate was issued
''' '''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.crypto.plugins.module_utils.acme import ( from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException, ModuleFailException,
ACMEAccount, ACMEAccount,
@ -204,8 +206,6 @@ from ansible_collections.community.crypto.plugins.module_utils.acme import (
get_default_argspec, get_default_argspec,
) )
from ansible.module_utils.basic import AnsibleModule
def get_orders_list(module, account, orders_url): def get_orders_list(module, account, orders_url):
''' '''

View File

@ -489,6 +489,21 @@ all_chains:
returned: always returned: always
''' '''
import base64
import binascii
import hashlib
import os
import re
import textwrap
import time
import traceback
from datetime import datetime
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_bytes, to_native
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible_collections.community.crypto.plugins.module_utils.acme import ( from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException, ModuleFailException,
write_file, write_file,
@ -503,21 +518,7 @@ from ansible_collections.community.crypto.plugins.module_utils.acme import (
process_links, process_links,
get_default_argspec, get_default_argspec,
) )
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
import base64
import binascii
import hashlib
import os
import re
import textwrap
import time
import traceback
from datetime import datetime
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_bytes, to_native
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
try: try:
import cryptography import cryptography

View File

@ -122,6 +122,8 @@ EXAMPLES = '''
RETURN = ''' RETURN = '''
''' '''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.crypto.plugins.module_utils.acme import ( from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException, ModuleFailException,
ACMEAccount, ACMEAccount,
@ -131,8 +133,6 @@ from ansible_collections.community.crypto.plugins.module_utils.acme import (
get_default_argspec, get_default_argspec,
) )
from ansible.module_utils.basic import AnsibleModule
def main(): def main():
argument_spec = get_default_argspec() argument_spec = get_default_argspec()

View File

@ -136,19 +136,19 @@ regular_certificate:
type: str type: str
''' '''
from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException,
read_file,
)
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_bytes, to_text
import base64 import base64
import datetime import datetime
import sys import sys
import traceback import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_bytes, to_text
from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException,
read_file,
)
CRYPTOGRAPHY_IMP_ERR = None CRYPTOGRAPHY_IMP_ERR = None
try: try:
import cryptography import cryptography

View File

@ -245,6 +245,11 @@ output_json:
- ... - ...
''' '''
import json
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native, to_bytes
from ansible_collections.community.crypto.plugins.module_utils.acme import ( from ansible_collections.community.crypto.plugins.module_utils.acme import (
ModuleFailException, ModuleFailException,
ACMEAccount, ACMEAccount,
@ -252,11 +257,6 @@ from ansible_collections.community.crypto.plugins.module_utils.acme import (
get_default_argspec, get_default_argspec,
) )
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native, to_bytes
import json
def main(): def main():
argument_spec = get_default_argspec() argument_spec = get_default_argspec()

View File

@ -523,12 +523,14 @@ import os
import re import re
import time import time
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_bytes from ansible.module_utils._text import to_native, to_bytes
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
CRYPTOGRAPHY_IMP_ERR = None CRYPTOGRAPHY_IMP_ERR = None
try: try:
import cryptography import cryptography

View File

@ -202,6 +202,12 @@ ev_days_remaining:
''' '''
import datetime
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ( from ansible_collections.community.crypto.plugins.module_utils.ecs.api import (
ecs_client_argument_spec, ecs_client_argument_spec,
ECSClient, ECSClient,
@ -209,11 +215,6 @@ from ansible_collections.community.crypto.plugins.module_utils.ecs.api import (
SessionConfigurationException, SessionConfigurationException,
) )
import datetime
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
def calculate_days_remaining(expiry_date): def calculate_days_remaining(expiry_date):
days_remaining = None days_remaining = None

View File

@ -150,19 +150,20 @@ EXAMPLES = '''
expire_days: "{{ (( cert.not_after | to_datetime('%Y%m%d%H%M%SZ')) - (ansible_date_time.iso8601 | to_datetime('%Y-%m-%dT%H:%M:%SZ')) ).days }}" expire_days: "{{ (( cert.not_after | to_datetime('%Y%m%d%H%M%SZ')) - (ansible_date_time.iso8601 | to_datetime('%Y-%m-%dT%H:%M:%SZ')) ).days }}"
''' '''
from ansible.module_utils.basic import AnsibleModule, missing_required_lib import atexit
from ansible.module_utils._text import to_bytes import base64
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils import datetime
import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from os.path import isfile from os.path import isfile
from socket import setdefaulttimeout, socket from socket import setdefaulttimeout, socket
from ssl import get_server_certificate, DER_cert_to_PEM_cert, CERT_NONE, CERT_OPTIONAL from ssl import get_server_certificate, DER_cert_to_PEM_cert, CERT_NONE, CERT_OPTIONAL
import atexit from ansible.module_utils.basic import AnsibleModule, missing_required_lib
import base64 from ansible.module_utils._text import to_bytes
import datetime
import traceback from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_PYOPENSSL_VERSION = '0.15' MINIMAL_PYOPENSSL_VERSION = '0.15'
MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' MINIMAL_CRYPTOGRAPHY_VERSION = '1.6'

View File

@ -196,19 +196,20 @@ info:
''' '''
import os
import errno import errno
import os
import re import re
import tempfile import tempfile
from datetime import datetime from datetime import datetime
from datetime import MINYEAR, MAXYEAR from datetime import MINYEAR, MAXYEAR
from shutil import copy2 from shutil import copy2, rmtree
from shutil import rmtree
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.crypto.plugins.module_utils.crypto import convert_relative_to_datetime
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native
from ansible_collections.community.crypto.plugins.module_utils.crypto import convert_relative_to_datetime
class CertificateError(Exception): class CertificateError(Exception):
pass pass

View File

@ -153,9 +153,9 @@ comment:
sample: test@comment sample: test@comment
''' '''
import errno
import os import os
import stat import stat
import errno
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native

View File

@ -842,19 +842,21 @@ certificate:
''' '''
from random import randint
import abc import abc
import datetime import datetime
import time import time
import os import os
import tempfile import tempfile
import traceback import traceback
from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils from distutils.version import LooseVersion
from random import randint
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_bytes, to_text from ansible.module_utils._text import to_native, to_bytes, to_text
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ECSClient, RestOperationException, SessionConfigurationException from ansible_collections.community.crypto.plugins.module_utils.ecs.api import ECSClient, RestOperationException, SessionConfigurationException
MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' MINIMAL_CRYPTOGRAPHY_VERSION = '1.6'

View File

@ -300,13 +300,15 @@ import datetime
import os import os
import re import re
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils.six import string_types from ansible.module_utils.six import string_types
from ansible.module_utils._text import to_native, to_text, to_bytes from ansible.module_utils._text import to_native, to_text, to_bytes
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
MINIMAL_CRYPTOGRAPHY_VERSION = '1.6' MINIMAL_CRYPTOGRAPHY_VERSION = '1.6'
MINIMAL_PYOPENSSL_VERSION = '0.15' MINIMAL_PYOPENSSL_VERSION = '0.15'

View File

@ -420,12 +420,14 @@ import abc
import binascii import binascii
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_bytes, to_text from ansible.module_utils._text import to_native, to_bytes, to_text
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
MINIMAL_PYOPENSSL_VERSION = '0.15' MINIMAL_PYOPENSSL_VERSION = '0.15'
MINIMAL_CRYPTOGRAPHY_VERSION = '1.3' MINIMAL_CRYPTOGRAPHY_VERSION = '1.3'

View File

@ -212,12 +212,14 @@ import abc
import binascii import binascii
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_text, to_bytes from ansible.module_utils._text import to_native, to_text, to_bytes
from ansible_collections.ansible.netcommon.plugins.module_utils.compat import ipaddress as compat_ipaddress
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible_collections.community.crypto.plugins.module_utils.compat import ipaddress as compat_ipaddress
MINIMAL_CRYPTOGRAPHY_VERSION = '1.3' MINIMAL_CRYPTOGRAPHY_VERSION = '1.3'
MINIMAL_PYOPENSSL_VERSION = '0.15' MINIMAL_PYOPENSSL_VERSION = '0.15'

View File

@ -126,10 +126,12 @@ import os
import re import re
import tempfile import tempfile
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils

View File

@ -180,10 +180,15 @@ pkcs12:
''' '''
import base64 import base64
import stat
import os import os
import stat
import traceback import traceback
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_bytes, to_native
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
PYOPENSSL_IMP_ERR = None PYOPENSSL_IMP_ERR = None
try: try:
from OpenSSL import crypto from OpenSSL import crypto
@ -193,10 +198,6 @@ except ImportError:
else: else:
pyopenssl_found = True pyopenssl_found = True
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils._text import to_bytes, to_native
class PkcsError(crypto_utils.OpenSSLObjectError): class PkcsError(crypto_utils.OpenSSLObjectError):
pass pass

View File

@ -276,8 +276,14 @@ import abc
import base64 import base64
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_bytes
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_PYOPENSSL_VERSION = '0.6' MINIMAL_PYOPENSSL_VERSION = '0.6'
MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3'
@ -317,10 +323,6 @@ from ansible_collections.community.crypto.plugins.module_utils.crypto import (
CRYPTOGRAPHY_HAS_ED448, CRYPTOGRAPHY_HAS_ED448,
) )
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils._text import to_native, to_bytes
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
class PrivateKeyError(crypto_utils.OpenSSLObjectError): class PrivateKeyError(crypto_utils.OpenSSLObjectError):
pass pass

View File

@ -139,12 +139,14 @@ private_data:
import abc import abc
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_bytes from ansible.module_utils._text import to_native, to_bytes
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3'
MINIMAL_PYOPENSSL_VERSION = '0.15' MINIMAL_PYOPENSSL_VERSION = '0.15'

View File

@ -179,8 +179,14 @@ publickey:
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_PYOPENSSL_VERSION = '16.0.0' MINIMAL_PYOPENSSL_VERSION = '16.0.0'
MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3' MINIMAL_CRYPTOGRAPHY_VERSION = '1.2.3'
MINIMAL_CRYPTOGRAPHY_VERSION_OPENSSH = '1.4' MINIMAL_CRYPTOGRAPHY_VERSION_OPENSSH = '1.4'
@ -208,10 +214,6 @@ except ImportError:
else: else:
CRYPTOGRAPHY_FOUND = True CRYPTOGRAPHY_FOUND = True
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils._text import to_native
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
class PublicKeyError(crypto_utils.OpenSSLObjectError): class PublicKeyError(crypto_utils.OpenSSLObjectError):
pass pass

View File

@ -348,11 +348,13 @@ crl:
import os import os
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils._text import to_native, to_text
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native, to_text
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_CRYPTOGRAPHY_VERSION = '1.2' MINIMAL_CRYPTOGRAPHY_VERSION = '1.2'

View File

@ -128,11 +128,13 @@ revoked_certificates:
import traceback import traceback
from distutils.version import LooseVersion from distutils.version import LooseVersion
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
from ansible.module_utils._text import to_native
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native
from ansible_collections.community.crypto.plugins.module_utils import crypto as crypto_utils
MINIMAL_CRYPTOGRAPHY_VERSION = '1.2' MINIMAL_CRYPTOGRAPHY_VERSION = '1.2'

View File

@ -1,3 +1,7 @@
plugins/module_utils/compat/ipaddress.py future-import-boilerplate
plugins/module_utils/compat/ipaddress.py metaclass-boilerplate
plugins/module_utils/compat/ipaddress.py no-assert
plugins/module_utils/compat/ipaddress.py no-unicode-literals
plugins/modules/acme_account_info.py validate-modules:return-syntax-error plugins/modules/acme_account_info.py validate-modules:return-syntax-error
plugins/modules/acme_certificate.py validate-modules:doc-elements-mismatch plugins/modules/acme_certificate.py validate-modules:doc-elements-mismatch
tests/unit/mock/path.py future-import-boilerplate tests/unit/mock/path.py future-import-boilerplate

View File

@ -1,3 +1,7 @@
plugins/module_utils/compat/ipaddress.py future-import-boilerplate
plugins/module_utils/compat/ipaddress.py metaclass-boilerplate
plugins/module_utils/compat/ipaddress.py no-assert
plugins/module_utils/compat/ipaddress.py no-unicode-literals
plugins/modules/acme_account_info.py validate-modules:return-syntax-error plugins/modules/acme_account_info.py validate-modules:return-syntax-error
plugins/modules/acme_certificate.py validate-modules:doc-elements-mismatch plugins/modules/acme_certificate.py validate-modules:doc-elements-mismatch
tests/unit/mock/path.py future-import-boilerplate tests/unit/mock/path.py future-import-boilerplate