diff --git a/CHANGELOG b/CHANGELOG index a51514e51c0a80371bb602294a04b56233989ee1..1316f0e10c4534ce23959f8f9b6e55f33cf9d825 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,3 +4,4 @@ 2022-05-11: changed bgp_get_peer_entry to get proper parameters instead of Nontransparent list added remote_as to BgpPeerItem 2023-01-25: fixed routing instance in item +2023-02-20: fixed crash no missing input data (i.e. in_prefixes_active) diff --git a/agent_based/juniper_bgp_peer.py b/agent_based/juniper_bgp_peer.py index 7d19cea9612502db7e0245c041a76bd169614745..5ce59b10c01b0fc3c1b29fa15421273ff677a975 100644 --- a/agent_based/juniper_bgp_peer.py +++ b/agent_based/juniper_bgp_peer.py @@ -16,6 +16,8 @@ # 2022-05-11: changed bgp_get_peer_entry to get proper parameters instead of Nontransparent list # added remote_as to BgpPeerItem # 2023-01-25: fixed routing instance in item +# 2023-02-20: fixed crash no missing input data (i.e. in_prefixes_active) +# import copy from typing import List, Dict, Optional, Tuple @@ -61,17 +63,17 @@ def parse_juniper_bgp_peer(string_table: List[StringByteTable]) -> Optional[Dict for entry in jnxBgpM2PrefixCountersEntry: oid_end, in_prefixes, in_prefixes_accepted, in_prefixes_rejected, out_prefixes, in_prefixes_active = entry index, afi, safi = oid_end.split('.') # peer index, afi, safi + prefixes = JuniperPrefixes( afi=afi, safi=safi, - accepted_prefixes=int(in_prefixes_accepted), + accepted_prefixes=int(in_prefixes_accepted) if in_prefixes_accepted.isdigit() else None, metric_rate=[], metric_count=[ - ('in_prefixes', int(in_prefixes)), - # ('in_prefixes_accepted', int(in_prefixes_accepted)), - ('in_prefixes_rejected', int(in_prefixes_rejected)), - ('out_prefixes', int(out_prefixes)), - ('in_prefixes_active', int(in_prefixes_active)), + ('in_prefixes', int(in_prefixes) if in_prefixes.isdigit() else None), + ('in_prefixes_rejected', int(in_prefixes_rejected) if in_prefixes_rejected.isdigit() else None), + ('out_prefixes', int(out_prefixes) if out_prefixes.isdigit() else None), + ('in_prefixes_active', int(in_prefixes_active) if in_prefixes_active.isdigit() else None), ], ) diff --git a/juniper_bgp_peer.mkp b/juniper_bgp_peer.mkp index 35fa375c97fb80499e9157bbf0fcea6393a3c5f1..9e906b82c89c4d279a5ce050a5820b07d8a1c155 100644 Binary files a/juniper_bgp_peer.mkp and b/juniper_bgp_peer.mkp differ diff --git a/packages/juniper_bgp_peer b/packages/juniper_bgp_peer index e1988fc68ce5ea24d9da7bd807137cbf3c1fbff9..950f0da6058c393cd1945eae78b8677dc81d0589 100644 --- a/packages/juniper_bgp_peer +++ b/packages/juniper_bgp_peer @@ -14,9 +14,8 @@ 'inv_juniper_bgp_peer.py', 'utils/juniper_bgp_peer.py']}, 'name': 'juniper_bgp_peer', - 'num_files': 3, 'title': 'Juniper BGP peer', - 'version': '20220910.v.0.0.5a', + 'version': '20230220.v.0.0.5b', 'version.min_required': '2.0.0', - 'version.packaged': '2021.09.20', + 'version.packaged': '2.1.0p21', 'version.usable_until': None} \ No newline at end of file