aboutsummaryrefslogtreecommitdiffstats
path: root/app/monitoring/handlers/handle_host_pnic.py
diff options
context:
space:
mode:
authoryayogev <yaronyogev@gmail.com>2017-09-06 20:17:57 +0300
committeryayogev <yaronyogev@gmail.com>2017-09-06 20:17:57 +0300
commitf6bd0ee9158de10e75011783c087171898705ad0 (patch)
tree57a19bb65b613777db19648ebd660c3d51422f32 /app/monitoring/handlers/handle_host_pnic.py
parentf666cfba54d300366822de2046766776c3e7771f (diff)
US2925 add monitoring of host pNIC in OVS
- check_interface.py: renamed to check_pnic_ovs.py - check_interface.py: check changed to use 'ip link show' command - monitor.py: handle check name where object type contains underscore, specifically 'host_pnic' - monitor.py: refactored to work as class - monitoring_pnic.py: changed to handle either OVS or VPP - monitoring_check_handler.py: change to allow defining hard-coded check_type string for file_type naming - monitoring config templates: removed default handler Change-Id: Iad38fa108e9ceae18a7c94b3570a8d9b836a8632 Signed-off-by: yayogev <yaronyogev@gmail.com>
Diffstat (limited to 'app/monitoring/handlers/handle_host_pnic.py')
-rw-r--r--app/monitoring/handlers/handle_host_pnic.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/monitoring/handlers/handle_host_pnic.py b/app/monitoring/handlers/handle_host_pnic.py
new file mode 100644
index 0000000..3c5ba87
--- /dev/null
+++ b/app/monitoring/handlers/handle_host_pnic.py
@@ -0,0 +1,31 @@
+###############################################################################
+# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) #
+# and others #
+# #
+# All rights reserved. This program and the accompanying materials #
+# are made available under the terms of the Apache License, Version 2.0 #
+# which accompanies this distribution, and is available at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+###############################################################################
+# handle monitoring event for pNIC objects
+
+from monitoring.handlers.monitoring_check_handler import MonitoringCheckHandler
+from utils.special_char_converter import SpecialCharConverter
+
+
+class HandleHostPnic(MonitoringCheckHandler):
+
+ def __init__(self, args):
+ super().__init__(args)
+
+ def handle(self, obj_id, check_result):
+ object_id = obj_id[:obj_id.index('-')]
+ mac = obj_id[obj_id.index('-')+1:]
+ converter = SpecialCharConverter()
+ mac_address = converter.decode_special_characters(mac)
+ object_id += '-' + mac_address
+ doc = self.doc_by_id(object_id)
+ if not doc:
+ return 1
+ self.keep_result(doc, check_result)
+ return check_result['status']