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)