mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
Use common functions for handling import errors (#51851)
* Use common functions for handling import errors * use refactored version of gitlab modules
This commit is contained in:
parent
28dcfa985f
commit
c1e51ef486
39 changed files with 233 additions and 93 deletions
|
@ -103,15 +103,18 @@ RETURN = '''
|
|||
'''
|
||||
|
||||
import time
|
||||
import traceback
|
||||
import warnings
|
||||
|
||||
HPILO_IMP_ERR = None
|
||||
try:
|
||||
import hpilo
|
||||
HAS_HPILO = True
|
||||
except ImportError:
|
||||
HPILO_IMP_ERR = traceback.format_exc()
|
||||
HAS_HPILO = False
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
|
||||
|
||||
# Suppress warnings from hpilo
|
||||
|
@ -134,7 +137,7 @@ def main():
|
|||
)
|
||||
|
||||
if not HAS_HPILO:
|
||||
module.fail_json(msg='The hpilo python module is required')
|
||||
module.fail_json(msg=missing_required_lib('python-hpilo'), exception=HPILO_IMP_ERR)
|
||||
|
||||
host = module.params['host']
|
||||
login = module.params['login']
|
||||
|
|
|
@ -120,15 +120,18 @@ hw_uuid:
|
|||
'''
|
||||
|
||||
import re
|
||||
import traceback
|
||||
import warnings
|
||||
|
||||
HPILO_IMP_ERR = None
|
||||
try:
|
||||
import hpilo
|
||||
HAS_HPILO = True
|
||||
except ImportError:
|
||||
HPILO_IMP_ERR = traceback.format_exc()
|
||||
HAS_HPILO = False
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
|
||||
|
||||
# Suppress warnings from hpilo
|
||||
|
@ -161,7 +164,7 @@ def main():
|
|||
)
|
||||
|
||||
if not HAS_HPILO:
|
||||
module.fail_json(msg='The hpilo python module is required')
|
||||
module.fail_json(msg=missing_required_lib('python-hpilo'), exception=HPILO_IMP_ERR)
|
||||
|
||||
host = module.params['host']
|
||||
login = module.params['login']
|
||||
|
|
|
@ -262,20 +262,25 @@ import atexit
|
|||
import datetime
|
||||
import itertools
|
||||
import os
|
||||
import traceback
|
||||
|
||||
LXML_ETREE_IMP_ERR = None
|
||||
try:
|
||||
import lxml.etree
|
||||
HAS_LXML_ETREE = True
|
||||
except ImportError:
|
||||
LXML_ETREE_IMP_ERR = traceback.format_exc()
|
||||
HAS_LXML_ETREE = False
|
||||
|
||||
XMLJSON_COBRA_IMP_ERR = None
|
||||
try:
|
||||
from xmljson import cobra
|
||||
HAS_XMLJSON_COBRA = True
|
||||
except ImportError:
|
||||
XMLJSON_COBRA_IMP_ERR = traceback.format_exc()
|
||||
HAS_XMLJSON_COBRA = False
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
from ansible.module_utils.urls import fetch_url
|
||||
|
||||
|
||||
|
@ -334,10 +339,10 @@ def main():
|
|||
)
|
||||
|
||||
if not HAS_LXML_ETREE:
|
||||
module.fail_json(msg='module requires the lxml Python library installed on the managed host')
|
||||
module.fail_json(msg=missing_required_lib('lxml'), exception=LXML_ETREE_IMP_ERR)
|
||||
|
||||
if not HAS_XMLJSON_COBRA:
|
||||
module.fail_json(msg='module requires the xmljson (>= 0.1.8) Python library installed on the managed host')
|
||||
module.fail_json(msg=missing_required_lib('xmljson >= 0.1.8'), exception=XMLJSON_COBRA_IMP_ERR)
|
||||
|
||||
hostname = module.params['hostname']
|
||||
username = module.params['username']
|
||||
|
|
|
@ -110,12 +110,16 @@ EXAMPLES = '''
|
|||
state: absent
|
||||
'''
|
||||
|
||||
import traceback
|
||||
|
||||
PYGHMI_IMP_ERR = None
|
||||
try:
|
||||
from pyghmi.ipmi import command
|
||||
except ImportError:
|
||||
PYGHMI_IMP_ERR = traceback.format_exc()
|
||||
command = None
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -134,7 +138,7 @@ def main():
|
|||
)
|
||||
|
||||
if command is None:
|
||||
module.fail_json(msg='the python pyghmi module is required')
|
||||
module.fail_json(msg=missing_required_lib('pyghmi'), exception=PYGHMI_IMP_ERR)
|
||||
|
||||
name = module.params['name']
|
||||
port = module.params['port']
|
||||
|
|
|
@ -74,12 +74,16 @@ EXAMPLES = '''
|
|||
state: on
|
||||
'''
|
||||
|
||||
import traceback
|
||||
|
||||
PYGHMI_IMP_ERR = None
|
||||
try:
|
||||
from pyghmi.ipmi import command
|
||||
except ImportError:
|
||||
PYGHMI_IMP_ERR = traceback.format_exc()
|
||||
command = None
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -96,7 +100,7 @@ def main():
|
|||
)
|
||||
|
||||
if command is None:
|
||||
module.fail_json(msg='the python pyghmi module is required')
|
||||
module.fail_json(msg=missing_required_lib('pyghmi'), exception=PYGHMI_IMP_ERR)
|
||||
|
||||
name = module.params['name']
|
||||
port = module.params['port']
|
||||
|
|
|
@ -161,15 +161,19 @@ RETURN = r'''
|
|||
#
|
||||
'''
|
||||
|
||||
import traceback
|
||||
|
||||
IMPORT_IMP_ERR = None
|
||||
try:
|
||||
from importlib import import_module
|
||||
HAS_IMPORT_MODULE = True
|
||||
except Exception:
|
||||
IMPORT_IMP_ERR = traceback.format_exc()
|
||||
HAS_IMPORT_MODULE = False
|
||||
|
||||
from copy import deepcopy
|
||||
import json
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
from ansible.module_utils.remote_management.ucs import UCSModule, ucs_argument_spec
|
||||
|
||||
|
||||
|
@ -241,7 +245,7 @@ def main():
|
|||
)
|
||||
|
||||
if not HAS_IMPORT_MODULE:
|
||||
module.fail_json(msg='import_module is required for this module')
|
||||
module.fail_json(msg=missing_required_lib('importlib'), exception=IMPORT_IMP_ERR)
|
||||
ucs = UCSModule(module)
|
||||
|
||||
ucs.result['err'] = False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue