AETHER-1515 Make sure modem connection first before adding routes

Change-Id: I7696725347804b67f6711ca4fb8b754ffe4f9646
diff --git a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
index 180ea76..6cb581d 100755
--- a/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
+++ b/edge-monitoring/agent_modem/edge_monitoring_agent_modem.py
@@ -304,16 +304,6 @@
 
 
 def main():
-    for ip in CONF.ips:
-        if not ip:
-            continue
-        try:
-            subprocess.check_output("sudo ip route replace {}/32 via {}".format(
-                ip, CONF.modem.ip_addr), shell=True)
-        except subprocess.CalledProcessError as e:
-            logging.error("Failed to add routes", e.returncode, e.output)
-            sys.exit(1)
-
     modem = Modem(CONF.modem.port, CONF.modem.baud)
     try:
         modem.connect()
@@ -321,6 +311,17 @@
         logging.error("Failed to connect the modem for %s", e)
         sys.exit(1)
 
+    for ip in CONF.ips:
+        if not ip:
+            continue
+        try:
+            subprocess.check_output("sudo ip route replace {}/32 via {}".format(
+                ip, CONF.modem.ip_addr), shell=True)
+            logging.info("Added route for test address: %s", ip)
+        except subprocess.CalledProcessError as e:
+            logging.error("Failed to add routes %s", e.output)
+            sys.exit(1)
+
     while True:
         signal_quality = get_signal_quality(modem)