From 1dadcc110e1ef42c7d5fda87c7058927a19047ea Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sun, 30 Mar 2025 17:06:09 +0200 Subject: [PATCH] modified for check APIv2 --- README.md | 2 +- mkp/arista_bgp_peer-1.0.1-20250329.mkp | Bin 0 -> 3260 bytes .../bgp_peer}/agent_based/arista_bgp_peer.py | 27 +++++++++--------- .../agent_based/inv_arista_bgp_peer.py | 22 +++++++------- .../bgp_peer/lib}/arista_bgp_peer.py | 0 source/packages/arista_bgp_peer | 14 ++++----- 6 files changed, 32 insertions(+), 33 deletions(-) create mode 100644 mkp/arista_bgp_peer-1.0.1-20250329.mkp rename source/{ => cmk_addons_plugins/bgp_peer}/agent_based/arista_bgp_peer.py (93%) rename source/{ => cmk_addons_plugins/bgp_peer}/agent_based/inv_arista_bgp_peer.py (92%) rename source/{agent_based/utils => cmk_addons_plugins/bgp_peer/lib}/arista_bgp_peer.py (100%) diff --git a/README.md b/README.md index 8a0e902..89ef462 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/arista_bgp_peer-1.0.0-20230613.mkp "arista_bgp_peer-1.0.0-20230613.mkp" +[PACKAGE]: ../../raw/master/mkp/arista_bgp_peer-1.0.1-20250329.mkp "arista_bgp_peer-1.0.1-20250329.mkp" # BGP peer Monitors the status of Arista Networks BGP peers (IPv4 and IPv6) diff --git a/mkp/arista_bgp_peer-1.0.1-20250329.mkp b/mkp/arista_bgp_peer-1.0.1-20250329.mkp new file mode 100644 index 0000000000000000000000000000000000000000..cf1b110cfdfdc5788d66e03a7a3a4b9bfef4523f GIT binary patch literal 3260 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 literal 0 HcmV?d00001 diff --git a/source/agent_based/arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py similarity index 93% rename from source/agent_based/arista_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py index 2ac7500..86de594 100644 --- a/source/agent_based/arista_bgp_peer.py +++ b/source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py @@ -9,31 +9,30 @@ # # Monitor status of Arista Networks BGP Peers (IPv4 and IPv6) # -# -# + +# 2025-03-29: moved to check APIv2 to prepare for CMK2.4 + import copy -from typing import List, Dict, Optional, Tuple from dataclasses import dataclass +from typing import Dict, List, Optional, Tuple -from cmk.base.plugins.agent_based.agent_based_api.v1 import ( - register, - SNMPTree, - startswith, - OIDEnd, +from cmk.agent_based.v2 import ( OIDBytes, -) -from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( + OIDEnd, + SNMPSection, + SNMPTree, StringByteTable, + startswith, ) -from cmk.base.plugins.agent_based.utils.bgp_peer import ( +from cmk_addons.plugins.bgp_peer.lib.bgp_peer import ( BgpPeer, - bgp_get_peer_entry, bgp_get_ip_address_from_oid, + bgp_get_peer_entry, ) -from cmk.base.plugins.agent_based.utils.arista_bgp_peer import ( +from cmk_addons.plugins.bgp_peer.lib.arista_bgp_peer import ( arista_afi_safi_mapping, ) @@ -109,7 +108,7 @@ def parse_arista_bgp_peer(string_table: List[StringByteTable]) -> Optional[Dict[ return peer_table -register.snmp_section( +snmp_section_arista_bgp_peer=SNMPSection( name='arista_bgp_peer', parse_function=parse_arista_bgp_peer, parsed_section_name='bgp_peer', diff --git a/source/agent_based/inv_arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py similarity index 92% rename from source/agent_based/inv_arista_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py index b6380f9..1750349 100644 --- a/source/agent_based/inv_arista_bgp_peer.py +++ b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py @@ -9,29 +9,29 @@ # # inventory of Arista Networks BGP Peers (IPv4 and IPv6) # -# + +# 2025-03-29: moved to check APIv2 to prepare for CMK2.4 from typing import List -from cmk.base.plugins.agent_based.agent_based_api.v1 import ( - register, - SNMPTree, +from cmk.agent_based.v2 import ( OIDBytes, - startswith, OIDEnd, -) -from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( + SNMPSection, + SNMPTree, StringByteTable, + startswith, ) -from cmk.base.plugins.agent_based.utils.bgp_peer import ( + +from cmk_addons.plugins.bgp_peer.lib.bgp_peer import ( InvBgpPeer, bgp_error_as_string, bgp_error_code_as_hex, + bgp_get_ip_address_from_oid, bgp_render_ip_address, get_bgp_type, - bgp_get_ip_address_from_oid, ) -from cmk.base.plugins.agent_based.utils.arista_bgp_peer import ( +from cmk_addons.plugins.bgp_peer.lib.arista_bgp_peer import ( arista_afi_safi_mapping, ) @@ -85,7 +85,7 @@ def parse_inv_arista_bgp_peer(string_table: List[StringByteTable]): return bgp_peers -register.snmp_section( +snmp_section_inv_arista_bgp_peer=SNMPSection( name='inv_arista_bgp_peer', parse_function=parse_inv_arista_bgp_peer, parsed_section_name='inv_bgp_peer', diff --git a/source/agent_based/utils/arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/lib/arista_bgp_peer.py similarity index 100% rename from source/agent_based/utils/arista_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/lib/arista_bgp_peer.py diff --git a/source/packages/arista_bgp_peer b/source/packages/arista_bgp_peer index 6b850c7..463c163 100644 --- a/source/packages/arista_bgp_peer +++ b/source/packages/arista_bgp_peer @@ -20,12 +20,12 @@ 'NOTE: this plugin will supersede the original arista_bgp ' 'plugin\n', 'download_url': 'https://thl-cmk.hopto.org/gitlab/arista/arista_bgp_peer', - 'files': {'agent_based': ['arista_bgp_peer.py', - 'inv_arista_bgp_peer.py', - 'utils/arista_bgp_peer.py']}, + 'files': {'cmk_addons_plugins': ['bgp_peer/agent_based/arista_bgp_peer.py', + 'bgp_peer/lib/arista_bgp_peer.py', + 'bgp_peer/agent_based/inv_arista_bgp_peer.py']}, 'name': 'arista_bgp_peer', 'title': 'Arista BGP peer', - 'version': '1.0.0-20230613', - 'version.min_required': '2.0.0b1', - 'version.packaged': '2.2.0p24', - 'version.usable_until': None} + 'version': '1.0.1-20250329', + 'version.min_required': '2.3.0b1', + 'version.packaged': 'cmk-mkp-tool 0.2.0', + 'version.usable_until': '2.5.0b1'} -- GitLab