From 52a99d4892700afbca146d21897095a68b995df8 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Sun, 30 Mar 2025 17:04:29 +0200 Subject: [PATCH] modified for check APIv2 --- README.md | 2 +- mkp/juniper_bgp_peer-1.0.1-20250329.mkp | Bin 0 -> 4014 bytes .../agent_based/inv_juniper_bgp_peer.py | 19 ++++++++-------- .../bgp_peer}/agent_based/juniper_bgp_peer.py | 21 +++++++++--------- .../bgp_peer/lib}/juniper_bgp_peer.py | 0 source/packages/juniper_bgp_peer | 14 ++++++------ 6 files changed, 27 insertions(+), 29 deletions(-) create mode 100644 mkp/juniper_bgp_peer-1.0.1-20250329.mkp rename source/{ => cmk_addons_plugins/bgp_peer}/agent_based/inv_juniper_bgp_peer.py (93%) rename source/{ => cmk_addons_plugins/bgp_peer}/agent_based/juniper_bgp_peer.py (95%) rename source/{agent_based/utils => cmk_addons_plugins/bgp_peer/lib}/juniper_bgp_peer.py (100%) diff --git a/README.md b/README.md index 5e33c91..680c884 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[PACKAGE]: ../../raw/master/mkp/juniper_bgp_peer-1.0.0-20230613.mkp "juniper_bgp_peer-1.0.0-20230613.mkp" +[PACKAGE]: ../../raw/master/mkp/juniper_bgp_peer-1.0.1-20250329.mkp "juniper_bgp_peer-1.0.1-20250329.mkp" # Juniper BGP Peer Monitors status of Juniper BGP peers (IPv4 and IPv6) diff --git a/mkp/juniper_bgp_peer-1.0.1-20250329.mkp b/mkp/juniper_bgp_peer-1.0.1-20250329.mkp new file mode 100644 index 0000000000000000000000000000000000000000..17f3fd431b49e0f0294ab12ed927363722faa9ea GIT binary patch literal 4014 zcmV;f4^i+RiwFRBUFl~6|Lq+8Q`<U{pZP0v^oKb25+`=P+RWtcXiNKe2b2NYxtTPR zF|k5i9NTBvv>e0#e!KFQY|9})udnZ(cPKd0YPDLec2~PjEobTO{EwjvFzomFUx4D@ zUU#7FX#LSh*9XJFa0KncQFpjQx;sArLKYZ4Ou6&tgu8|j1}oQZj7j5Sr5>q7308J{ zvA&)f!ORT<+jXy}rW?!_?z-7%?UIH`*}}KHz;YcNb?iD;;QEaG7CM$kee(MKDe)+U z7I^BnKk4n`!`JQKKAs$&9-K8*^4V$Zk^(fOjcu~<sS!{{T!#`y{TpjR$<p-+H5MyA zNyjivpE5?4#@e!P2~iGDZ~DY=Od=r&eZywORKdz(#4{Gx#uX(C*9i>EVZ^YROAKN; zH`IYu-V)CauPmp61}q=ATN@6rX&M2JTiBsVrRezU-SIiG4Hl5a%5bh|C-4o2Stwdo zIpzrQLl5Xv;?o7SZm3y_d<rrG<iJ{2GjZzErS%P@Y&pbO1VFE2EEd!YsM+!97rF>G zO^^-lfVx!TUATc^lQnD=$d{#zcNlf5iGSp)+y-0Pc;S+e(RgS1zL8ruBx^YH(Z<3K z16RP-ExEk%=BQBQ(tsfnVle?_6$Bm|cRF}Xq_e`=QCF@PxT@=4b*`+yHZD7h6<u7f zuREYdrt7yY$D|%Sf>L#onVZ`$?Bv76!8o_BuNEwWg`j|pnz&?2T;GBo5W0lGm*}j{ zac&Sn5GI6Fn2#TF_p4*OhB*&?8&A2o>WvGGDYqROe0BY6))A+|WpeUM%cczI-l4SS zaE3wQ=Me|kJZ&V{9ncmhnB%6H9XN&aB01H&MT!rCoZ|DT+190$%IqH3=@@H@;*$y? z0Lk&*qUGehH?WnliPhAus<rj5KIr!JS7NWaww$?7{~cOBH4#-;dusPm%i+XEjrW7N z+v{tu9k{Mdx~i^rbEqLRE^Rswoxrjqasy88es`ya|3|PO{!_m&*ZKY8KV9qf3-RA* zI2hIO-w%oZ_P7<=8}Aj3&|Yf~trzqZjTiI?F(4p3Aq4#FJTJJ5Be_S1ZJT1W2LrO| z=&KZJZ68-jgQ$lirVZiIXXojGk37nGMo9D7d0eovDKY`YiyajxUEV2XU8%bRoU*qQ z@I==MxUuIH5JYFl5e6|rbY+63hi^=HR)kOr#(cj>3TX2<YHxhER}Q20#?!sWL{UI( z+Ym`at%!g2X7~5Ccm4UHtT!t9!yoAX2mCqb|24fgs{Q{DfyY>gXYGHq-`c1@ivA8p z@&0RCPmANfZXaU7!A@824k0A`f%{L$&ShxX<|aWs(EkU87k}x5%<o)6;6a@m;@yI0 zb9%ckNc*o4pt+{yT#ZQ>EZZ-!W%mX296_AsFghmhPd<|O)S*7O?bGnmwiZbrxzRc5 zK6jMp{Hq)!AbmVLf>>ruDjg%>yv1+}aKPPn+ueR!f5qu%@twQO1)rxp_$-8re8|PG z|001)exu7Jc}IPRe1WH_X|UBS=5V=SG-i+g39orn3V~Jt(%|Gg-@UO=He^Yuc?kgr z(p($Yam>XnDp?sG1Vk_^Obd+b$at?iMzKPuYE#1ry$%Z?3SQfm1JokCLA%?71&+zu zg_sTr^N4`#pB~=m_|fyJXZTU9{O0(dy4v5}-Cg?bngq8VGG(nj*AHMbSP-?NIE4eQ z0-YE~;mM8<hi_ls!U9{#rvt}~p3hH?PtPGzg?K1yxbP{BKLtKah+{7>R*D+&L<Q`t z6|7pj&6I)I&8Uf+Nev4`5b1|JTZhig>njiUG9rvv)c0L~ZZHTAaq40R$`*T9^jp^D zV_53XEpHxQD59<_8gTOlQlndQTC|IKj+0(vY0Vk_T7wR7Hk+_VCSAf+1%lqW%)%<s zisk`Ia?E#cT9EIoIp)*wyH$(CtC{obkp<gFY<FSUa|?rTYiR*@6CzUGO+^yj&L(6! zi`oMJcAVzD5-QMNBslHP;D=+<Z+Mp>$|u7P=>bZ=1v_TaZ~VC_CD%CV>^FAPHKd$F z*WEpD<`+N**x|RP!U8jzc-!~}5?ER-f`SGDd=xOJGS9XGrJ**O8Tv9mp9*`ga2f)i zC9b9%V+ORP&A*Uo)qX1}W6fDgpW0wGx0!7_vSo4cP0eO-EprZ<--7$$+6_SI;1RD> zv_%|x<pvf!n)CR!ljshLJUS6VL;B28VglahbVi{sLxeGWo$;3W-~mt}`4to{;VrUc z>p2)#P*97lfFry?OIq<JE>4Em^!U^#7vMw-c2lGm#9%C3qg9NYL6T9x6hKg9Jkn9M zp?+~KN14LWQPxc^<2A}R#hNv<8Isd97R(i@b8e#>f@B(FxlvNek`-E-Eh#|@v%1;- z=5ewVvSh#WsM%guvbRA$Dws1^#+<?AGa^c=Trv#4!sM}lkyvlQ5RJJ~)>c+zQKoc2 z#&QBh)>RzNHJTqL7^I<n;UCBZ^k>-MN1f;`u7BniOuO*-AXuybb?$oc;E*e#n5Hs- z0qPgzkSRL4w|Ij}{!Wn`h$7n=N{&kEPPd^EF%C1^;hI-#?(Pd1IkSC>b%Yj)&s5n8 zi?(4pYi2h4zI?`*%0ntsNfS&Fj!%OSLb((Td@Xa<-ke2|i`3mtgwQ5(-k9#3G-SAO zO(^o+%h2J2Ce^N7KsQq+GV%qoX(o(KruqI^gs`NbIFo5AjwA+Ca$?8OZqiUSwWki@ zcOU-g!`@IGzymxsxHd}ivE%U<=NlNVV;xObjwE;xCd`{a6d)?imaK;dl1fA4vuced zpH`gVFbyWkbxBR+RUCAVr>lhjA{o(>j|f@S6#epmH?Fg^u0o%hpCS`kJ>8%@`Xsfm z@o3U+|Bb+1;3Twd(&#qGxUE!iGc40PLKC(R2k8O~+JkZ)N#vYTs9wj*ig`~VqOIcf zRTZz5vevrgA!pn!Z@oTErbro$>J@5w)!dubsP!s2u3n`?rFb}8IY6RCXHjr;7{^BC zq5b$+l}5f}>x0Z^U4Y9f4<1%2Z(%S-S{t@RuRPjV9O2RbS?oJ<RI*4|upCdaWzeW6 zLfCB4cwyy@8=_Zb2Rt@>jDf=mxNlM+=2kKAma1AoqPa=;<zw_sW6p~ceK*l<5?aj4 zYannA2O7NBHnM6Ij2AZs6*gX227ikEn@I!kk&`TMpk(~(@s4+S3{hHDqKUikQ)lzP zQ~vim=6<)x|MvTOFQ5O_Mx$Y!|E=@C()=$^qv|70KYsCm#CNHmItl!!95CPw+TB-U zBtlJM1$2$Xlk~y@u4!<&<<r1V$PmZjg>=(m3m5MAw<Niz2oyDK9KYCL^2-uln)&@J zN+H1v(1Hs?5yJHaZY=1I`0E1HFj2rKuER4in1OZzVq=c^Mb05aET<Q5f$u|DM#N38 z-PPLqU`+6}2Q$eDkt8RCi?Kvxy{&f><b@CWL_oBmL%(_aEegQ*!XSE`L$Oq<Lc`pP zU#gf#?_M+uY@!aps=O6-_zu5W`R=6~L|X7`XfoG9MR44;<<KBjg6CxD<3#bo^=_-O z^)2$&TEOoQ{LLD}Zjp=7vuT8mtK%Dw?}<cX(x%<tKhOW1M1LvEpI6L{nfz^Meoo^4 zADN)}@5Ia`@9ji6R~R<NbbBP6+^6KdpHwM%ripjK5%aCZe1V}~ob~6Mj@ic+V$EhE zo)4C=3QepqJgK@s;L4il-V{|aq8@M0Y!<CkjQCq*L#QpSKJabjpR=StZ%afIHJ7v7 z8zz$EyafZ$Dp-SPEAp+$`&cakrl@ix+L1KJyrC2kb0JhBFhY*Bu7I5-xrFr>)GHt0 z!=MQc&ov^c2`e?1^lpL)PMJ8Gn8TEHs1`G=D_BM|%4&iGp!rDz&74eU(mt-;lFNhA z5T<N!Jr=nuG9}|hl7-4qO}Dm8KJ6+kKIzzcLQ!ktiNq#8f!Oe*l|%|CSx4;Q%3Fxd zTTCTvno!wDie@R#8;fQMR$RtPGPS7$9x8(s#$y>QX_{@a23UG2AO9>rk7ZJP)i3_A zvB>g>qSa^N{LiEJL0M!x(hty)yuBIqWS^wPt>`t=s(P4Y!a21KkHr|}+Ly2}=zL1e zshok23FZBB-aZKgCZcT1Th6y+B5YOOc4gZ(5w}n}8JkqpnX=uP2pg48Y-F1@5jU_% zC)vJ<xUnTlDOPUBb7&iOf3it4HWL9Im`GJeE{~k@Oytcnt01_kvUMmFbJ9V0bn{gq zUa!uDPs05{z{A26OjTVG&ta?FuNK;Py*w`jyiZNYvT-LU=smeBPko>N@)TSh-M22k zmXRBO$xB9geJmIXKFg;wa#!pq5Y9Nlr~3!-vnXnc1JGRJ#X>bH_3$CBkWGaZ&YBx( zsHJEDs21g0MA=MHbpPa+5;d`VD?%7!RMYW`HKGz3{5>t!CugN)&Xc(P0Yb%1;-rd= zVudoJQ!G(#Tb_JOY4Q<e$xS86tgrmVLHft5Q9icF_)v+FDBL^6Nhsy-&E`*32>a;^ zTEnV>)}a%By`^f5WCK5h!2^SOvWfUNZH{ACT{W^Voo=h4Ppr5-uh`eG5>hJIgUHjD zhSznvC)eq?<VUh0ht8?YWAXtnHxJm4eQtT+tIY$?;#;ibz;<OLL7%Ic)U=1V#LMPp zMf$$=zTJ$OH_Izj?R_-F@rxfXNTpW3jK}~A3tUgpn*0fvQFI7&|D5%|itllKx9|T{ z*8jTtsGENOL+k1KPFEZ1BfYNw)%CyX`d{+>5B}9%f?tDdMPDnuq)|Bx%?c^y{IPB) zdtnc$McMQ8q8VQZ`1_<R;HmsL?S&CD%e~^;=;BL`p>yrHUmf8;kN}SZ?Ur}b7aR4s zaVR$S63qXIt^EWw*QyP%*>qTRC%hML7@RqN7sqlE3zF|06xS79bpEeaCV5$&FRqmp zV|axF{#Gql(ON`nj`{x-)F(iAVX#185c~DCe;wL^3`5gjBF<6o)9DG>KuObI74W1K z^^B*XjFO)5G_0U7Xp!LnaUcq7e>y!n@8H9c4igt=D)3%4W0Ch^wKRI1yR(b-8yBtt zzF|2fj2>dVv)!+4=Fvr|yI<MeOF4dXbaGA#>w&?1)hF-U$BB#!>nQdQ3*(1FL^ytX z(LUdQcUb7;eA&h&wW%p1UhE$dWq5kfjIk=TTfyu;rmUhoKhIvl^RfZ+lRNlyPtN%x z_S`p`^?Oe>)KEhWHPlc;4K>tILk%_5P(uwh)KEhWHPlc;4K>tILk%_5P(uwh)KEhW UHPlc;4Syo|FQ@&HFaUS}0LU-WT>t<8 literal 0 HcmV?d00001 diff --git a/source/agent_based/inv_juniper_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_juniper_bgp_peer.py similarity index 93% rename from source/agent_based/inv_juniper_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/agent_based/inv_juniper_bgp_peer.py index 8fec6ae..2613dc4 100644 --- a/source/agent_based/inv_juniper_bgp_peer.py +++ b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_juniper_bgp_peer.py @@ -11,29 +11,28 @@ # # THX to Jeff Fern jeff[dash]cmk[at]fcse[dot]co[dot]uk for testing and providing feedback to make this addon happen # + # 2022-04-30: code cleanup/streamlining -# +# 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_render_ip_address, get_bgp_type, ) -from cmk.base.plugins.agent_based.utils.juniper_bgp_peer import ( +from cmk_addons.plugins.bgp_peer.lib.juniper_bgp_peer import ( juniper_afi_safi_mapping, ) @@ -86,7 +85,7 @@ def parse_inv_juniper_bgp_peer(string_table: List[StringByteTable]): return bgp_peers -register.snmp_section( +snmp_section_inv_juniper_bgp_peer=SNMPSection( name='inv_juniper_bgp_peer', parse_function=parse_inv_juniper_bgp_peer, parsed_section_name='inv_bgp_peer', diff --git a/source/agent_based/juniper_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/juniper_bgp_peer.py similarity index 95% rename from source/agent_based/juniper_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/agent_based/juniper_bgp_peer.py index df60dce..6c5db35 100644 --- a/source/agent_based/juniper_bgp_peer.py +++ b/source/cmk_addons_plugins/bgp_peer/agent_based/juniper_bgp_peer.py @@ -18,30 +18,29 @@ # 2023-01-25: fixed routing instance in item # 2023-02-20: fixed crash on unexpected input data (i.e. in_prefixes_active) # THX stephen[dot]Chrobot[dash]Hudson[at]nominet[dot]uk -# +# 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 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_render_ip_address, ) -from cmk.base.plugins.agent_based.utils.juniper_bgp_peer import ( +from cmk_addons.plugins.bgp_peer.lib.juniper_bgp_peer import ( juniper_afi_safi_mapping, ) @@ -120,7 +119,7 @@ def parse_juniper_bgp_peer(string_table: List[StringByteTable]) -> Optional[Dict return peer_table -register.snmp_section( +snmp_section_juniper_bgp_peer=SNMPSection( name='juniper_bgp_peer', parse_function=parse_juniper_bgp_peer, parsed_section_name='bgp_peer', diff --git a/source/agent_based/utils/juniper_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/lib/juniper_bgp_peer.py similarity index 100% rename from source/agent_based/utils/juniper_bgp_peer.py rename to source/cmk_addons_plugins/bgp_peer/lib/juniper_bgp_peer.py diff --git a/source/packages/juniper_bgp_peer b/source/packages/juniper_bgp_peer index fad30f3..dca9323 100644 --- a/source/packages/juniper_bgp_peer +++ b/source/packages/juniper_bgp_peer @@ -20,12 +20,12 @@ 'NOTE: this plugin will supersede the original ' 'juniper_bgp_status plugin.\n', 'download_url': 'https://thl-cmk.hopto.org/gitlab/checkmk/juniper-networks/juniper_bgp_peer', - 'files': {'agent_based': ['juniper_bgp_peer.py', - 'inv_juniper_bgp_peer.py', - 'utils/juniper_bgp_peer.py']}, + 'files': {'cmk_addons_plugins': ['bgp_peer/agent_based/inv_juniper_bgp_peer.py', + 'bgp_peer/agent_based/juniper_bgp_peer.py', + 'bgp_peer/lib/juniper_bgp_peer.py']}, 'name': 'juniper_bgp_peer', 'title': 'Juniper 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