Fix error handling in edge_monitoring_server for dongle stats
Change-Id: I5d89e5aba4130ed8e4bce65358424820a2d6a3c3
diff --git a/VERSION b/VERSION
index f38fc53..0a1ffad 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.7.3
+0.7.4
diff --git a/edge-monitoring-server/edge_monitoring_server.py b/edge-monitoring-server/edge_monitoring_server.py
index 2096ff6..fa50bcc 100755
--- a/edge-monitoring-server/edge_monitoring_server.py
+++ b/edge-monitoring-server/edge_monitoring_server.py
@@ -494,15 +494,34 @@
connect_status = edge['status']['control_plane']
ping_status = edge['status']['user_plane']
+ # Add PLMN Status
try:
- dongle_stats_imsi.labels(edge['name']).set(float(edge['dongle_stats']['IMSI']))
- dongle_stats_cellglobalid.labels(edge['name']).set(int(edge['dongle_stats']['CellGlobalID'], 16))
- dongle_stats_phycellid.labels(edge['name']).set(edge['dongle_stats']['PhyCellID'])
- if edge['dongle_stats']['PLMNStatus'] in plmnstatus_mapping:
+ if edge['dongle_stats']['PLMNStatus'] and edge['dongle_stats']['PLMNStatus'] in plmnstatus_mapping:
dongle_stats_plmnstatus.labels(edge['name']).set(plmnstatus_mapping[edge['dongle_stats']['PLMNStatus']])
else:
- dongle_stats_plmnstatus.labels(edge['name']).set(0)
- except KeyError:
+ pass
+ except:
+ pass
+
+ # Add IMSI
+ try:
+ if edge['dongle_stats']['IMSI']:
+ dongle_stats_imsi.labels(edge['name']).set(float(edge['dongle_stats']['IMSI']))
+ except:
+ pass
+
+ # Add CellGlobalID
+ try:
+ if edge['dongle_stats']['CellGlobalID']:
+ dongle_stats_cellglobalid.labels(edge['name']).set(int(edge['dongle_stats']['CellGlobalID'], 16))
+ except:
+ pass
+
+ # Add PhyCellID
+ try:
+ if edge['dongle_stats']['PhyCellID']:
+ dongle_stats_phycellid.labels(edge['name']).set(edge['dongle_stats']['PhyCellID'])
+ except:
pass
# Add ping dry_run latency results if available
diff --git a/edge-monitoring-server/test_edge_monitoring_server.py b/edge-monitoring-server/test_edge_monitoring_server.py
index 1786d6e..f2bf2a6 100755
--- a/edge-monitoring-server/test_edge_monitoring_server.py
+++ b/edge-monitoring-server/test_edge_monitoring_server.py
@@ -771,7 +771,7 @@
response = self.app.get('/edges/metrics')
data = response.get_data(as_text=True)
- self.assertTrue('aetheredge_dongle_stats_imsi{name="ace-menlo-rasp-pi"} 0.0' in data)
+ self.assertFalse('aetheredge_dongle_stats_imsi{name="ace-menlo-rasp-pi"}' in data)
self.assertFalse('aetheredge_dongle_stats_cellglobalid{name="ace-menlo-rasp-pi"}' in data)
self.assertFalse('aetheredge_dongle_stats_plmnstatus{name="ace-menlo-rasp-pi"}' in data)
self.assertFalse('aetheredge_dongle_stats_phycellid{name="ace-menlo-rasp-pi"}' in data)