Driver fixes, Device device discovery in Sanity, two case additions to Perf
diff --git a/TestON/tests/OnosScale4nodes/OnosScale4nodes.py b/TestON/tests/OnosScale4nodes/OnosScale4nodes.py
index a054088..06778da 100644
--- a/TestON/tests/OnosScale4nodes/OnosScale4nodes.py
+++ b/TestON/tests/OnosScale4nodes/OnosScale4nodes.py
@@ -20,10 +20,27 @@
         utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Zookeeper is up!",onfail="Zookeeper is down...")
         main.step("Testing startup Cassandra")
         data =  main.Cassandra1.isup()
+        if data == main.FALSE:
+            main.Cassandra1.stop()
+            main.Cassandra2.stop()
+            main.Cassandra3.stop()
+            main.Cassandra4.stop()
+
+            time.sleep(5)
+ 
+            main.Cassandra1.start()
+            main.Cassandra2.start()
+            main.Cassandra3.start()
+            main.Cassandra4.start()
         utilities.assert_equals(expect=main.TRUE,actual=data,onpass="Cassandra is up!",onfail="Cassandra is down...")
         main.step("Testing startup ONOS")
         main.ONOS1.start()
         main.ONOS2.start()
+        main.ONOS2.start_rest()
+        time.sleep(5)
+        test= main.ONOS2.rest_status()
+        if test == main.FALSE:
+            main.ONOS2.start_rest()
         main.ONOS3.start()
         main.ONOS4.start()
         data = main.ONOS1.isup()
@@ -77,7 +94,7 @@
         main.log.info("Pointing the Switches at ONE controller... then BEGIN time") 
         main.Mininet1.ctrl_local()
         t1 = time.time()
-        for i in range(9) : 
+        for i in range(15) : 
             result = main.ONOS1.check_status(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
             if result == 1 : 
                 break
@@ -117,13 +134,14 @@
         main.ONOS2.stop()
         main.ONOS3.stop()
         main.ONOS4.stop()
-        main.log.info("Dropping keyspace...")
-        main.ONOS1.drop_keyspace()
+        #main.log.info("Dropping keyspace...")
+        #main.ONOS1.drop_keyspace()
         time.sleep(5)
         main.log.info("Bringing ONOS up")
         main.ONOS1.start()
         time.sleep(5) 
         main.ONOS2.start()
+        main.ONOS2.start_rest()
         main.ONOS3.start()
         main.ONOS4.start()
         main.ONOS1.isup()
@@ -134,7 +152,7 @@
         main.log.info("Pointing the Switches at ALL controllers... then BEGIN time") 
         main.Mininet1.ctrl_all()
         t1 = time.time()
-        for i in range(9) : 
+        for i in range(15) : 
             result = main.ONOS1.check_status(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
             if result == 1 : 
                 break
@@ -164,7 +182,7 @@
         Then it evenly points all mininet switches to all ONOS nodes, but only one node, and times how long it take for the ONOS rest call to reflect the correct count of switches and links.
         '''
         import time
-        main.log.report("Time convergence for switches -> one of all nodes in cluster")
+        main.log.report("Time convergence for switches -> Divide switches equall among all  nodes in cluster")
         main.case("Timing Onos Convergence for even single controller distribution")
         main.step("Bringing ONOS down...") 
         main.log.info("all switch no controllers") 
@@ -174,13 +192,14 @@
         main.ONOS2.stop()
         main.ONOS3.stop()
         main.ONOS4.stop()
-        main.log.info("Dropping keyspace...")
-        main.ONOS1.drop_keyspace()
+        #main.log.info("Dropping keyspace...")
+        #main.ONOS1.drop_keyspace()
         time.sleep(5)
         main.log.info("Bringing ONOS up")
         main.ONOS1.start()
         time.sleep(5) 
         main.ONOS2.start()
+        main.ONOS2.start_rest()
         main.ONOS3.start()
         main.ONOS4.start()
         main.ONOS1.isup()
@@ -191,7 +210,7 @@
         main.log.info("Pointing the Switches to alternating controllers... then BEGIN time") 
         main.Mininet1.ctrl_divide()
         t1 = time.time()
-        for i in range(9) : 
+        for i in range(15) : 
             result = main.ONOS1.check_status(main.params['RestIP'],main.params['NR_Switches'],main.params['NR_Links'])
             if result == 1 : 
                 break