Fix monitoring agent handling of iperf ping failure

Change-Id: I74f9414b58d1dc14914c94f47e1b8cd3243c0bb8
diff --git a/VERSION b/VERSION
index 592e815..e196726 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.6.12
+0.6.13
diff --git a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
index 756f22c..823e373 100755
--- a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
+++ b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
@@ -188,7 +188,7 @@
               'max': 0.0,
               'stddev': 0.0}
     if not ip:
-        return result
+        return result, True
     try:
         pingResult = subprocess.check_output(
                 "ping -c " + str(count) + " " + ip + \
@@ -200,7 +200,8 @@
                   'stddev': float(pingResult[3])}
     except Exception as e:
         logging.error("Ping test failed for " + ip + ": %s", e)
-    return result
+        return result, False
+    return result, True
 
 
 def get_ping_test(modem):
@@ -211,10 +212,15 @@
     2) # TODO: Performs ping to device on network.
     '''
     speedtest_ping = {}
+    status = True
+    ping_test_passed = True
 
     for i in range(0, len(CONF.ips)):
-        speedtest_ping[CONF.ips._fields[i]] = run_ping_test(CONF.ips[i], 10)
-    return speedtest_ping
+        speedtest_ping[CONF.ips._fields[i]], status = run_ping_test(CONF.ips[i], 10)
+        if not status:
+            ping_test_passed = False
+            logging.error("Ping test failed. Not running further tests.")
+    return speedtest_ping, ping_test_passed
 
 def run_iperf_test(ip, port, time_duration, is_downlink):
     '''
@@ -225,7 +231,7 @@
     result = 0.0
     if not ip:
         return result
-    maxRetries = 5
+    maxRetries = 2
     err = None
     for _ in range(0, maxRetries):
         try:
@@ -395,8 +401,12 @@
             report_status(signal_quality, cp_state)
             continue
 
-        speedtest_ping = get_ping_test(modem)
-        speedtest_iperf = get_iperf_test(modem)
+        speedtest_ping, speedtest_status = get_ping_test(modem)
+        if speedtest_status:
+            speedtest_iperf = get_iperf_test(modem)
+        else:
+            report_status(signal_quality, cp_state, up_state, speedtest_ping)
+            continue
 
         report_status(signal_quality, cp_state, up_state, speedtest_ping, speedtest_iperf)