Fix edge-monitoring-server iperf_server results being unavailable

Change-Id: I4ad7e66d48ab00d9fd969922049c2bd63b3c6703
diff --git a/VERSION b/VERSION
index 05e8a45..2228cad 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.6.6
+0.6.7
diff --git a/edge-monitoring-server/edge_monitoring_server.py b/edge-monitoring-server/edge_monitoring_server.py
index a467fee..398fedf 100755
--- a/edge-monitoring-server/edge_monitoring_server.py
+++ b/edge-monitoring-server/edge_monitoring_server.py
@@ -321,23 +321,32 @@
         ping_status = edge['status']['user_plane']
 
         # Add ping dns latency results if available
-        if edge['speedtest']['ping']['dns']['avg']:
-            ping_dns_min.labels(edge['name']).set(edge['speedtest']['ping']['dns']['min'])
-            ping_dns_avg.labels(edge['name']).set(edge['speedtest']['ping']['dns']['avg'])
-            ping_dns_max.labels(edge['name']).set(edge['speedtest']['ping']['dns']['max'])
-            ping_dns_stddev.labels(edge['name']).set(edge['speedtest']['ping']['dns']['stddev'])
+        try:
+            if edge['speedtest']['ping']['dns']['avg']:
+                ping_dns_min.labels(edge['name']).set(edge['speedtest']['ping']['dns']['min'])
+                ping_dns_avg.labels(edge['name']).set(edge['speedtest']['ping']['dns']['avg'])
+                ping_dns_max.labels(edge['name']).set(edge['speedtest']['ping']['dns']['max'])
+                ping_dns_stddev.labels(edge['name']).set(edge['speedtest']['ping']['dns']['stddev'])
+        except KeyError:
+            pass
 
         # Add ping iperf_server latency results if available
-        if edge['speedtest']['ping']['iperf_server']['avg']:
-            ping_iperf_server_min.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['min'])
-            ping_iperf_server_avg.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['avg'])
-            ping_iperf_server_max.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['max'])
-            ping_iperf_server_stddev.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['stddev'])
+        try:
+            if edge['speedtest']['ping']['iperf_server']['avg']:
+                ping_iperf_server_min.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['min'])
+                ping_iperf_server_avg.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['avg'])
+                ping_iperf_server_max.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['max'])
+                ping_iperf_server_stddev.labels(edge['name']).set(edge['speedtest']['ping']['iperf_server']['stddev'])
+        except KeyError:
+            pass
 
         # Add iperf bandwidth results if available
-        if edge['speedtest']['iperf']['cluster']['downlink']:
-            iperf_cluster_downlink.labels(edge['name']).set(edge['speedtest']['iperf']['cluster']['downlink'])
-            iperf_cluster_uplink.labels(edge['name']).set(edge['speedtest']['iperf']['cluster']['uplink'])
+        try:
+            if edge['speedtest']['iperf']['cluster']['downlink']:
+                iperf_cluster_downlink.labels(edge['name']).set(edge['speedtest']['iperf']['cluster']['downlink'])
+                iperf_cluster_uplink.labels(edge['name']).set(edge['speedtest']['iperf']['cluster']['uplink'])
+        except KeyError:
+            pass
 
         cp_status.labels(edge['name']).set(status_codes[connect_status])
         up_status.labels(edge['name']).set(status_codes[ping_status])