From 105f60cf480572fb5547794cda1f9a05559ae636 Mon Sep 17 00:00:00 2001 From: Dusan Matejka Date: Mon, 8 Jul 2019 21:46:25 +0200 Subject: [PATCH] unified required zabbix-api dependency version and removed no longer needed extend of ZabbixAPI class (#53334) --- .../modules/monitoring/zabbix/zabbix_group.py | 4 ++-- .../monitoring/zabbix/zabbix_group_info.py | 20 ++++--------------- .../modules/monitoring/zabbix/zabbix_host.py | 18 +++-------------- .../monitoring/zabbix/zabbix_host_info.py | 20 ++++--------------- .../monitoring/zabbix/zabbix_hostmacro.py | 15 ++++---------- .../monitoring/zabbix/zabbix_maintenance.py | 2 +- .../modules/monitoring/zabbix/zabbix_map.py | 4 ++-- .../monitoring/zabbix/zabbix_screen.py | 18 ++++------------- 8 files changed, 24 insertions(+), 77 deletions(-) diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_group.py b/lib/ansible/modules/monitoring/zabbix/zabbix_group.py index d0f3e95d7e3..6be585a8f50 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_group.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_group.py @@ -27,7 +27,7 @@ author: - "Harrison Gu (@harrisongu)" requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: state: description: @@ -80,7 +80,7 @@ import atexit import traceback try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass + from zabbix_api import ZabbixAPI from zabbix_api import Already_Exists HAS_ZABBIX_API = True diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_group_info.py b/lib/ansible/modules/monitoring/zabbix/zabbix_group_info.py index b1a12d4b624..0d76f061753 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_group_info.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_group_info.py @@ -33,7 +33,7 @@ author: - "Michael Miko (@RedWhiteMiko)" requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: hostgroup_name: description: @@ -63,19 +63,7 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass - - # Extend the ZabbixAPI - # Since the zabbix-api python module too old (version 1.0, no higher version so far), - # it does not support the 'hostinterface' api calls, - # so we have to inherit the ZabbixAPI class to add 'hostinterface' support. - class ZabbixAPIExtends(ZabbixAPI): - hostinterface = None - - def __init__(self, server, timeout, user, passwd, validate_certs, **kwargs): - ZabbixAPI.__init__(self, server, timeout=timeout, user=user, passwd=passwd, validate_certs=validate_certs) - self.hostinterface = ZabbixAPISubClass(self, dict({"prefix": "hostinterface"}, **kwargs)) - + from zabbix_api import ZabbixAPI HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() @@ -126,8 +114,8 @@ def main(): zbx = None # login to zabbix try: - zbx = ZabbixAPIExtends(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, - validate_certs=validate_certs) + zbx = ZabbixAPI(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, + validate_certs=validate_certs) zbx.login(login_user, login_password) atexit.register(zbx.logout) except Exception as e: diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_host.py b/lib/ansible/modules/monitoring/zabbix/zabbix_host.py index ffd2b5bbdbf..76d8721af36 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_host.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_host.py @@ -281,19 +281,7 @@ import copy import traceback try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass - - # Extend the ZabbixAPI - # Since the zabbix-api python module too old (version 1.0, no higher version so far), - # it does not support the 'hostinterface' api calls, - # so we have to inherit the ZabbixAPI class to add 'hostinterface' support. - class ZabbixAPIExtends(ZabbixAPI): - hostinterface = None - - def __init__(self, server, timeout, user, passwd, validate_certs, **kwargs): - ZabbixAPI.__init__(self, server, timeout=timeout, user=user, passwd=passwd, validate_certs=validate_certs) - self.hostinterface = ZabbixAPISubClass(self, dict({"prefix": "hostinterface"}, **kwargs)) - + from zabbix_api import ZabbixAPI HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() @@ -751,8 +739,8 @@ def main(): zbx = None # login to zabbix try: - zbx = ZabbixAPIExtends(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, - validate_certs=validate_certs) + zbx = ZabbixAPI(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, + validate_certs=validate_certs) zbx.login(login_user, login_password) except Exception as e: module.fail_json(msg="Failed to connect to Zabbix server: %s" % e) diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_host_info.py b/lib/ansible/modules/monitoring/zabbix/zabbix_host_info.py index f0a6ecea9d5..c87f6656061 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_host_info.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_host_info.py @@ -34,7 +34,7 @@ author: - "Michael Miko (@RedWhiteMiko)" requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: host_name: description: @@ -102,19 +102,7 @@ import traceback from ansible.module_utils.basic import AnsibleModule, missing_required_lib try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass - - # Extend the ZabbixAPI - # Since the zabbix-api python module too old (version 1.0, no higher version so far), - # it does not support the 'hostinterface' api calls, - # so we have to inherit the ZabbixAPI class to add 'hostinterface' support. - class ZabbixAPIExtends(ZabbixAPI): - hostinterface = None - - def __init__(self, server, timeout, user, passwd, validate_certs, **kwargs): - ZabbixAPI.__init__(self, server, timeout=timeout, user=user, passwd=passwd, validate_certs=validate_certs) - self.hostinterface = ZabbixAPISubClass(self, dict({"prefix": "hostinterface"}, **kwargs)) - + from zabbix_api import ZabbixAPI HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() @@ -216,8 +204,8 @@ def main(): zbx = None # login to zabbix try: - zbx = ZabbixAPIExtends(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, - validate_certs=validate_certs) + zbx = ZabbixAPI(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, + validate_certs=validate_certs) zbx.login(login_user, login_password) atexit.register(zbx.logout) except Exception as e: diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_hostmacro.py b/lib/ansible/modules/monitoring/zabbix/zabbix_hostmacro.py index 88c98281444..f6ec6fa3d4d 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_hostmacro.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_hostmacro.py @@ -25,7 +25,7 @@ author: - Dean Hailin Song (!UNKNOWN) requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: host_name: description: @@ -76,14 +76,7 @@ import atexit import traceback try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass - - # Extend the ZabbixAPI - # Since the zabbix-api python module too old (version 1.0, no higher version so far). - class ZabbixAPIExtends(ZabbixAPI): - def __init__(self, server, timeout, user, passwd, validate_certs, **kwargs): - ZabbixAPI.__init__(self, server, timeout=timeout, user=user, passwd=passwd, validate_certs=validate_certs) - + from zabbix_api import ZabbixAPI HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() @@ -198,8 +191,8 @@ def main(): zbx = None # login to zabbix try: - zbx = ZabbixAPIExtends(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, - validate_certs=validate_certs) + zbx = ZabbixAPI(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, + validate_certs=validate_certs) zbx.login(login_user, login_password) atexit.register(zbx.logout) except Exception as e: diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_maintenance.py b/lib/ansible/modules/monitoring/zabbix/zabbix_maintenance.py index 949bfd18fe0..e115dfaf51c 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_maintenance.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_maintenance.py @@ -23,7 +23,7 @@ version_added: "1.8" author: "Alexander Bulimov (@abulimov)" requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: state: description: diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_map.py b/lib/ansible/modules/monitoring/zabbix/zabbix_map.py index 8111f657ce4..49287705f74 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_map.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_map.py @@ -38,7 +38,7 @@ description: C(zbx_trigger_draw_style) contains indicator draw style. Possible values are the same as for C(zbx_draw_style)." requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" - pydotplus - webcolors - Pillow @@ -197,7 +197,7 @@ except ImportError: HAS_WEBCOLORS = False try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass + from zabbix_api import ZabbixAPI HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() diff --git a/lib/ansible/modules/monitoring/zabbix/zabbix_screen.py b/lib/ansible/modules/monitoring/zabbix/zabbix_screen.py index 2e3b393f945..a234fbfd842 100644 --- a/lib/ansible/modules/monitoring/zabbix/zabbix_screen.py +++ b/lib/ansible/modules/monitoring/zabbix/zabbix_screen.py @@ -26,7 +26,7 @@ author: - "Harrison Gu (@harrisongu)" requirements: - "python >= 2.6" - - zabbix-api + - "zabbix-api >= 0.5.3" options: screens: description: @@ -158,20 +158,10 @@ import atexit import traceback try: - from zabbix_api import ZabbixAPI, ZabbixAPISubClass + from zabbix_api import ZabbixAPI from zabbix_api import ZabbixAPIException from zabbix_api import Already_Exists - # Extend the ZabbixAPI - # Since the zabbix-api python module too old (version 1.0, and there's no higher version so far), it doesn't support the 'screenitem' api call, - # we have to inherit the ZabbixAPI class to add 'screenitem' support. - class ZabbixAPIExtends(ZabbixAPI): - screenitem = None - - def __init__(self, server, timeout, user, passwd, validate_certs, **kwargs): - ZabbixAPI.__init__(self, server, timeout=timeout, user=user, passwd=passwd, validate_certs=validate_certs) - self.screenitem = ZabbixAPISubClass(self, dict({"prefix": "screenitem"}, **kwargs)) - HAS_ZABBIX_API = True except ImportError: ZBX_IMP_ERR = traceback.format_exc() @@ -391,8 +381,8 @@ def main(): zbx = None # login to zabbix try: - zbx = ZabbixAPIExtends(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, - validate_certs=validate_certs) + zbx = ZabbixAPI(server_url, timeout=timeout, user=http_login_user, passwd=http_login_password, + validate_certs=validate_certs) zbx.login(login_user, login_password) atexit.register(zbx.logout) except Exception as e: