Option to run cord-tester setup in foreground.
Delete relay configuration instead of restarting onos after tests.
Make sure prerequisites can be run on other ubuntu distros

Change-Id: Ic04a5dab41b013088cda651afe32abae8030c8d8
diff --git a/src/test/utils/CordTestServer.py b/src/test/utils/CordTestServer.py
index c882f58..fe676fe 100644
--- a/src/test/utils/CordTestServer.py
+++ b/src/test/utils/CordTestServer.py
@@ -123,8 +123,11 @@
         return 'DONE'
 
 @nottest
-def cord_test_server_start(daemonize = True, cord_test_host = CORD_TEST_HOST,
-                           cord_test_port = CORD_TEST_PORT, onos_cord = None):
+def cord_test_server_start(daemonize = True,
+                           cord_test_host = CORD_TEST_HOST,
+                           cord_test_port = CORD_TEST_PORT,
+                           onos_cord = None,
+                           foreground=False):
     server = SimpleXMLRPCServer( (cord_test_host, cord_test_port) )
     server.register_instance(CordTestServer())
     CordTestServer.onos_cord = onos_cord
@@ -135,10 +138,16 @@
             reinitContainerClients()
             server.serve_forever()
     else:
-        task = threading.Thread(target = server.serve_forever)
-        ##terminate when main thread exits
-        task.daemon = True
-        task.start()
+        if foreground:
+            try:
+                server.serve_forever()
+            except KeyboardInterrupt:
+                return server
+        else:
+            task = threading.Thread(target = server.serve_forever)
+            ##terminate when main thread exits
+            task.daemon = True
+            task.start()
     return server
 
 @nottest
diff --git a/src/test/utils/OnosCtrl.py b/src/test/utils/OnosCtrl.py
index 5e6dcdf..83cdedc 100644
--- a/src/test/utils/OnosCtrl.py
+++ b/src/test/utils/OnosCtrl.py
@@ -56,7 +56,7 @@
         self.auth = ('karaf', 'karaf')
 
     @classmethod
-    def config(cls, config,controller=None):
+    def config(cls, config, controller=None):
         if config is not None:
             json_data = json.dumps(config)
 	    if controller is None:
@@ -69,6 +69,20 @@
             return resp.ok, resp.status_code
         return False, 400
 
+    @classmethod
+    def delete(cls, config, controller=None):
+        if config:
+            json_data = json.dumps(config)
+	    if controller is None:
+	        print('default Onos config url is %s'%cls.cfg_url)
+                resp = requests.delete(cls.cfg_url, auth = cls.auth, data = json_data)
+	    else:
+		cfg_url = 'http://%s:8181/onos/v1/network/configuration/' %(controller)
+		print('non-default Onos config url is %s'%cfg_url)
+	        resp = requests.delete(cfg_url, auth = cls.auth, data = json_data)
+            return resp.ok, resp.status_code
+        return False, 400
+
     def activate(self):
         resp = requests.post(self.app_url + '/active', auth = self.auth)
         return resp.ok, resp.status_code