From 0bbe3095ae54da41dbf8e6dab6e5f82cfbdc74bb Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Wed, 15 Sep 2021 21:25:19 +0200
Subject: [PATCH] update project

---
 agent_based/ospf_neighbor.py      |  14 +++++++-------
 ospf_neighbor.mkp                 | Bin 7629 -> 7706 bytes
 packages/ospf_neighbor            |   2 +-
 web/plugins/wato/ospf_neighbor.py |   6 ++++++
 4 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/agent_based/ospf_neighbor.py b/agent_based/ospf_neighbor.py
index 0b1662a..186f5e2 100644
--- a/agent_based/ospf_neighbor.py
+++ b/agent_based/ospf_neighbor.py
@@ -1,7 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
-#
 ###############################################################################
 #    This program is free software: you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
@@ -182,7 +181,7 @@ def discovery_ospf_neighbor(section: Dict[str, OspfNeighbor]) -> DiscoveryResult
 
 
 def check_ospf_neighbor(item, params, section: Dict[str, OspfNeighbor]) -> CheckResult:
-    def ospf_nbr_state(st):
+    def ospf_nbr_state(st: str) -> str:
         names = {'1': 'down',
                  '2': 'attempt',
                  '3': 'init',
@@ -193,7 +192,7 @@ def check_ospf_neighbor(item, params, section: Dict[str, OspfNeighbor]) -> Check
                  '8': 'full'}
         return names.get(st, 'unknown: %s' % st)
 
-    # default checkmk states for ospfNbrState
+    # default monitoring states for ospfNbrState
     neighborstate = {
         '1': 2,  # down
         '2': 1,  # attempt
@@ -205,18 +204,18 @@ def check_ospf_neighbor(item, params, section: Dict[str, OspfNeighbor]) -> Check
         '8': 0,  # full
     }
 
-    notFoundState = 2
+    not_found_state = params['state_not_found', 3]
 
     for neighbour, neighbourAlias, neighbourNotFoundState in params.get('peer_list', []):
         if item == neighbour:
             yield Result(state=State.OK, summary=f'[{neighbourAlias}]')
-            notFoundState = neighbourNotFoundState
+            not_found_state = neighbourNotFoundState
 
     try:
         neighbor = section[item]
     except KeyError:
-        yield Result(state=State(notFoundState), notice='Item not found in SNMP data')
-        return 
+        yield Result(state=State(not_found_state), notice='Item not found in SNMP data')
+        return
 
     yield Result(state=State.OK, summary=f'Neighbor ID: {neighbor.rtrid}')
 
@@ -267,6 +266,7 @@ register.check_plugin(
     discovery_function=discovery_ospf_neighbor,
     check_function=check_ospf_neighbor,
     check_default_parameters={
+        'state_not_found': 3,
     },
     check_ruleset_name='ospf_neighbor',
 )
diff --git a/ospf_neighbor.mkp b/ospf_neighbor.mkp
index f53c528d4152ff900f6478b5c36304833055d6d2..825399809418c202d2535f282c00a9c8f9b7debe 100644
GIT binary patch
literal 7706
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

literal 7629
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
O=HmVz8Nvtx!hZla!|jg%

diff --git a/packages/ospf_neighbor b/packages/ospf_neighbor
index b05a2c8..3676f22 100644
--- a/packages/ospf_neighbor
+++ b/packages/ospf_neighbor
@@ -17,7 +17,7 @@
  'name': 'ospf_neighbor',
  'num_files': 4,
  'title': 'OSPF Neighbor State Check',
- 'version': '20210915.v1.4',
+ 'version': '20210915.v1.4a',
  'version.min_required': '2.0.0',
  'version.packaged': '2021.07.14',
  'version.usable_until': None}
\ No newline at end of file
diff --git a/web/plugins/wato/ospf_neighbor.py b/web/plugins/wato/ospf_neighbor.py
index 7b4122f..16c9b98 100644
--- a/web/plugins/wato/ospf_neighbor.py
+++ b/web/plugins/wato/ospf_neighbor.py
@@ -32,6 +32,12 @@ def _parameter_valuespec_ospf_neighbor():
     return Transform(
         Dictionary(
             elements=[
+                ('state_not_found',
+                 MonitoringState(
+                     title=_('State to report if neighbor not found'),
+                     help=_('Monitoring state if the neighbor not found in the SNMP data.'),
+                     default_value=3,
+                 )),
                 ('neighborstate',
                  Dictionary(
                      title=_('State to report for OSPF neighbor state'),
-- 
GitLab