From 742fd3a91a8a0557bfd6cb202ba24803ec555bbe Mon Sep 17 00:00:00 2001 From: Tim Rupp Date: Thu, 10 May 2018 09:57:27 -0700 Subject: [PATCH] Adds misc fixes for gtm facts module (#39966) Codifies some parameters and fixes f5 coding conventions --- .../modules/network/f5/bigip_gtm_facts.py | 39 +++++++------------ test/sanity/validate-modules/ignore.txt | 1 - .../network/f5/test_bigip_gtm_facts.py | 26 ++++++------- 3 files changed, 28 insertions(+), 38 deletions(-) diff --git a/lib/ansible/modules/network/f5/bigip_gtm_facts.py b/lib/ansible/modules/network/f5/bigip_gtm_facts.py index f0195865223..1ba5501eb4e 100644 --- a/lib/ansible/modules/network/f5/bigip_gtm_facts.py +++ b/lib/ansible/modules/network/f5/bigip_gtm_facts.py @@ -18,7 +18,7 @@ module: bigip_gtm_facts short_description: Collect facts from F5 BIG-IP GTM devices description: - Collect facts from F5 BIG-IP GTM devices. -version_added: "2.3" +version_added: 2.3 options: include: description: @@ -169,52 +169,35 @@ server: import re from ansible.module_utils.basic import AnsibleModule - -HAS_DEVEL_IMPORTS = False +from ansible.module_utils.six import iteritems +from ansible.module_utils.parsing.convert_bool import BOOLEANS_TRUE +from distutils.version import LooseVersion try: - # Sideband repository used for dev from library.module_utils.network.f5.bigip import HAS_F5SDK from library.module_utils.network.f5.bigip import F5Client from library.module_utils.network.f5.common import F5ModuleError from library.module_utils.network.f5.common import AnsibleF5Parameters from library.module_utils.network.f5.common import cleanup_tokens - from library.module_utils.network.f5.common import fqdn_name from library.module_utils.network.f5.common import f5_argument_spec try: from library.module_utils.network.f5.common import iControlUnexpectedHTTPError + from f5.utils.responses.handlers import Stats except ImportError: HAS_F5SDK = False - HAS_DEVEL_IMPORTS = True except ImportError: - # Upstream Ansible from ansible.module_utils.network.f5.bigip import HAS_F5SDK from ansible.module_utils.network.f5.bigip import F5Client from ansible.module_utils.network.f5.common import F5ModuleError from ansible.module_utils.network.f5.common import AnsibleF5Parameters from ansible.module_utils.network.f5.common import cleanup_tokens - from ansible.module_utils.network.f5.common import fqdn_name from ansible.module_utils.network.f5.common import f5_argument_spec try: from ansible.module_utils.network.f5.common import iControlUnexpectedHTTPError + from f5.utils.responses.handlers import Stats except ImportError: HAS_F5SDK = False -try: - import json -except ImportError: - import simplejson as json - -from ansible.module_utils.parsing.convert_bool import BOOLEANS_TRUE -from ansible.module_utils.six import iteritems -from distutils.version import LooseVersion - -try: - from f5.utils.responses.handlers import Stats - from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError -except ImportError: - HAS_F5SDK = False - class BaseManager(object): def __init__(self, *args, **kwargs): @@ -920,7 +903,15 @@ class ArgumentSpec(object): def __init__(self): self.supports_check_mode = False argument_spec = dict( - include=dict(type='list', required=True), + include=dict( + type='list', + choices=[ + 'pool', + 'wide_ip', + 'server', + ], + required=True + ), filter=dict() ) self.argument_spec = {} diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index d513cbeb9b1..9f5c7a28bc4 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -940,7 +940,6 @@ lib/ansible/modules/network/f5/bigip_device_ntp.py E324 lib/ansible/modules/network/f5/bigip_device_sshd.py E326 lib/ansible/modules/network/f5/bigip_facts.py E324 lib/ansible/modules/network/f5/bigip_facts.py E326 -lib/ansible/modules/network/f5/bigip_gtm_facts.py E326 lib/ansible/modules/network/f5/bigip_gtm_pool.py E324 lib/ansible/modules/network/f5/bigip_gtm_pool.py E326 lib/ansible/modules/network/f5/bigip_gtm_server.py E326 diff --git a/test/units/modules/network/f5/test_bigip_gtm_facts.py b/test/units/modules/network/f5/test_bigip_gtm_facts.py index e200e11b997..6e7a4015a9d 100644 --- a/test/units/modules/network/f5/test_bigip_gtm_facts.py +++ b/test/units/modules/network/f5/test_bigip_gtm_facts.py @@ -21,19 +21,19 @@ from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.six import iteritems try: - from library.bigip_gtm_facts import Parameters - from library.bigip_gtm_facts import ServerParameters - from library.bigip_gtm_facts import PoolParameters - from library.bigip_gtm_facts import WideIpParameters - from library.bigip_gtm_facts import ModuleManager - from library.bigip_gtm_facts import ServerFactManager - from library.bigip_gtm_facts import PoolFactManager - from library.bigip_gtm_facts import TypedPoolFactManager - from library.bigip_gtm_facts import UntypedPoolFactManager - from library.bigip_gtm_facts import WideIpFactManager - from library.bigip_gtm_facts import TypedWideIpFactManager - from library.bigip_gtm_facts import UntypedWideIpFactManager - from library.bigip_gtm_facts import ArgumentSpec + from library.modules.bigip_gtm_facts import Parameters + from library.modules.bigip_gtm_facts import ServerParameters + from library.modules.bigip_gtm_facts import PoolParameters + from library.modules.bigip_gtm_facts import WideIpParameters + from library.modules.bigip_gtm_facts import ModuleManager + from library.modules.bigip_gtm_facts import ServerFactManager + from library.modules.bigip_gtm_facts import PoolFactManager + from library.modules.bigip_gtm_facts import TypedPoolFactManager + from library.modules.bigip_gtm_facts import UntypedPoolFactManager + from library.modules.bigip_gtm_facts import WideIpFactManager + from library.modules.bigip_gtm_facts import TypedWideIpFactManager + from library.modules.bigip_gtm_facts import UntypedWideIpFactManager + from library.modules.bigip_gtm_facts import ArgumentSpec from library.module_utils.network.f5.common import F5ModuleError from library.module_utils.network.f5.common import iControlUnexpectedHTTPError from f5.bigip.tm.gtm.pool import A