diff --git a/TestON/tests/CHOtest/CHOtest.params b/TestON/tests/CHO/CHOtest/CHOtest.params
similarity index 98%
rename from TestON/tests/CHOtest/CHOtest.params
rename to TestON/tests/CHO/CHOtest/CHOtest.params
index 2098689..45d0fef 100644
--- a/TestON/tests/CHOtest/CHOtest.params
+++ b/TestON/tests/CHO/CHOtest/CHOtest.params
@@ -22,7 +22,7 @@
     </testcases>
 
     <DEPENDENCY>
-        <path>/tests/CHOtest/Dependencies/</path>
+        <path>/tests/CHOtest/dependencies/</path>
         <wrapper>CHOtestFunctions</wrapper>
     </DEPENDENCY>
 
diff --git a/TestON/tests/CHOtest/CHOtest.py b/TestON/tests/CHO/CHOtest/CHOtest.py
similarity index 99%
rename from TestON/tests/CHOtest/CHOtest.py
rename to TestON/tests/CHO/CHOtest/CHOtest.py
index 5c9d673..a1fb04f 100644
--- a/TestON/tests/CHOtest/CHOtest.py
+++ b/TestON/tests/CHO/CHOtest/CHOtest.py
@@ -210,7 +210,7 @@
         main.step( "Start Mininet with Att topology" )
         main.newTopo = main.params['TOPO1']['topo']
         mininetDir = main.Mininet1.home + "/custom/"
-        topoPath = main.testDir + "/" + main.TEST  + "/Dependencies/" + main.newTopo
+        topoPath = main.testDir + "/" + main.TEST  + "/dependencies/" + main.newTopo
         main.ONOSbench.secureCopy(main.Mininet1.user_name, main.Mininet1.ip_address, topoPath, mininetDir, direction="to")
         topoPath = mininetDir + main.newTopo
         startStatus = main.Mininet1.startNet(topoFile = topoPath)
@@ -275,7 +275,7 @@
 
         main.step("Start Mininet with Chordal topology")
         mininetDir = main.Mininet1.home + "/custom/"
-        topoPath = main.testDir + "/" + main.TEST  + "/Dependencies/" + main.newTopo
+        topoPath = main.testDir + "/" + main.TEST  + "/dependencies/" + main.newTopo
         main.ONOSbench.secureCopy(main.Mininet1.user_name, main.Mininet1.ip_address, topoPath, mininetDir, direction="to")
         topoPath = mininetDir + main.newTopo
         startStatus = main.Mininet1.startNet(topoFile = topoPath)
@@ -337,7 +337,7 @@
 
         main.step("Start Mininet with Spine topology")
         mininetDir = main.Mininet1.home + "/custom/"
-        topoPath = main.testDir + "/" + main.TEST  + "/Dependencies/" + main.newTopo
+        topoPath = main.testDir + "/" + main.TEST  + "/dependencies/" + main.newTopo
         main.ONOSbench.secureCopy(main.Mininet1.user_name, main.Mininet1.ip_address, topoPath, mininetDir, direction="to")
         topoPath = mininetDir + main.newTopo
         startStatus = main.Mininet1.startNet(topoFile = topoPath)
diff --git a/TestON/tests/CHOtest/CHOtest.topo b/TestON/tests/CHO/CHOtest/CHOtest.topo
similarity index 75%
rename from TestON/tests/CHOtest/CHOtest.topo
rename to TestON/tests/CHO/CHOtest/CHOtest.topo
index 8053e31..01801e7 100644
--- a/TestON/tests/CHOtest/CHOtest.topo
+++ b/TestON/tests/CHO/CHOtest/CHOtest.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,8 +12,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -21,8 +21,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -30,8 +30,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -39,12 +39,12 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>12</connect_order>
             <COMPONENTS> </COMPONENTS>
         </Mininet1>
 
     </COMPONENT>
-</TOPOLOGY>
\ No newline at end of file
+</TOPOLOGY>
diff --git a/TestON/tests/CHOtest/README b/TestON/tests/CHO/CHOtest/README
similarity index 87%
rename from TestON/tests/CHOtest/README
rename to TestON/tests/CHO/CHOtest/README
index ab402f7..1e8720a 100644
--- a/TestON/tests/CHOtest/README
+++ b/TestON/tests/CHO/CHOtest/README
@@ -31,10 +31,10 @@
 
             ./cli.py run CHOtest onoscell <cell name>.
 
-        Passwordless login must be set from TestStation "admin" root user.
+        Passwordless login must be set from TestStation "sdn" root user.
         This test relies on the topology files to start Mininet located in
-        the Dependency folder. Be sure to check that each topology file can
+        the dependencies folder. Be sure to check that each topology file can
         be loaded properly by Mininet by using this command:
 
-            sudo ~/<Dependency path>/<topology name>
+            sudo ~/<dependencies path>/<topology name>
 
diff --git a/TestON/tests/CHOtest/__init__.py b/TestON/tests/CHO/CHOtest/__init__.py
similarity index 100%
rename from TestON/tests/CHOtest/__init__.py
rename to TestON/tests/CHO/CHOtest/__init__.py
diff --git a/TestON/tests/CHOtest/Dependencies/CHOtestFunctions.py b/TestON/tests/CHO/CHOtest/dependencies/CHOtestFunctions.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/CHOtestFunctions.py
rename to TestON/tests/CHO/CHOtest/dependencies/CHOtestFunctions.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoAtt.py b/TestON/tests/CHO/CHOtest/dependencies/topoAtt.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoAtt.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoAtt.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoAttIpv6.py b/TestON/tests/CHO/CHOtest/dependencies/topoAttIpv6.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoAttIpv6.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoAttIpv6.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoChordal.py b/TestON/tests/CHO/CHOtest/dependencies/topoChordal.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoChordal.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoChordal.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoChordalIpv6.py b/TestON/tests/CHO/CHOtest/dependencies/topoChordalIpv6.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoChordalIpv6.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoChordalIpv6.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoSpine.py b/TestON/tests/CHO/CHOtest/dependencies/topoSpine.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoSpine.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoSpine.py
diff --git a/TestON/tests/CHOtest/Dependencies/topoSpineIpv6.py b/TestON/tests/CHO/CHOtest/dependencies/topoSpineIpv6.py
similarity index 100%
rename from TestON/tests/CHOtest/Dependencies/topoSpineIpv6.py
rename to TestON/tests/CHO/CHOtest/dependencies/topoSpineIpv6.py
diff --git a/TestON/tests/CHOtest/__init__.py b/TestON/tests/CHO/__init__.py
similarity index 100%
copy from TestON/tests/CHOtest/__init__.py
copy to TestON/tests/CHO/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/CHO/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/CHO/dependencies/__init__.py
diff --git a/TestON/tests/FUNCflow/FUNCflow.params b/TestON/tests/FUNC/FUNCflow/FUNCflow.params
similarity index 96%
rename from TestON/tests/FUNCflow/FUNCflow.params
rename to TestON/tests/FUNC/FUNCflow/FUNCflow.params
index b97ff7b..5defc95 100755
--- a/TestON/tests/FUNCflow/FUNCflow.params
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.params
@@ -25,7 +25,7 @@
     <DEBUG>on</DEBUG>
 
     <DEPENDENCY>
-        <path>/tests/FUNCflow/Dependency/</path>
+        <path>/tests/FUNC/FUNCflow/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>topo</wrapper2>
         <topology>topo-flow.py</topology>
diff --git a/TestON/tests/FUNCflow/FUNCflow.py b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
similarity index 99%
rename from TestON/tests/FUNCflow/FUNCflow.py
rename to TestON/tests/FUNC/FUNCflow/FUNCflow.py
index 11f422b..7851d51 100644
--- a/TestON/tests/FUNCflow/FUNCflow.py
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
@@ -121,13 +121,17 @@
         for i in range( main.maxNodes ):
             main.ONOSbench.onosDie( main.ONOSip[ i ] )
 
-        print "NODE COUNT = ", main.numCtrls
+        main.log.info( "NODE COUNT = " + str( main.numCtrls ) )
 
         tempOnosIp = []
         for i in range( main.numCtrls ):
             tempOnosIp.append( main.ONOSip[i] )
 
-        main.ONOSbench.createCellFile( main.ONOSbench.ip_address, "temp", main.Mininet1.ip_address, main.apps, tempOnosIp )
+        main.ONOSbench.createCellFile( main.ONOSbench.ip_address,
+                                       "temp",
+                                       main.Mininet1.ip_address,
+                                       main.apps,
+                                       tempOnosIp )
 
         main.step( "Apply cell to environment" )
         cellResult = main.ONOSbench.setCell( "temp" )
diff --git a/TestON/tests/FUNCflow/FUNCflow.topo b/TestON/tests/FUNC/FUNCflow/FUNCflow.topo
similarity index 81%
rename from TestON/tests/FUNCflow/FUNCflow.topo
rename to TestON/tests/FUNC/FUNCflow/FUNCflow.topo
index 3bab2f1..d910446 100755
--- a/TestON/tests/FUNCflow/FUNCflow.topo
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -14,8 +14,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
@@ -24,8 +24,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/FUNCflow/README b/TestON/tests/FUNC/FUNCflow/README
similarity index 95%
rename from TestON/tests/FUNCflow/README
rename to TestON/tests/FUNC/FUNCflow/README
index 018e42d..4af83ae 100644
--- a/TestON/tests/FUNCflow/README
+++ b/TestON/tests/FUNC/FUNCflow/README
@@ -33,7 +33,7 @@
 
 Required:
         This test requires Mininet topology file topo-flow.py located in the
-        dependency folder. The topology consistes of VLAN hosts, so you will
+        dependencies folder. The topology consistes of VLAN hosts, so you will
         need to install the VLAN module. You will also need to install the
         Python module, Scapy.
 
diff --git a/TestON/tests/FUNCflow/__init__.py b/TestON/tests/FUNC/FUNCflow/__init__.py
similarity index 100%
rename from TestON/tests/FUNCflow/__init__.py
rename to TestON/tests/FUNC/FUNCflow/__init__.py
diff --git a/TestON/tests/FUNCflow/Dependency/flow-2sw.py b/TestON/tests/FUNC/FUNCflow/dependencies/flow-2sw.py
similarity index 100%
rename from TestON/tests/FUNCflow/Dependency/flow-2sw.py
rename to TestON/tests/FUNC/FUNCflow/dependencies/flow-2sw.py
diff --git a/TestON/tests/FUNCflow/Dependency/mplsClass.py b/TestON/tests/FUNC/FUNCflow/dependencies/mplsClass.py
similarity index 100%
rename from TestON/tests/FUNCflow/Dependency/mplsClass.py
rename to TestON/tests/FUNC/FUNCflow/dependencies/mplsClass.py
diff --git a/TestON/tests/FUNCflow/Dependency/startUp.py b/TestON/tests/FUNC/FUNCflow/dependencies/startUp.py
similarity index 100%
rename from TestON/tests/FUNCflow/Dependency/startUp.py
rename to TestON/tests/FUNC/FUNCflow/dependencies/startUp.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo-flow.py b/TestON/tests/FUNC/FUNCflow/dependencies/topo-flow.py
similarity index 100%
rename from TestON/tests/FUNCflow/Dependency/topo-flow.py
rename to TestON/tests/FUNC/FUNCflow/dependencies/topo-flow.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo.py b/TestON/tests/FUNC/FUNCflow/dependencies/topo.py
similarity index 100%
rename from TestON/tests/FUNCflow/Dependency/topo.py
rename to TestON/tests/FUNC/FUNCflow/dependencies/topo.py
diff --git a/TestON/tests/FUNCintent/FUNCintent.params b/TestON/tests/FUNC/FUNCintent/FUNCintent.params
similarity index 97%
rename from TestON/tests/FUNCintent/FUNCintent.params
rename to TestON/tests/FUNC/FUNCintent/FUNCintent.params
index 3271819..d0fcfa8 100644
--- a/TestON/tests/FUNCintent/FUNCintent.params
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.params
@@ -27,7 +27,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/FUNCintent/Dependency/</path>
+        <path>/tests/FUNC/FUNCintent/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>FuncIntentFunction</wrapper2>
         <wrapper3>topo</wrapper3>
@@ -68,4 +68,4 @@
         <dstPort>5001</dstPort>
     </SDNIP>
 
-</PARAMS>
\ No newline at end of file
+</PARAMS>
diff --git a/TestON/tests/FUNCintent/FUNCintent.py b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
similarity index 100%
rename from TestON/tests/FUNCintent/FUNCintent.py
rename to TestON/tests/FUNC/FUNCintent/FUNCintent.py
diff --git a/TestON/tests/FUNCintent/FUNCintent.topo b/TestON/tests/FUNC/FUNCintent/FUNCintent.topo
similarity index 75%
rename from TestON/tests/FUNCintent/FUNCintent.topo
rename to TestON/tests/FUNC/FUNCintent/FUNCintent.topo
index 46dc357..500fc3c 100755
--- a/TestON/tests/FUNCintent/FUNCintent.topo
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -14,8 +14,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -23,8 +23,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -32,8 +32,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
@@ -52,8 +52,8 @@
 
         <Scapy1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>6</connect_order>
         </Scapy1>
diff --git a/TestON/tests/FUNCintent/README b/TestON/tests/FUNC/FUNCintent/README
similarity index 95%
rename from TestON/tests/FUNCintent/README
rename to TestON/tests/FUNC/FUNCintent/README
index e97d0d3..c05562f 100644
--- a/TestON/tests/FUNCintent/README
+++ b/TestON/tests/FUNC/FUNCintent/README
@@ -24,7 +24,7 @@
 
 Required:
         This test requires Mininet topology file newFuncIntent.py that is in the
-        Dependency folder. You should run the topology file to check for any
+        dependencies folder. You should run the topology file to check for any
         missing packages. The mininet topology file has different type of hosts
         including VLAN hosts. Therefore you need to install VLAN module to build
         the topology correctly.
diff --git a/TestON/tests/FUNCintent/__init__.py b/TestON/tests/FUNC/FUNCintent/__init__.py
similarity index 100%
rename from TestON/tests/FUNCintent/__init__.py
rename to TestON/tests/FUNC/FUNCintent/__init__.py
diff --git a/TestON/tests/FUNCintent/Dependency/FuncIntentFunction.py b/TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py
similarity index 100%
rename from TestON/tests/FUNCintent/Dependency/FuncIntentFunction.py
rename to TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py
diff --git a/TestON/tests/FUNCintent/Dependency/newFuncTopo.py b/TestON/tests/FUNC/FUNCintent/dependencies/newFuncTopo.py
similarity index 100%
rename from TestON/tests/FUNCintent/Dependency/newFuncTopo.py
rename to TestON/tests/FUNC/FUNCintent/dependencies/newFuncTopo.py
diff --git a/TestON/tests/FUNCflow/Dependency/startUp.py b/TestON/tests/FUNC/FUNCintent/dependencies/startUp.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/startUp.py
copy to TestON/tests/FUNC/FUNCintent/dependencies/startUp.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo.py b/TestON/tests/FUNC/FUNCintent/dependencies/topo.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/topo.py
copy to TestON/tests/FUNC/FUNCintent/dependencies/topo.py
diff --git a/TestON/tests/FUNCintentRest/FUNCintentRest.params b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.params
similarity index 96%
rename from TestON/tests/FUNCintentRest/FUNCintentRest.params
rename to TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.params
index 7b29e9d..b3d3df3 100644
--- a/TestON/tests/FUNCintentRest/FUNCintentRest.params
+++ b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.params
@@ -26,7 +26,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/FUNCintentRest/Dependency/</path>
+        <path>/tests/FUNC/FUNCintentRest/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>FuncIntentFunction</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/FUNCintentRest/FUNCintentRest.py b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
similarity index 100%
rename from TestON/tests/FUNCintentRest/FUNCintentRest.py
rename to TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
diff --git a/TestON/tests/FUNCintentRest/FUNCintentRest.topo b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
similarity index 84%
rename from TestON/tests/FUNCintentRest/FUNCintentRest.topo
rename to TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
index 5e710a2..29c38a3 100755
--- a/TestON/tests/FUNCintentRest/FUNCintentRest.topo
+++ b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -46,8 +46,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -55,8 +55,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -64,8 +64,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -73,8 +73,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
@@ -84,8 +84,8 @@
 
         <Scapy1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>ScapyCliDriver</type>
             <connect_order>6</connect_order>
         </Scapy1>
diff --git a/TestON/tests/FUNCintentRest/README b/TestON/tests/FUNC/FUNCintentRest/README
similarity index 94%
rename from TestON/tests/FUNCintentRest/README
rename to TestON/tests/FUNC/FUNCintentRest/README
index ce4e99f..a7d5342 100644
--- a/TestON/tests/FUNCintentRest/README
+++ b/TestON/tests/FUNC/FUNCintentRest/README
@@ -24,7 +24,7 @@
 
 Required:
         This test requires Mininet topology file newFuncIntent.py that is in the
-        Dependency folder. You should run the topology file to check for any
+        dependencies folder. You should run the topology file to check for any
         missing packages. The mininet topology file has different type of hosts
         including VLAN hosts. Therefore you need to install VLAN module to build
         the topology correctly.
diff --git a/TestON/tests/FUNCintentRest/__init__.py b/TestON/tests/FUNC/FUNCintentRest/__init__.py
similarity index 100%
rename from TestON/tests/FUNCintentRest/__init__.py
rename to TestON/tests/FUNC/FUNCintentRest/__init__.py
diff --git a/TestON/tests/FUNCintentRest/Dependency/FuncIntentFunction.py b/TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py
similarity index 100%
rename from TestON/tests/FUNCintentRest/Dependency/FuncIntentFunction.py
rename to TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py
diff --git a/TestON/tests/FUNCintentRest/Dependency/newFuncTopo.py b/TestON/tests/FUNC/FUNCintentRest/dependencies/newFuncTopo.py
similarity index 100%
rename from TestON/tests/FUNCintentRest/Dependency/newFuncTopo.py
rename to TestON/tests/FUNC/FUNCintentRest/dependencies/newFuncTopo.py
diff --git a/TestON/tests/FUNCflow/Dependency/startUp.py b/TestON/tests/FUNC/FUNCintentRest/dependencies/startUp.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/startUp.py
copy to TestON/tests/FUNC/FUNCintentRest/dependencies/startUp.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo.py b/TestON/tests/FUNC/FUNCintentRest/dependencies/topo.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/topo.py
copy to TestON/tests/FUNC/FUNCintentRest/dependencies/topo.py
diff --git a/TestON/tests/FUNCipv6Intent/FUNCipv6Intent.params b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.params
similarity index 95%
rename from TestON/tests/FUNCipv6Intent/FUNCipv6Intent.params
rename to TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.params
index 851b142..58917ba 100644
--- a/TestON/tests/FUNCipv6Intent/FUNCipv6Intent.params
+++ b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.params
@@ -17,7 +17,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/FUNCipv6Intent/Dependency/</path>
+        <path>/tests/FUNC/FUNCipv6Intent/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>FUNCIpv6IntentFunction</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/FUNCipv6Intent/FUNCipv6Intent.py b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/FUNCipv6Intent.py
rename to TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
diff --git a/TestON/tests/FUNCipv6Intent/FUNCipv6Intent.topo b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
similarity index 74%
rename from TestON/tests/FUNCipv6Intent/FUNCipv6Intent.topo
rename to TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
index fd7c3eb..5d040d9 100755
--- a/TestON/tests/FUNCipv6Intent/FUNCipv6Intent.topo
+++ b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.topo
@@ -2,8 +2,8 @@
     <COMPONENT>
         <ONOSbench>
             <host>localhost</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -40,8 +40,8 @@
 
         <ONOS1>
             <host>OC1</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -49,8 +49,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>cnlabs</user>
-            <password>cnlabs123</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/FUNCipv6Intent/README b/TestON/tests/FUNC/FUNCipv6Intent/README
similarity index 94%
rename from TestON/tests/FUNCipv6Intent/README
rename to TestON/tests/FUNC/FUNCipv6Intent/README
index 3a2dd91..5e6e81c 100644
--- a/TestON/tests/FUNCipv6Intent/README
+++ b/TestON/tests/FUNC/FUNCipv6Intent/README
@@ -25,7 +25,7 @@
 
 Required:
         This test requires Mininet topology file newFuncIntent.py that is in the
-        Dependency folder. You should run the topology file to check for any
+        dependencies folder. You should run the topology file to check for any
         missing packages. The mininet topology file has different type of hosts
         including VLAN hosts. Therefore you need to install VLAN module to build
         the topology correctly.
diff --git a/TestON/tests/FUNCipv6Intent/__init__.py b/TestON/tests/FUNC/FUNCipv6Intent/__init__.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/__init__.py
rename to TestON/tests/FUNC/FUNCipv6Intent/__init__.py
diff --git a/TestON/tests/FUNCipv6Intent/Dependency/FUNCIpv6IntentFunction.py b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/Dependency/FUNCIpv6IntentFunction.py
rename to TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py
diff --git a/TestON/tests/FUNCipv6Intent/Dependency/newFuncTopo.py b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/newFuncTopo.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/Dependency/newFuncTopo.py
rename to TestON/tests/FUNC/FUNCipv6Intent/dependencies/newFuncTopo.py
diff --git a/TestON/tests/FUNCipv6Intent/Dependency/startUp.py b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/startUp.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/Dependency/startUp.py
rename to TestON/tests/FUNC/FUNCipv6Intent/dependencies/startUp.py
diff --git a/TestON/tests/FUNCipv6Intent/Dependency/topo.py b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/topo.py
similarity index 100%
copy from TestON/tests/FUNCipv6Intent/Dependency/topo.py
copy to TestON/tests/FUNC/FUNCipv6Intent/dependencies/topo.py
diff --git a/TestON/tests/FUNCnetCfg/FUNCnetCfg.params b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.params
similarity index 94%
rename from TestON/tests/FUNCnetCfg/FUNCnetCfg.params
rename to TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.params
index 4a92477..bf5fbac 100644
--- a/TestON/tests/FUNCnetCfg/FUNCnetCfg.params
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.params
@@ -16,7 +16,7 @@
     <testcases>1,2,20,11,21,22,23,24</testcases>
 
     <DEPENDENCY>
-        <path>/tests/FUNCnetCfg/Dependency/</path>
+        <path>/tests/FUNC/FUNCnetCfg/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>netCfg</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/FUNCnetCfg/FUNCnetCfg.py b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
similarity index 99%
rename from TestON/tests/FUNCnetCfg/FUNCnetCfg.py
rename to TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
index ec40b90..34bc72b 100644
--- a/TestON/tests/FUNCnetCfg/FUNCnetCfg.py
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
@@ -306,7 +306,7 @@
                                 "topology did not start correctly"
 
         main.step( "Starting Mininet topology with OF 1.0 switches" )
-        args = "--switch ovs,protocols=OpenFlow10"
+        args = "--controller none --switch ovs,protocols=OpenFlow10"
         switches = int( main.params['MININET']['switch'] )
         cmd = "mn --topo linear,{} {}".format( switches, args )
         topoResult = main.Mininet1.startNet( mnCmd = cmd )
@@ -333,7 +333,7 @@
                                 "topology did not start correctly"
 
         main.step( "Starting Mininet topology with OF 1.3 switches" )
-        args = "--switch ovs,protocols=OpenFlow13"
+        args = "--controller none --switch ovs,protocols=OpenFlow13"
         switches = int( main.params['MININET']['switch'] )
         cmd = "mn --topo linear,{} {}".format( switches, args )
         topoResult = main.Mininet1.startNet( mnCmd = cmd )
diff --git a/TestON/tests/FUNCnetCfg/FUNCnetCfg.topo b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
similarity index 94%
rename from TestON/tests/FUNCnetCfg/FUNCnetCfg.topo
rename to TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
index df4cd42..e1e06eb 100755
--- a/TestON/tests/FUNCnetCfg/FUNCnetCfg.topo
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -90,8 +90,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/FUNCnetCfg/README b/TestON/tests/FUNC/FUNCnetCfg/README
similarity index 100%
rename from TestON/tests/FUNCnetCfg/README
rename to TestON/tests/FUNC/FUNCnetCfg/README
diff --git a/TestON/tests/FUNCnetCfg/__init__.py b/TestON/tests/FUNC/FUNCnetCfg/__init__.py
similarity index 100%
rename from TestON/tests/FUNCnetCfg/__init__.py
rename to TestON/tests/FUNC/FUNCnetCfg/__init__.py
diff --git a/TestON/tests/FUNCovsdbtest/dependencies/__init__.py b/TestON/tests/FUNC/FUNCnetCfg/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/FUNCovsdbtest/dependencies/__init__.py
copy to TestON/tests/FUNC/FUNCnetCfg/dependencies/__init__.py
diff --git a/TestON/tests/FUNCnetCfg/Dependency/netCfg.py b/TestON/tests/FUNC/FUNCnetCfg/dependencies/netCfg.py
similarity index 100%
rename from TestON/tests/FUNCnetCfg/Dependency/netCfg.py
rename to TestON/tests/FUNC/FUNCnetCfg/dependencies/netCfg.py
diff --git a/TestON/tests/FUNCnetCfg/Dependency/startUp.py b/TestON/tests/FUNC/FUNCnetCfg/dependencies/startUp.py
similarity index 100%
rename from TestON/tests/FUNCnetCfg/Dependency/startUp.py
rename to TestON/tests/FUNC/FUNCnetCfg/dependencies/startUp.py
diff --git a/TestON/tests/FUNCipv6Intent/Dependency/topo.py b/TestON/tests/FUNC/FUNCnetCfg/dependencies/topo.py
similarity index 100%
rename from TestON/tests/FUNCipv6Intent/Dependency/topo.py
rename to TestON/tests/FUNC/FUNCnetCfg/dependencies/topo.py
diff --git a/TestON/tests/FUNCnetconf/FUNCnetconf.params b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.params
similarity index 95%
rename from TestON/tests/FUNCnetconf/FUNCnetconf.params
rename to TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.params
index c0fcc5a..fc296cc 100644
--- a/TestON/tests/FUNCnetconf/FUNCnetconf.params
+++ b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.params
@@ -14,7 +14,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path> /tests/FUNCnetconf/Dependency/</path>
+        <path> /tests/FUNC/FUNCnetconf/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>netconf</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/FUNCnetconf/FUNCnetconf.py b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
similarity index 100%
rename from TestON/tests/FUNCnetconf/FUNCnetconf.py
rename to TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
diff --git a/TestON/tests/FUNCnetconf/FUNCnetconf.topo b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
similarity index 85%
rename from TestON/tests/FUNCnetconf/FUNCnetconf.topo
rename to TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
index a5a836f..e027146 100644
--- a/TestON/tests/FUNCnetconf/FUNCnetconf.topo
+++ b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -47,8 +47,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -56,8 +56,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -65,8 +65,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -74,8 +74,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS>
@@ -84,4 +84,4 @@
         </Mininet1>
 
     </COMPONENT>
-</TOPOLOGY>
\ No newline at end of file
+</TOPOLOGY>
diff --git a/TestON/tests/FUNCnetconf/README b/TestON/tests/FUNC/FUNCnetconf/README
similarity index 100%
rename from TestON/tests/FUNCnetconf/README
rename to TestON/tests/FUNC/FUNCnetconf/README
diff --git a/TestON/tests/FUNCnetconf/__init__.py b/TestON/tests/FUNC/FUNCnetconf/__init__.py
similarity index 100%
rename from TestON/tests/FUNCnetconf/__init__.py
rename to TestON/tests/FUNC/FUNCnetconf/__init__.py
diff --git a/TestON/tests/FUNCnetconf/Dependency/netconf.py b/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
similarity index 97%
rename from TestON/tests/FUNCnetconf/Dependency/netconf.py
rename to TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
index 37df23a..631bd84 100644
--- a/TestON/tests/FUNCnetconf/Dependency/netconf.py
+++ b/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
@@ -5,6 +5,7 @@
 """
 import time
 import json
+import os
 
 def __init__( self ):
     self.default = ''
@@ -62,7 +63,7 @@
                     ', "ip":"' + main.configDeviceIp + '", "port":' +\
                     main.configPort + '} ] } } }'
     try:
-        file = open( "/home/admin/OnosSystemTest/TestON/tests/FUNCnetconf/Dependency/netconfConfig.json", 'w' )
+        file = open( os.path.dirname( main.testFile ) + "/dependencies/netconfConfig.json", 'w' )
         # These lines can cause errors during the configuration process because
         # they cause the json string to turn into an unordered dictionary before
         # sorting it alphabetically which can cause the driver type to not be
@@ -142,4 +143,4 @@
         return availResult and typeResult and addressResult and driverResult
     except TypeError:
         main.log.error( "Device was not configured correctly" )
-        return main.FALSE
\ No newline at end of file
+        return main.FALSE
diff --git a/TestON/tests/FUNCnetconf/Dependency/netconfConfig.json b/TestON/tests/FUNC/FUNCnetconf/dependencies/netconfConfig.json
similarity index 100%
rename from TestON/tests/FUNCnetconf/Dependency/netconfConfig.json
rename to TestON/tests/FUNC/FUNCnetconf/dependencies/netconfConfig.json
diff --git a/TestON/tests/FUNCflow/Dependency/startUp.py b/TestON/tests/FUNC/FUNCnetconf/dependencies/startUp.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/startUp.py
copy to TestON/tests/FUNC/FUNCnetconf/dependencies/startUp.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo.py b/TestON/tests/FUNC/FUNCnetconf/dependencies/topo.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/topo.py
copy to TestON/tests/FUNC/FUNCnetconf/dependencies/topo.py
diff --git a/TestON/tests/FUNCoptical/FUNCoptical.params b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.params
similarity index 96%
rename from TestON/tests/FUNCoptical/FUNCoptical.params
rename to TestON/tests/FUNC/FUNCoptical/FUNCoptical.params
index 3735af0..a906f12 100644
--- a/TestON/tests/FUNCoptical/FUNCoptical.params
+++ b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.params
@@ -18,7 +18,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/FUNCoptical/Dependency/</path>
+        <path>/tests/FUNC/FUNCoptical/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>FuncIntentFunction</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/FUNCoptical/FUNCoptical.py b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
similarity index 100%
rename from TestON/tests/FUNCoptical/FUNCoptical.py
rename to TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
diff --git a/TestON/tests/FUNCoptical/FUNCoptical.topo b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
similarity index 78%
rename from TestON/tests/FUNCoptical/FUNCoptical.topo
rename to TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
index 73859bd..c8037cd 100755
--- a/TestON/tests/FUNCoptical/FUNCoptical.topo
+++ b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -14,8 +14,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -23,8 +23,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -32,8 +32,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
@@ -52,7 +52,7 @@
 
         <LincOE>
             <host>OCN</host>
-            <user>admin</user>
+            <user>sdn</user>
             <password>rocks</password>
             <type>LincOEMininetDriver</type>
             <connect_order>7</connect_order>
diff --git a/TestON/tests/FUNCoptical/README b/TestON/tests/FUNC/FUNCoptical/README
similarity index 100%
rename from TestON/tests/FUNCoptical/README
rename to TestON/tests/FUNC/FUNCoptical/README
diff --git a/TestON/tests/FUNCoptical/TopoConfig.json b/TestON/tests/FUNC/FUNCoptical/TopoConfig.json
similarity index 100%
rename from TestON/tests/FUNCoptical/TopoConfig.json
rename to TestON/tests/FUNC/FUNCoptical/TopoConfig.json
diff --git a/TestON/tests/FUNCoptical/Topology.json b/TestON/tests/FUNC/FUNCoptical/Topology.json
similarity index 100%
rename from TestON/tests/FUNCoptical/Topology.json
rename to TestON/tests/FUNC/FUNCoptical/Topology.json
diff --git a/TestON/tests/FUNCoptical/__init__.py b/TestON/tests/FUNC/FUNCoptical/__init__.py
similarity index 100%
rename from TestON/tests/FUNCoptical/__init__.py
rename to TestON/tests/FUNC/FUNCoptical/__init__.py
diff --git a/TestON/tests/FUNCoptical/Dependency/FuncIntentFunction.py b/TestON/tests/FUNC/FUNCoptical/dependencies/FuncIntentFunction.py
similarity index 100%
rename from TestON/tests/FUNCoptical/Dependency/FuncIntentFunction.py
rename to TestON/tests/FUNC/FUNCoptical/dependencies/FuncIntentFunction.py
diff --git a/TestON/tests/FUNCflow/Dependency/startUp.py b/TestON/tests/FUNC/FUNCoptical/dependencies/startUp.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/startUp.py
copy to TestON/tests/FUNC/FUNCoptical/dependencies/startUp.py
diff --git a/TestON/tests/FUNCflow/Dependency/topo.py b/TestON/tests/FUNC/FUNCoptical/dependencies/topo.py
similarity index 100%
copy from TestON/tests/FUNCflow/Dependency/topo.py
copy to TestON/tests/FUNC/FUNCoptical/dependencies/topo.py
diff --git a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.params b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.params
similarity index 94%
rename from TestON/tests/FUNCovsdbtest/FUNCovsdbtest.params
rename to TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.params
index e112828..0b5ad68 100644
--- a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.params
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.params
@@ -12,7 +12,7 @@
     <testcases>1,3,4,2,5,6,7,8</testcases>
 
     <DEPENDENCY>
-        <path>/tests/FUNCovsdbtest/Dependency/</path>
+        <path>/tests/FUNC/FUNCovsdbtest/dependencies/</path>
     </DEPENDENCY>
 
     <ENV>
diff --git a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.py b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
similarity index 99%
rename from TestON/tests/FUNCovsdbtest/FUNCovsdbtest.py
rename to TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
index 3c76596..45e15f4 100644
--- a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.py
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
@@ -499,9 +499,9 @@
         import os
 
         try:
-            from tests.FUNCovsdbtest.dependencies.Nbdata import NetworkData
-            from tests.FUNCovsdbtest.dependencies.Nbdata import SubnetData
-            from tests.FUNCovsdbtest.dependencies.Nbdata import VirtualPortData
+            from tests.FUNC.FUNCovsdbtest.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCovsdbtest.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCovsdbtest.dependencies.Nbdata import VirtualPortData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -786,4 +786,4 @@
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
                                  onpass="Check openflow session is false " + str( OVSDB2Ip ) + " sucess",
-                                 onfail="Check openflow session is false " + str( OVSDB2Ip ) + " failed" )
\ No newline at end of file
+                                 onfail="Check openflow session is false " + str( OVSDB2Ip ) + " failed" )
diff --git a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.topo b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
similarity index 79%
rename from TestON/tests/FUNCovsdbtest/FUNCovsdbtest.topo
rename to TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
index ae748d2..bde73ff 100644
--- a/TestON/tests/FUNCovsdbtest/FUNCovsdbtest.topo
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -23,7 +23,7 @@
         <ONOS1>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -32,7 +32,7 @@
         <ONOSrest>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosRestDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -40,8 +40,8 @@
 
         <OVSDB1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OvsdbDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -50,7 +50,7 @@
         <OVSDB2>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OvsdbDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/FUNCovsdbtest/README b/TestON/tests/FUNC/FUNCovsdbtest/README
similarity index 100%
rename from TestON/tests/FUNCovsdbtest/README
rename to TestON/tests/FUNC/FUNCovsdbtest/README
diff --git a/TestON/tests/FUNCovsdbtest/__init__.py b/TestON/tests/FUNC/FUNCovsdbtest/__init__.py
similarity index 100%
rename from TestON/tests/FUNCovsdbtest/__init__.py
rename to TestON/tests/FUNC/FUNCovsdbtest/__init__.py
diff --git a/TestON/tests/FUNCovsdbtest/dependencies/Nbdata.py b/TestON/tests/FUNC/FUNCovsdbtest/dependencies/Nbdata.py
similarity index 100%
rename from TestON/tests/FUNCovsdbtest/dependencies/Nbdata.py
rename to TestON/tests/FUNC/FUNCovsdbtest/dependencies/Nbdata.py
diff --git a/TestON/tests/FUNCovsdbtest/dependencies/__init__.py b/TestON/tests/FUNC/FUNCovsdbtest/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/FUNCovsdbtest/dependencies/__init__.py
rename to TestON/tests/FUNC/FUNCovsdbtest/dependencies/__init__.py
diff --git a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.params b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.params
similarity index 100%
rename from TestON/tests/FUNCvirNetNB/FUNCvirNetNB.params
rename to TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.params
diff --git a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
similarity index 96%
rename from TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py
rename to TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
index 902b50a..adf85a2 100644
--- a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py
+++ b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
@@ -194,7 +194,7 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -268,7 +268,7 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -355,7 +355,7 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -415,8 +415,8 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -504,8 +504,8 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -610,8 +610,8 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -686,9 +686,9 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -794,9 +794,9 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -917,9 +917,9 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -1017,7 +1017,7 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -1062,8 +1062,8 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
@@ -1120,9 +1120,9 @@
         import os
 
         try:
-            from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
-            from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+            from tests.FUNC.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
diff --git a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.topo b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
similarity index 84%
rename from TestON/tests/FUNCvirNetNB/FUNCvirNetNB.topo
rename to TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
index fbe743b..72a1b61 100644
--- a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.topo
+++ b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -40,8 +40,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/FUNCvirNetNB/__init__.py b/TestON/tests/FUNC/FUNCvirNetNB/__init__.py
similarity index 100%
rename from TestON/tests/FUNCvirNetNB/__init__.py
rename to TestON/tests/FUNC/FUNCvirNetNB/__init__.py
diff --git a/TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py b/TestON/tests/FUNC/FUNCvirNetNB/dependencies/Nbdata.py
similarity index 100%
rename from TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py
rename to TestON/tests/FUNC/FUNCvirNetNB/dependencies/Nbdata.py
diff --git a/TestON/tests/FUNCvirNetNB/dependencies/__init__.py b/TestON/tests/FUNC/FUNCvirNetNB/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/FUNCvirNetNB/dependencies/__init__.py
rename to TestON/tests/FUNC/FUNCvirNetNB/dependencies/__init__.py
diff --git a/TestON/tests/FUNCflow/__init__.py b/TestON/tests/FUNC/__init__.py
similarity index 100%
copy from TestON/tests/FUNCflow/__init__.py
copy to TestON/tests/FUNC/__init__.py
diff --git a/TestON/tests/FUNCovsdbtest/dependencies/__init__.py b/TestON/tests/FUNC/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/FUNCovsdbtest/dependencies/__init__.py
copy to TestON/tests/FUNC/dependencies/__init__.py
diff --git a/TestON/tests/FUNCintent/Dependency/startUp.py b/TestON/tests/FUNCintent/Dependency/startUp.py
deleted file mode 100644
index bf2a2b6..0000000
--- a/TestON/tests/FUNCintent/Dependency/startUp.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""
-    This wrapper function is use for starting up onos instance
-"""
-
-import time
-import os
-import json
-
-def onosBuild( main, gitBranch ):
-    """
-        This includes pulling ONOS and building it using maven install
-    """
-
-    buildResult = main.FALSE
-
-    # Git checkout a branch of ONOS
-    checkOutResult = main.ONOSbench.gitCheckout( gitBranch )
-    # Does the git pull on the branch that was checked out
-    if not checkOutResult:
-        main.log.warn( "Failed to checked out " + gitBranch +
-                                           " branch")
-    else:
-        main.log.info( "Successfully checked out " + gitBranch +
-                                           " branch")
-    gitPullResult = main.ONOSbench.gitPull()
-    if gitPullResult == main.ERROR:
-        main.log.error( "Error pulling git branch" )
-    else:
-        main.log.info( "Successfully pulled " + gitBranch + " branch" )
-
-    # Maven clean install
-    buildResult = main.ONOSbench.cleanInstall()
-
-    return buildResult
-
-
-
-
diff --git a/TestON/tests/FUNCintent/Dependency/topo.py b/TestON/tests/FUNCintent/Dependency/topo.py
deleted file mode 100644
index b44e3fc..0000000
--- a/TestON/tests/FUNCintent/Dependency/topo.py
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-    These functions can be used for topology comparisons
-"""
-
-import time
-import os
-import json
-
-def getAllDevices( main ):
-    """
-        Return a list containing the devices output from each ONOS node
-    """
-    devices = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].devices,
-                         name="devices-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        devices.append( t.result )
-    return devices
-
-def getAllHosts( main ):
-    """
-        Return a list containing the hosts output from each ONOS node
-    """
-    hosts = []
-    ipResult = main.TRUE
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].hosts,
-                         name="hosts-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        hosts.append( t.result )
-    return hosts
-
-def getAllPorts( main ):
-    """
-        Return a list containing the ports output from each ONOS node
-    """
-    ports = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].ports,
-                         name="ports-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        ports.append( t.result )
-    return ports
-
-def getAllLinks( main ):
-    """
-        Return a list containing the links output from each ONOS node
-    """
-    links = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].links,
-                         name="links-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        links.append( t.result )
-    return links
-
-def getAllClusters( main ):
-    """
-        Return a list containing the clusters output from each ONOS node
-    """
-    clusters = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].clusters,
-                         name="clusters-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        clusters.append( t.result )
-    return clusters
-
-
diff --git a/TestON/tests/FUNCintentRest/Dependency/startUp.py b/TestON/tests/FUNCintentRest/Dependency/startUp.py
deleted file mode 100644
index bf2a2b6..0000000
--- a/TestON/tests/FUNCintentRest/Dependency/startUp.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""
-    This wrapper function is use for starting up onos instance
-"""
-
-import time
-import os
-import json
-
-def onosBuild( main, gitBranch ):
-    """
-        This includes pulling ONOS and building it using maven install
-    """
-
-    buildResult = main.FALSE
-
-    # Git checkout a branch of ONOS
-    checkOutResult = main.ONOSbench.gitCheckout( gitBranch )
-    # Does the git pull on the branch that was checked out
-    if not checkOutResult:
-        main.log.warn( "Failed to checked out " + gitBranch +
-                                           " branch")
-    else:
-        main.log.info( "Successfully checked out " + gitBranch +
-                                           " branch")
-    gitPullResult = main.ONOSbench.gitPull()
-    if gitPullResult == main.ERROR:
-        main.log.error( "Error pulling git branch" )
-    else:
-        main.log.info( "Successfully pulled " + gitBranch + " branch" )
-
-    # Maven clean install
-    buildResult = main.ONOSbench.cleanInstall()
-
-    return buildResult
-
-
-
-
diff --git a/TestON/tests/FUNCintentRest/Dependency/topo.py b/TestON/tests/FUNCintentRest/Dependency/topo.py
deleted file mode 100644
index b44e3fc..0000000
--- a/TestON/tests/FUNCintentRest/Dependency/topo.py
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-    These functions can be used for topology comparisons
-"""
-
-import time
-import os
-import json
-
-def getAllDevices( main ):
-    """
-        Return a list containing the devices output from each ONOS node
-    """
-    devices = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].devices,
-                         name="devices-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        devices.append( t.result )
-    return devices
-
-def getAllHosts( main ):
-    """
-        Return a list containing the hosts output from each ONOS node
-    """
-    hosts = []
-    ipResult = main.TRUE
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].hosts,
-                         name="hosts-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        hosts.append( t.result )
-    return hosts
-
-def getAllPorts( main ):
-    """
-        Return a list containing the ports output from each ONOS node
-    """
-    ports = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].ports,
-                         name="ports-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        ports.append( t.result )
-    return ports
-
-def getAllLinks( main ):
-    """
-        Return a list containing the links output from each ONOS node
-    """
-    links = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].links,
-                         name="links-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        links.append( t.result )
-    return links
-
-def getAllClusters( main ):
-    """
-        Return a list containing the clusters output from each ONOS node
-    """
-    clusters = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].clusters,
-                         name="clusters-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        clusters.append( t.result )
-    return clusters
-
-
diff --git a/TestON/tests/FUNCnetCfg/Dependency/topo.py b/TestON/tests/FUNCnetCfg/Dependency/topo.py
deleted file mode 100644
index d834a09..0000000
--- a/TestON/tests/FUNCnetCfg/Dependency/topo.py
+++ /dev/null
@@ -1,98 +0,0 @@
-"""
-    These functions can be used for topology comparisons
-"""
-
-import time
-import os
-import json
-
-def getAllDevices( main ):
-    """
-        Return a list containing the devices output from each ONOS node
-    """
-    devices = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].devices,
-                         name="devices-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        devices.append( t.result )
-    return devices
-
-def getAllHosts( main ):
-    """
-        Return a list containing the hosts output from each ONOS node
-    """
-    hosts = []
-    ipResult = main.TRUE
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].hosts,
-                         name="hosts-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        hosts.append( t.result )
-    return hosts
-
-def getAllPorts( main ):
-    """
-        Return a list containing the ports output from each ONOS node
-    """
-    ports = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].ports,
-                         name="ports-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        ports.append( t.result )
-    return ports
-
-def getAllLinks( main ):
-    """
-        Return a list containing the links output from each ONOS node
-    """
-    links = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].links,
-                         name="links-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        links.append( t.result )
-    return links
-
-def getAllClusters( main ):
-    """
-        Return a list containing the clusters output from each ONOS node
-    """
-    clusters = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].clusters,
-                         name="clusters-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        clusters.append( t.result )
-    return clusters
diff --git a/TestON/tests/FUNCnetconf/Dependency/startUp.py b/TestON/tests/FUNCnetconf/Dependency/startUp.py
deleted file mode 100644
index bf2a2b6..0000000
--- a/TestON/tests/FUNCnetconf/Dependency/startUp.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""
-    This wrapper function is use for starting up onos instance
-"""
-
-import time
-import os
-import json
-
-def onosBuild( main, gitBranch ):
-    """
-        This includes pulling ONOS and building it using maven install
-    """
-
-    buildResult = main.FALSE
-
-    # Git checkout a branch of ONOS
-    checkOutResult = main.ONOSbench.gitCheckout( gitBranch )
-    # Does the git pull on the branch that was checked out
-    if not checkOutResult:
-        main.log.warn( "Failed to checked out " + gitBranch +
-                                           " branch")
-    else:
-        main.log.info( "Successfully checked out " + gitBranch +
-                                           " branch")
-    gitPullResult = main.ONOSbench.gitPull()
-    if gitPullResult == main.ERROR:
-        main.log.error( "Error pulling git branch" )
-    else:
-        main.log.info( "Successfully pulled " + gitBranch + " branch" )
-
-    # Maven clean install
-    buildResult = main.ONOSbench.cleanInstall()
-
-    return buildResult
-
-
-
-
diff --git a/TestON/tests/FUNCnetconf/Dependency/topo.py b/TestON/tests/FUNCnetconf/Dependency/topo.py
deleted file mode 100644
index b44e3fc..0000000
--- a/TestON/tests/FUNCnetconf/Dependency/topo.py
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-    These functions can be used for topology comparisons
-"""
-
-import time
-import os
-import json
-
-def getAllDevices( main ):
-    """
-        Return a list containing the devices output from each ONOS node
-    """
-    devices = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].devices,
-                         name="devices-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        devices.append( t.result )
-    return devices
-
-def getAllHosts( main ):
-    """
-        Return a list containing the hosts output from each ONOS node
-    """
-    hosts = []
-    ipResult = main.TRUE
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].hosts,
-                         name="hosts-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        hosts.append( t.result )
-    return hosts
-
-def getAllPorts( main ):
-    """
-        Return a list containing the ports output from each ONOS node
-    """
-    ports = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].ports,
-                         name="ports-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        ports.append( t.result )
-    return ports
-
-def getAllLinks( main ):
-    """
-        Return a list containing the links output from each ONOS node
-    """
-    links = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].links,
-                         name="links-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        links.append( t.result )
-    return links
-
-def getAllClusters( main ):
-    """
-        Return a list containing the clusters output from each ONOS node
-    """
-    clusters = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].clusters,
-                         name="clusters-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        clusters.append( t.result )
-    return clusters
-
-
diff --git a/TestON/tests/FUNCoptical/Dependency/startUp.py b/TestON/tests/FUNCoptical/Dependency/startUp.py
deleted file mode 100644
index bf2a2b6..0000000
--- a/TestON/tests/FUNCoptical/Dependency/startUp.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""
-    This wrapper function is use for starting up onos instance
-"""
-
-import time
-import os
-import json
-
-def onosBuild( main, gitBranch ):
-    """
-        This includes pulling ONOS and building it using maven install
-    """
-
-    buildResult = main.FALSE
-
-    # Git checkout a branch of ONOS
-    checkOutResult = main.ONOSbench.gitCheckout( gitBranch )
-    # Does the git pull on the branch that was checked out
-    if not checkOutResult:
-        main.log.warn( "Failed to checked out " + gitBranch +
-                                           " branch")
-    else:
-        main.log.info( "Successfully checked out " + gitBranch +
-                                           " branch")
-    gitPullResult = main.ONOSbench.gitPull()
-    if gitPullResult == main.ERROR:
-        main.log.error( "Error pulling git branch" )
-    else:
-        main.log.info( "Successfully pulled " + gitBranch + " branch" )
-
-    # Maven clean install
-    buildResult = main.ONOSbench.cleanInstall()
-
-    return buildResult
-
-
-
-
diff --git a/TestON/tests/FUNCoptical/Dependency/topo.py b/TestON/tests/FUNCoptical/Dependency/topo.py
deleted file mode 100644
index b44e3fc..0000000
--- a/TestON/tests/FUNCoptical/Dependency/topo.py
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-    These functions can be used for topology comparisons
-"""
-
-import time
-import os
-import json
-
-def getAllDevices( main ):
-    """
-        Return a list containing the devices output from each ONOS node
-    """
-    devices = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].devices,
-                         name="devices-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        devices.append( t.result )
-    return devices
-
-def getAllHosts( main ):
-    """
-        Return a list containing the hosts output from each ONOS node
-    """
-    hosts = []
-    ipResult = main.TRUE
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].hosts,
-                         name="hosts-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        hosts.append( t.result )
-    return hosts
-
-def getAllPorts( main ):
-    """
-        Return a list containing the ports output from each ONOS node
-    """
-    ports = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].ports,
-                         name="ports-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        ports.append( t.result )
-    return ports
-
-def getAllLinks( main ):
-    """
-        Return a list containing the links output from each ONOS node
-    """
-    links = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].links,
-                         name="links-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        links.append( t.result )
-    return links
-
-def getAllClusters( main ):
-    """
-        Return a list containing the clusters output from each ONOS node
-    """
-    clusters = []
-    threads = []
-    for i in range( main.numCtrls ):
-        t = main.Thread( target=main.CLIs[i].clusters,
-                         name="clusters-" + str( i ),
-                         args=[ ] )
-        threads.append( t )
-        t.start()
-
-    for t in threads:
-        t.join()
-        clusters.append( t.result )
-    return clusters
-
-
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.params b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params
similarity index 98%
rename from TestON/tests/HAclusterRestart/HAclusterRestart.params
rename to TestON/tests/HA/HAclusterRestart/HAclusterRestart.params
index 95bbd87..28b1e9b 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.params
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params
@@ -45,7 +45,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.py b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
similarity index 99%
rename from TestON/tests/HAclusterRestart/HAclusterRestart.py
rename to TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
index daaacdf..c229b03 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.py
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.py
@@ -93,7 +93,7 @@
         ONOS7Port = main.params[ 'CTRL' ][ 'port7' ]
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
similarity index 84%
rename from TestON/tests/HAclusterRestart/HAclusterRestart.topo
rename to TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAclusterRestart/README b/TestON/tests/HA/HAclusterRestart/README
similarity index 100%
rename from TestON/tests/HAclusterRestart/README
rename to TestON/tests/HA/HAclusterRestart/README
diff --git a/TestON/tests/HAclusterRestart/__init__.py b/TestON/tests/HA/HAclusterRestart/__init__.py
similarity index 100%
rename from TestON/tests/HAclusterRestart/__init__.py
rename to TestON/tests/HA/HAclusterRestart/__init__.py
diff --git a/TestON/tests/HAclusterRestart/dependencies/__init__.py b/TestON/tests/HA/HAclusterRestart/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAclusterRestart/dependencies/__init__.py
rename to TestON/tests/HA/HAclusterRestart/dependencies/__init__.py
diff --git a/TestON/tests/HAfullNetPartition/HAfullNetPartition.params b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params
similarity index 98%
rename from TestON/tests/HAfullNetPartition/HAfullNetPartition.params
rename to TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params
index 5461243..478bff1 100644
--- a/TestON/tests/HAfullNetPartition/HAfullNetPartition.params
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params
@@ -47,7 +47,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAfullNetPartition/HAfullNetPartition.py b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
similarity index 99%
rename from TestON/tests/HAfullNetPartition/HAfullNetPartition.py
rename to TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
index 361da8d..dd1e1fb 100644
--- a/TestON/tests/HAfullNetPartition/HAfullNetPartition.py
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.py
@@ -95,7 +95,7 @@
         ONOS7Port = main.params[ 'CTRL' ][ 'port7' ]
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
@@ -197,7 +197,7 @@
         main.step( "Creating ONOS package" )
         # copy gen-partions file to ONOS
         # NOTE: this assumes TestON and ONOS are on the same machine
-        srcFile = main.testDir + "/" + main.TEST + "/dependencies/onos-gen-partitions"
+        srcFile = main.testDir + "/HA/dependencies/onos-gen-partitions"
         dstDir = main.ONOSbench.home + "/tools/test/bin/onos-gen-partitions"
         cpResult = main.ONOSbench.secureCopy( main.ONOSbench.user_name,
                                               main.ONOSbench.ip_address,
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
similarity index 84%
copy from TestON/tests/HAclusterRestart/HAclusterRestart.topo
copy to TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAfullNetPartition/README b/TestON/tests/HA/HAfullNetPartition/README
similarity index 100%
rename from TestON/tests/HAfullNetPartition/README
rename to TestON/tests/HA/HAfullNetPartition/README
diff --git a/TestON/tests/HAfullNetPartition/__init__.py b/TestON/tests/HA/HAfullNetPartition/__init__.py
similarity index 100%
rename from TestON/tests/HAfullNetPartition/__init__.py
rename to TestON/tests/HA/HAfullNetPartition/__init__.py
diff --git a/TestON/tests/HAfullNetPartition/dependencies/__init__.py b/TestON/tests/HA/HAfullNetPartition/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAfullNetPartition/dependencies/__init__.py
rename to TestON/tests/HA/HAfullNetPartition/dependencies/__init__.py
diff --git a/TestON/tests/HAkillNodes/HAkillNodes.params b/TestON/tests/HA/HAkillNodes/HAkillNodes.params
similarity index 98%
rename from TestON/tests/HAkillNodes/HAkillNodes.params
rename to TestON/tests/HA/HAkillNodes/HAkillNodes.params
index 134f5f2..d2eb635 100644
--- a/TestON/tests/HAkillNodes/HAkillNodes.params
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.params
@@ -47,7 +47,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAkillNodes/HAkillNodes.py b/TestON/tests/HA/HAkillNodes/HAkillNodes.py
similarity index 99%
rename from TestON/tests/HAkillNodes/HAkillNodes.py
rename to TestON/tests/HA/HAkillNodes/HAkillNodes.py
index 436c0bc..52a242c 100644
--- a/TestON/tests/HAkillNodes/HAkillNodes.py
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.py
@@ -95,7 +95,7 @@
         ONOS7Port = main.params[ 'CTRL' ][ 'port7' ]
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
@@ -204,7 +204,7 @@
         main.step( "Creating ONOS package" )
         # copy gen-partions file to ONOS
         # NOTE: this assumes TestON and ONOS are on the same machine
-        srcFile = main.testDir + "/" + main.TEST + "/dependencies/onos-gen-partitions"
+        srcFile = main.testDir + "/HA/dependencies/onos-gen-partitions"
         dstDir = main.ONOSbench.home + "/tools/test/bin/onos-gen-partitions"
         cpResult = main.ONOSbench.secureCopy( main.ONOSbench.user_name,
                                               main.ONOSbench.ip_address,
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAkillNodes/HAkillNodes.topo
similarity index 84%
copy from TestON/tests/HAclusterRestart/HAclusterRestart.topo
copy to TestON/tests/HA/HAkillNodes/HAkillNodes.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAkillNodes/README b/TestON/tests/HA/HAkillNodes/README
similarity index 100%
rename from TestON/tests/HAkillNodes/README
rename to TestON/tests/HA/HAkillNodes/README
diff --git a/TestON/tests/HAkillNodes/__init__.py b/TestON/tests/HA/HAkillNodes/__init__.py
similarity index 100%
rename from TestON/tests/HAkillNodes/__init__.py
rename to TestON/tests/HA/HAkillNodes/__init__.py
diff --git a/TestON/tests/HAkillNodes/dependencies/__init__.py b/TestON/tests/HA/HAkillNodes/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAkillNodes/dependencies/__init__.py
rename to TestON/tests/HA/HAkillNodes/dependencies/__init__.py
diff --git a/TestON/tests/HAsanity/HAsanity.params b/TestON/tests/HA/HAsanity/HAsanity.params
similarity index 98%
rename from TestON/tests/HAsanity/HAsanity.params
rename to TestON/tests/HA/HAsanity/HAsanity.params
index 4b52fb1..8c8b0f5 100644
--- a/TestON/tests/HAsanity/HAsanity.params
+++ b/TestON/tests/HA/HAsanity/HAsanity.params
@@ -46,7 +46,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAsanity/HAsanity.py b/TestON/tests/HA/HAsanity/HAsanity.py
similarity index 99%
rename from TestON/tests/HAsanity/HAsanity.py
rename to TestON/tests/HA/HAsanity/HAsanity.py
index 5e17212..3c77dd0 100644
--- a/TestON/tests/HAsanity/HAsanity.py
+++ b/TestON/tests/HA/HAsanity/HAsanity.py
@@ -94,7 +94,7 @@
         ONOS7Port = main.params[ 'CTRL' ][ 'port7' ]
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAsanity/HAsanity.topo
similarity index 84%
copy from TestON/tests/HAclusterRestart/HAclusterRestart.topo
copy to TestON/tests/HA/HAsanity/HAsanity.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAsanity/HAsanity.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAsanity/README b/TestON/tests/HA/HAsanity/README
similarity index 100%
rename from TestON/tests/HAsanity/README
rename to TestON/tests/HA/HAsanity/README
diff --git a/TestON/tests/HAsanity/__init__.py b/TestON/tests/HA/HAsanity/__init__.py
similarity index 100%
rename from TestON/tests/HAsanity/__init__.py
rename to TestON/tests/HA/HAsanity/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/HA/HAsanity/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAsanity/dependencies/__init__.py
rename to TestON/tests/HA/HAsanity/dependencies/__init__.py
diff --git a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.params b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params
similarity index 98%
rename from TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.params
rename to TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params
index 33943ff..4e47832 100644
--- a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.params
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params
@@ -36,7 +36,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
similarity index 99%
rename from TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
rename to TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
index 85e4036..25aa0ba 100644
--- a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.py
@@ -70,7 +70,7 @@
                 main.numCtrls = int( main.ONOSbench.maxNodes )
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
similarity index 84%
copy from TestON/tests/HAclusterRestart/HAclusterRestart.topo
copy to TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAsingleInstanceRestart/README b/TestON/tests/HA/HAsingleInstanceRestart/README
similarity index 100%
rename from TestON/tests/HAsingleInstanceRestart/README
rename to TestON/tests/HA/HAsingleInstanceRestart/README
diff --git a/TestON/tests/HAsingleInstanceRestart/__init__.py b/TestON/tests/HA/HAsingleInstanceRestart/__init__.py
similarity index 100%
rename from TestON/tests/HAsingleInstanceRestart/__init__.py
rename to TestON/tests/HA/HAsingleInstanceRestart/__init__.py
diff --git a/TestON/tests/HAsingleInstanceRestart/dependencies/__init__.py b/TestON/tests/HA/HAsingleInstanceRestart/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAsingleInstanceRestart/dependencies/__init__.py
rename to TestON/tests/HA/HAsingleInstanceRestart/dependencies/__init__.py
diff --git a/TestON/tests/HAkillNodes/HAkillNodes.params b/TestON/tests/HA/HAstopNodes/HAstopNodes.params
similarity index 98%
copy from TestON/tests/HAkillNodes/HAkillNodes.params
copy to TestON/tests/HA/HAstopNodes/HAstopNodes.params
index 134f5f2..d2eb635 100644
--- a/TestON/tests/HAkillNodes/HAkillNodes.params
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.params
@@ -47,7 +47,7 @@
     </CTRL>
     <BACKUP>
         <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
+        <TESTONUSER>sdn</TESTONUSER>
         <TESTONIP>10.128.30.9</TESTONIP>
     </BACKUP>
     <PING>
diff --git a/TestON/tests/HAstopNodes/HAstopNodes.py b/TestON/tests/HA/HAstopNodes/HAstopNodes.py
similarity index 99%
rename from TestON/tests/HAstopNodes/HAstopNodes.py
rename to TestON/tests/HA/HAstopNodes/HAstopNodes.py
index 28bfedd..240c9c4 100644
--- a/TestON/tests/HAstopNodes/HAstopNodes.py
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.py
@@ -95,7 +95,7 @@
         ONOS7Port = main.params[ 'CTRL' ][ 'port7' ]
 
         try:
-            from tests.HAsanity.dependencies.HA import HA
+            from tests.HA.dependencies.HA import HA
             main.HA = HA()
         except Exception as e:
             main.log.exception( e )
@@ -197,7 +197,7 @@
         main.step( "Creating ONOS package" )
         # copy gen-partions file to ONOS
         # NOTE: this assumes TestON and ONOS are on the same machine
-        srcFile = main.testDir + "/" + main.TEST + "/dependencies/onos-gen-partitions"
+        srcFile = main.testDir + "/HA/dependencies/onos-gen-partitions"
         dstDir = main.ONOSbench.home + "/tools/test/bin/onos-gen-partitions"
         cpResult = main.ONOSbench.secureCopy( main.ONOSbench.user_name,
                                               main.ONOSbench.ip_address,
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.topo b/TestON/tests/HA/HAstopNodes/HAstopNodes.topo
similarity index 84%
copy from TestON/tests/HAclusterRestart/HAclusterRestart.topo
copy to TestON/tests/HA/HAstopNodes/HAstopNodes.topo
index 5ba79fc..81cf47a 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.topo
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,8 +22,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -31,8 +31,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -41,8 +41,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -51,8 +51,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -143,8 +143,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
@@ -159,8 +159,8 @@
 
         <Mininet2>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>RemoteMininetDriver</type>
             <connect_order>17</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/HAstopNodes/README b/TestON/tests/HA/HAstopNodes/README
similarity index 100%
rename from TestON/tests/HAstopNodes/README
rename to TestON/tests/HA/HAstopNodes/README
diff --git a/TestON/tests/HAstopNodes/__init__.py b/TestON/tests/HA/HAstopNodes/__init__.py
similarity index 100%
rename from TestON/tests/HAstopNodes/__init__.py
rename to TestON/tests/HA/HAstopNodes/__init__.py
diff --git a/TestON/tests/HAstopNodes/dependencies/__init__.py b/TestON/tests/HA/HAstopNodes/dependencies/__init__.py
similarity index 100%
rename from TestON/tests/HAstopNodes/dependencies/__init__.py
rename to TestON/tests/HA/HAstopNodes/dependencies/__init__.py
diff --git a/TestON/tests/HAsanity/__init__.py b/TestON/tests/HA/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/__init__.py
copy to TestON/tests/HA/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/HA.py b/TestON/tests/HA/dependencies/HA.py
similarity index 100%
rename from TestON/tests/HAsanity/dependencies/HA.py
rename to TestON/tests/HA/dependencies/HA.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/HA/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/HA/dependencies/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/obelisk.py b/TestON/tests/HA/dependencies/obelisk.py
similarity index 100%
rename from TestON/tests/HAsanity/dependencies/obelisk.py
rename to TestON/tests/HA/dependencies/obelisk.py
diff --git a/TestON/tests/HAkillNodes/dependencies/onos-gen-partitions b/TestON/tests/HA/dependencies/onos-gen-partitions
similarity index 100%
rename from TestON/tests/HAkillNodes/dependencies/onos-gen-partitions
rename to TestON/tests/HA/dependencies/onos-gen-partitions
diff --git a/TestON/tests/HAclusterRestart/dependencies/HA.py b/TestON/tests/HAclusterRestart/dependencies/HA.py
deleted file mode 100644
index e00d290..0000000
--- a/TestON/tests/HAclusterRestart/dependencies/HA.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import json
-import time
-
-class HA():
-
-    def __init__( self ):
-        self.default = ''
-
-    def consistentCheck( self ):
-        """
-        Checks that TestON counters are consistent across all nodes.
-
-        Returns the tuple (onosCounters, consistent)
-        - onosCounters is the parsed json output of the counters command on
-          all nodes
-        - consistent is main.TRUE if all "TestON" counters are consitent across
-          all nodes or main.FALSE
-        """
-        try:
-            # Get onos counters results
-            onosCountersRaw = []
-            threads = []
-            for i in main.activeNodes:
-                t = main.Thread( target=utilities.retry,
-                                 name="counters-" + str( i ),
-                                 args=[ main.CLIs[i].counters, [ None ] ],
-                                 kwargs= { 'sleep': 5, 'attempts': 5,
-                                           'randomTime': True } )
-                threads.append( t )
-                t.start()
-            for t in threads:
-                t.join()
-                onosCountersRaw.append( t.result )
-            onosCounters = []
-            for i in range( len( main.activeNodes ) ):
-                try:
-                    onosCounters.append( json.loads( onosCountersRaw[i] ) )
-                except ( ValueError, TypeError ):
-                    main.log.error( "Could not parse counters response from ONOS" +
-                                    str( main.activeNodes[i] + 1 ) )
-                    main.log.warn( repr( onosCountersRaw[ i ] ) )
-                    onosCounters.append( [] )
-
-            testCounters = {}
-            # make a list of all the "TestON-*" counters in ONOS
-            # lookes like a dict whose keys are the name of the ONOS node and
-            # values are a list of the counters. I.E.
-            # { "ONOS1": [ { "name":"TestON-Partitions","value":56} ]
-            # }
-            # NOTE: There is an assumtion that all nodes are active
-            #        based on the above for loops
-            for controller in enumerate( onosCounters ):
-                for key, value in controller[1].iteritems():
-                    if 'TestON' in key:
-                        node = 'ONOS' + str( controller[0] + 1 )
-                        try:
-                            testCounters[node].append( { key: value } )
-                        except KeyError:
-                            testCounters[node] = [ { key: value } ]
-            # compare the counters on each node
-            firstV = testCounters.values()[0]
-            tmp = [ v == firstV for k, v in testCounters.iteritems() ]
-            if all( tmp ):
-                consistent = main.TRUE
-            else:
-                consistent = main.FALSE
-                main.log.error( "ONOS nodes have different values for counters:\n" +
-                                testCounters )
-            return ( onosCounters, consistent )
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def counterCheck( self, counterName, counterValue ):
-        """
-        Checks that TestON counters are consistent across all nodes and that
-        specified counter is in ONOS with the given value
-        """
-        try:
-            correctResults = main.TRUE
-            # Get onos counters results and consistentCheck
-            onosCounters, consistent = self.consistentCheck()
-            # Check for correct values
-            for i in range( len( main.activeNodes ) ):
-                current = onosCounters[i]
-                onosValue = None
-                try:
-                    onosValue = current.get( counterName )
-                except AttributeError:
-                    node = str( main.activeNodes[i] + 1 )
-                    main.log.exception( "ONOS" + node + " counters result " +
-                                        "is not as expected" )
-                    correctResults = main.FALSE
-                if onosValue == counterValue:
-                    main.log.info( counterName + " counter value is correct" )
-                else:
-                    main.log.error( counterName +
-                                    " counter value is incorrect," +
-                                    " expected value: " + str( counterValue ) +
-                                    " current value: " + str( onosValue ) )
-                    correctResults = main.FALSE
-            return consistent and correctResults
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def consistentLeaderboards( self, nodes ):
-        TOPIC = 'org.onosproject.election'
-        # FIXME: use threads
-        #FIXME: should we retry outside the function?
-        for n in range( 5 ):  # Retry in case election is still happening
-            leaderList = []
-            # Get all leaderboards
-            for cli in nodes:
-                leaderList.append( cli.specificLeaderCandidate( TOPIC ) )
-            # Compare leaderboards
-            result = all( i == leaderList[0] for i in leaderList ) and\
-                     leaderList is not None
-            main.log.debug( leaderList )
-            main.log.warn( result )
-            if result:
-                return ( result, leaderList )
-            time.sleep(5)  # TODO: paramerterize
-        main.log.error( "Inconsistent leaderboards:" + str( leaderList ) )
-        return ( result, leaderList )
-
-    def nodesCheck( self, nodes ):
-        nodesOutput = []
-        results = True
-        threads = []
-        for i in nodes:
-            t = main.Thread( target=main.CLIs[i].nodes,
-                             name="nodes-" + str( i ),
-                             args=[ ] )
-            threads.append( t )
-            t.start()
-
-        for t in threads:
-            t.join()
-            nodesOutput.append( t.result )
-        ips = [ main.nodes[node].ip_address for node in nodes ]
-        ips.sort()
-        for i in nodesOutput:
-            try:
-                current = json.loads( i )
-                activeIps = []
-                currentResult = False
-                for node in current:
-                    if node['state'] == 'READY':
-                        activeIps.append( node['ip'] )
-                activeIps.sort()
-                if ips == activeIps:
-                    currentResult = True
-            except ( ValueError, TypeError ):
-                main.log.error( "Error parsing nodes output" )
-                main.log.warn( repr( i ) )
-                currentResult = False
-            results = results and currentResult
-        return results
diff --git a/TestON/tests/HAclusterRestart/dependencies/obelisk.py b/TestON/tests/HAclusterRestart/dependencies/obelisk.py
deleted file mode 100755
index d613806..0000000
--- a/TestON/tests/HAclusterRestart/dependencies/obelisk.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-from mininet.topo import Topo
-
-class ObeliskTopo( Topo ):
-    def __init__( self ):
-        Topo.__init__( self )
-        topSwitch = self.addSwitch('s1',dpid='1000'.zfill(16))
-        leftTopSwitch = self.addSwitch('s2',dpid='2000'.zfill(16))
-        rightTopSwitch = self.addSwitch('s5',dpid='5000'.zfill(16))
-        leftBotSwitch = self.addSwitch('s3',dpid='3000'.zfill(16))
-        rightBotSwitch = self.addSwitch('s6',dpid='6000'.zfill(16))
-        midBotSwitch = self.addSwitch('s28',dpid='2800'.zfill(16))
-
-        topHost = self.addHost( 'h1' )
-        leftTopHost = self.addHost('h2')
-        rightTopHost = self.addHost('h5')
-        leftBotHost = self.addHost('h3')
-        rightBotHost = self.addHost('h6')
-        midBotHost = self.addHost('h28')
-        self.addLink(topSwitch,topHost)
-        self.addLink(leftTopSwitch,leftTopHost)
-        self.addLink(rightTopSwitch,rightTopHost)
-        self.addLink(leftBotSwitch,leftBotHost)
-        self.addLink(rightBotSwitch,rightBotHost)
-        self.addLink(midBotSwitch,midBotHost)
-        self.addLink(leftTopSwitch,rightTopSwitch)
-        self.addLink(topSwitch,leftTopSwitch)
-        self.addLink(topSwitch,rightTopSwitch)
-        self.addLink(leftTopSwitch,leftBotSwitch)
-        self.addLink(rightTopSwitch,rightBotSwitch)
-        self.addLink(leftBotSwitch,midBotSwitch)
-        self.addLink(midBotSwitch,rightBotSwitch)
-
-        agg1Switch = self.addSwitch('s4',dpid = '3004'.zfill(16))
-        agg2Switch = self.addSwitch('s7',dpid = '6007'.zfill(16))
-        agg1Host = self.addHost('h4')
-        agg2Host = self.addHost('h7')
-        self.addLink(agg1Switch,agg1Host)
-        self.addLink(agg2Switch,agg2Host)
-        self.addLink(agg1Switch, leftBotSwitch)
-        self.addLink(agg2Switch, rightBotSwitch)
-
-        for i in range(10):
-            num = str(i+8)
-            switch = self.addSwitch('s'+num,dpid = ('30'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg1Switch)
-
-        for i in range(10):
-            num = str(i+18)
-            switch = self.addSwitch('s'+num,dpid = ('60'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg2Switch)
-
-topos = { 'obelisk': (lambda: ObeliskTopo() ) }
-
-def run():
-    topo = ObeliskTopo()
-    net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True )
-    net.start()
-    CLI( net )
-    net.stop()
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    run()
diff --git a/TestON/tests/HAfullNetPartition/HAfullNetPartition.topo b/TestON/tests/HAfullNetPartition/HAfullNetPartition.topo
deleted file mode 100644
index 5ba79fc..0000000
--- a/TestON/tests/HAfullNetPartition/HAfullNetPartition.topo
+++ /dev/null
@@ -1,171 +0,0 @@
-<TOPOLOGY>
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOScli1>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli1>
-
-        <ONOScli2>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli2>
-
-        <ONOScli3>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli3>
-
-
-        <ONOScli4>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli4>
-
-
-        <ONOScli5>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli5>
-
-
-        <ONOScli6>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli6>
-
-
-        <ONOScli7>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli7>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-        <Mininet1>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>MininetCliDriver</type>
-            <connect_order>16</connect_order>
-            <COMPONENTS>
-                #Specify the Option for mininet
-                <arg1> --custom ~/mininet/custom/obelisk.py </arg1>
-                <arg2> --topo obelisk </arg2>
-                <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
-                <controller> none </controller>
-                <home>~/mininet/custom/</home>
-            </COMPONENTS>
-        </Mininet1>
-
-        <Mininet2>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>RemoteMininetDriver</type>
-            <connect_order>17</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </Mininet2>
-
-    </COMPONENT>
-</TOPOLOGY>
diff --git a/TestON/tests/HAfullNetPartition/dependencies/HA.py b/TestON/tests/HAfullNetPartition/dependencies/HA.py
deleted file mode 100644
index e00d290..0000000
--- a/TestON/tests/HAfullNetPartition/dependencies/HA.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import json
-import time
-
-class HA():
-
-    def __init__( self ):
-        self.default = ''
-
-    def consistentCheck( self ):
-        """
-        Checks that TestON counters are consistent across all nodes.
-
-        Returns the tuple (onosCounters, consistent)
-        - onosCounters is the parsed json output of the counters command on
-          all nodes
-        - consistent is main.TRUE if all "TestON" counters are consitent across
-          all nodes or main.FALSE
-        """
-        try:
-            # Get onos counters results
-            onosCountersRaw = []
-            threads = []
-            for i in main.activeNodes:
-                t = main.Thread( target=utilities.retry,
-                                 name="counters-" + str( i ),
-                                 args=[ main.CLIs[i].counters, [ None ] ],
-                                 kwargs= { 'sleep': 5, 'attempts': 5,
-                                           'randomTime': True } )
-                threads.append( t )
-                t.start()
-            for t in threads:
-                t.join()
-                onosCountersRaw.append( t.result )
-            onosCounters = []
-            for i in range( len( main.activeNodes ) ):
-                try:
-                    onosCounters.append( json.loads( onosCountersRaw[i] ) )
-                except ( ValueError, TypeError ):
-                    main.log.error( "Could not parse counters response from ONOS" +
-                                    str( main.activeNodes[i] + 1 ) )
-                    main.log.warn( repr( onosCountersRaw[ i ] ) )
-                    onosCounters.append( [] )
-
-            testCounters = {}
-            # make a list of all the "TestON-*" counters in ONOS
-            # lookes like a dict whose keys are the name of the ONOS node and
-            # values are a list of the counters. I.E.
-            # { "ONOS1": [ { "name":"TestON-Partitions","value":56} ]
-            # }
-            # NOTE: There is an assumtion that all nodes are active
-            #        based on the above for loops
-            for controller in enumerate( onosCounters ):
-                for key, value in controller[1].iteritems():
-                    if 'TestON' in key:
-                        node = 'ONOS' + str( controller[0] + 1 )
-                        try:
-                            testCounters[node].append( { key: value } )
-                        except KeyError:
-                            testCounters[node] = [ { key: value } ]
-            # compare the counters on each node
-            firstV = testCounters.values()[0]
-            tmp = [ v == firstV for k, v in testCounters.iteritems() ]
-            if all( tmp ):
-                consistent = main.TRUE
-            else:
-                consistent = main.FALSE
-                main.log.error( "ONOS nodes have different values for counters:\n" +
-                                testCounters )
-            return ( onosCounters, consistent )
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def counterCheck( self, counterName, counterValue ):
-        """
-        Checks that TestON counters are consistent across all nodes and that
-        specified counter is in ONOS with the given value
-        """
-        try:
-            correctResults = main.TRUE
-            # Get onos counters results and consistentCheck
-            onosCounters, consistent = self.consistentCheck()
-            # Check for correct values
-            for i in range( len( main.activeNodes ) ):
-                current = onosCounters[i]
-                onosValue = None
-                try:
-                    onosValue = current.get( counterName )
-                except AttributeError:
-                    node = str( main.activeNodes[i] + 1 )
-                    main.log.exception( "ONOS" + node + " counters result " +
-                                        "is not as expected" )
-                    correctResults = main.FALSE
-                if onosValue == counterValue:
-                    main.log.info( counterName + " counter value is correct" )
-                else:
-                    main.log.error( counterName +
-                                    " counter value is incorrect," +
-                                    " expected value: " + str( counterValue ) +
-                                    " current value: " + str( onosValue ) )
-                    correctResults = main.FALSE
-            return consistent and correctResults
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def consistentLeaderboards( self, nodes ):
-        TOPIC = 'org.onosproject.election'
-        # FIXME: use threads
-        #FIXME: should we retry outside the function?
-        for n in range( 5 ):  # Retry in case election is still happening
-            leaderList = []
-            # Get all leaderboards
-            for cli in nodes:
-                leaderList.append( cli.specificLeaderCandidate( TOPIC ) )
-            # Compare leaderboards
-            result = all( i == leaderList[0] for i in leaderList ) and\
-                     leaderList is not None
-            main.log.debug( leaderList )
-            main.log.warn( result )
-            if result:
-                return ( result, leaderList )
-            time.sleep(5)  # TODO: paramerterize
-        main.log.error( "Inconsistent leaderboards:" + str( leaderList ) )
-        return ( result, leaderList )
-
-    def nodesCheck( self, nodes ):
-        nodesOutput = []
-        results = True
-        threads = []
-        for i in nodes:
-            t = main.Thread( target=main.CLIs[i].nodes,
-                             name="nodes-" + str( i ),
-                             args=[ ] )
-            threads.append( t )
-            t.start()
-
-        for t in threads:
-            t.join()
-            nodesOutput.append( t.result )
-        ips = [ main.nodes[node].ip_address for node in nodes ]
-        ips.sort()
-        for i in nodesOutput:
-            try:
-                current = json.loads( i )
-                activeIps = []
-                currentResult = False
-                for node in current:
-                    if node['state'] == 'READY':
-                        activeIps.append( node['ip'] )
-                activeIps.sort()
-                if ips == activeIps:
-                    currentResult = True
-            except ( ValueError, TypeError ):
-                main.log.error( "Error parsing nodes output" )
-                main.log.warn( repr( i ) )
-                currentResult = False
-            results = results and currentResult
-        return results
diff --git a/TestON/tests/HAfullNetPartition/dependencies/obelisk.py b/TestON/tests/HAfullNetPartition/dependencies/obelisk.py
deleted file mode 100755
index d613806..0000000
--- a/TestON/tests/HAfullNetPartition/dependencies/obelisk.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-from mininet.topo import Topo
-
-class ObeliskTopo( Topo ):
-    def __init__( self ):
-        Topo.__init__( self )
-        topSwitch = self.addSwitch('s1',dpid='1000'.zfill(16))
-        leftTopSwitch = self.addSwitch('s2',dpid='2000'.zfill(16))
-        rightTopSwitch = self.addSwitch('s5',dpid='5000'.zfill(16))
-        leftBotSwitch = self.addSwitch('s3',dpid='3000'.zfill(16))
-        rightBotSwitch = self.addSwitch('s6',dpid='6000'.zfill(16))
-        midBotSwitch = self.addSwitch('s28',dpid='2800'.zfill(16))
-
-        topHost = self.addHost( 'h1' )
-        leftTopHost = self.addHost('h2')
-        rightTopHost = self.addHost('h5')
-        leftBotHost = self.addHost('h3')
-        rightBotHost = self.addHost('h6')
-        midBotHost = self.addHost('h28')
-        self.addLink(topSwitch,topHost)
-        self.addLink(leftTopSwitch,leftTopHost)
-        self.addLink(rightTopSwitch,rightTopHost)
-        self.addLink(leftBotSwitch,leftBotHost)
-        self.addLink(rightBotSwitch,rightBotHost)
-        self.addLink(midBotSwitch,midBotHost)
-        self.addLink(leftTopSwitch,rightTopSwitch)
-        self.addLink(topSwitch,leftTopSwitch)
-        self.addLink(topSwitch,rightTopSwitch)
-        self.addLink(leftTopSwitch,leftBotSwitch)
-        self.addLink(rightTopSwitch,rightBotSwitch)
-        self.addLink(leftBotSwitch,midBotSwitch)
-        self.addLink(midBotSwitch,rightBotSwitch)
-
-        agg1Switch = self.addSwitch('s4',dpid = '3004'.zfill(16))
-        agg2Switch = self.addSwitch('s7',dpid = '6007'.zfill(16))
-        agg1Host = self.addHost('h4')
-        agg2Host = self.addHost('h7')
-        self.addLink(agg1Switch,agg1Host)
-        self.addLink(agg2Switch,agg2Host)
-        self.addLink(agg1Switch, leftBotSwitch)
-        self.addLink(agg2Switch, rightBotSwitch)
-
-        for i in range(10):
-            num = str(i+8)
-            switch = self.addSwitch('s'+num,dpid = ('30'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg1Switch)
-
-        for i in range(10):
-            num = str(i+18)
-            switch = self.addSwitch('s'+num,dpid = ('60'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg2Switch)
-
-topos = { 'obelisk': (lambda: ObeliskTopo() ) }
-
-def run():
-    topo = ObeliskTopo()
-    net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True )
-    net.start()
-    CLI( net )
-    net.stop()
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    run()
diff --git a/TestON/tests/HAfullNetPartition/dependencies/onos-gen-partitions b/TestON/tests/HAfullNetPartition/dependencies/onos-gen-partitions
deleted file mode 100755
index 06c5ec9..0000000
--- a/TestON/tests/HAfullNetPartition/dependencies/onos-gen-partitions
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-"""
-  Generate the partitions json file from the $OC* environment variables
-
-  Usage: onos-gen-partitions [output file]
-  If output file is not provided, the json is written to stdout.
-"""
-
-from os import environ
-from collections import deque, OrderedDict
-import re
-import json
-import sys
-import hashlib
-
-convert = lambda text: int(text) if text.isdigit() else text.lower()
-alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
-
-def get_OC_vars():
-  vars = []
-  for var in environ:
-    if re.match(r"OC[0-9]+", var):
-      vars.append(var)
-  return sorted(vars, key=alphanum_key)
-
-def get_nodes(vars, port=9876):
-  node = lambda k: { 'id': k, 'ip': k, 'port': port }
-  return [ node(environ[v]) for v in vars ]
-
-def generate_base_partition(nodes):
-  return {
-            'id': 0,
-            'members': nodes
-         }
-
-def generate_extended_partitions(nodes, k):
-  l = deque(nodes)
-  perms = []
-  for i in range(1, len(nodes)+1):
-    part = {
-             'id': i,
-             'members': list(l)[:k]
-           }
-    perms.append(part)
-    l.rotate(-1)
-  return perms
-
-def generate_extended_partitions_HA(nodes, k):
-  l = deque(nodes)
-  perms = []
-  for i in range(1, (len(nodes) + 1) / 2 + 1):
-    part = {
-             'id': i,
-             'members': list(l)[:k]
-           }
-    perms.append(part)
-    l.rotate(-2)
-  return perms
-
-if __name__ == '__main__':
-  vars = get_OC_vars()
-  nodes = get_nodes(vars)
-  base_partition = generate_base_partition([v.get('id') for v in nodes])
-  extended_partitions = generate_extended_partitions_HA([v.get('id') for v in nodes], 3)
-  partitions = []
-  partitions.append(base_partition)
-  partitions.extend(extended_partitions)
-  name = 0
-  for node in nodes:
-    name = name ^ hash(node['ip'])
-  data = {
-           'name': name,
-           'nodes': nodes,
-           'partitions': partitions
-         }
-  output = json.dumps(data, indent=4)
-
-  if len(sys.argv) == 2:
-    filename = sys.argv[1]
-    with open(filename, 'w') as f:
-      f.write(output)
-  else:
-    print output
diff --git a/TestON/tests/HAkillNodes/HAkillNodes.topo b/TestON/tests/HAkillNodes/HAkillNodes.topo
deleted file mode 100644
index 5ba79fc..0000000
--- a/TestON/tests/HAkillNodes/HAkillNodes.topo
+++ /dev/null
@@ -1,171 +0,0 @@
-<TOPOLOGY>
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOScli1>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli1>
-
-        <ONOScli2>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli2>
-
-        <ONOScli3>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli3>
-
-
-        <ONOScli4>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli4>
-
-
-        <ONOScli5>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli5>
-
-
-        <ONOScli6>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli6>
-
-
-        <ONOScli7>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli7>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-        <Mininet1>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>MininetCliDriver</type>
-            <connect_order>16</connect_order>
-            <COMPONENTS>
-                #Specify the Option for mininet
-                <arg1> --custom ~/mininet/custom/obelisk.py </arg1>
-                <arg2> --topo obelisk </arg2>
-                <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
-                <controller> none </controller>
-                <home>~/mininet/custom/</home>
-            </COMPONENTS>
-        </Mininet1>
-
-        <Mininet2>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>RemoteMininetDriver</type>
-            <connect_order>17</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </Mininet2>
-
-    </COMPONENT>
-</TOPOLOGY>
diff --git a/TestON/tests/HAkillNodes/dependencies/HA.py b/TestON/tests/HAkillNodes/dependencies/HA.py
deleted file mode 100644
index e00d290..0000000
--- a/TestON/tests/HAkillNodes/dependencies/HA.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import json
-import time
-
-class HA():
-
-    def __init__( self ):
-        self.default = ''
-
-    def consistentCheck( self ):
-        """
-        Checks that TestON counters are consistent across all nodes.
-
-        Returns the tuple (onosCounters, consistent)
-        - onosCounters is the parsed json output of the counters command on
-          all nodes
-        - consistent is main.TRUE if all "TestON" counters are consitent across
-          all nodes or main.FALSE
-        """
-        try:
-            # Get onos counters results
-            onosCountersRaw = []
-            threads = []
-            for i in main.activeNodes:
-                t = main.Thread( target=utilities.retry,
-                                 name="counters-" + str( i ),
-                                 args=[ main.CLIs[i].counters, [ None ] ],
-                                 kwargs= { 'sleep': 5, 'attempts': 5,
-                                           'randomTime': True } )
-                threads.append( t )
-                t.start()
-            for t in threads:
-                t.join()
-                onosCountersRaw.append( t.result )
-            onosCounters = []
-            for i in range( len( main.activeNodes ) ):
-                try:
-                    onosCounters.append( json.loads( onosCountersRaw[i] ) )
-                except ( ValueError, TypeError ):
-                    main.log.error( "Could not parse counters response from ONOS" +
-                                    str( main.activeNodes[i] + 1 ) )
-                    main.log.warn( repr( onosCountersRaw[ i ] ) )
-                    onosCounters.append( [] )
-
-            testCounters = {}
-            # make a list of all the "TestON-*" counters in ONOS
-            # lookes like a dict whose keys are the name of the ONOS node and
-            # values are a list of the counters. I.E.
-            # { "ONOS1": [ { "name":"TestON-Partitions","value":56} ]
-            # }
-            # NOTE: There is an assumtion that all nodes are active
-            #        based on the above for loops
-            for controller in enumerate( onosCounters ):
-                for key, value in controller[1].iteritems():
-                    if 'TestON' in key:
-                        node = 'ONOS' + str( controller[0] + 1 )
-                        try:
-                            testCounters[node].append( { key: value } )
-                        except KeyError:
-                            testCounters[node] = [ { key: value } ]
-            # compare the counters on each node
-            firstV = testCounters.values()[0]
-            tmp = [ v == firstV for k, v in testCounters.iteritems() ]
-            if all( tmp ):
-                consistent = main.TRUE
-            else:
-                consistent = main.FALSE
-                main.log.error( "ONOS nodes have different values for counters:\n" +
-                                testCounters )
-            return ( onosCounters, consistent )
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def counterCheck( self, counterName, counterValue ):
-        """
-        Checks that TestON counters are consistent across all nodes and that
-        specified counter is in ONOS with the given value
-        """
-        try:
-            correctResults = main.TRUE
-            # Get onos counters results and consistentCheck
-            onosCounters, consistent = self.consistentCheck()
-            # Check for correct values
-            for i in range( len( main.activeNodes ) ):
-                current = onosCounters[i]
-                onosValue = None
-                try:
-                    onosValue = current.get( counterName )
-                except AttributeError:
-                    node = str( main.activeNodes[i] + 1 )
-                    main.log.exception( "ONOS" + node + " counters result " +
-                                        "is not as expected" )
-                    correctResults = main.FALSE
-                if onosValue == counterValue:
-                    main.log.info( counterName + " counter value is correct" )
-                else:
-                    main.log.error( counterName +
-                                    " counter value is incorrect," +
-                                    " expected value: " + str( counterValue ) +
-                                    " current value: " + str( onosValue ) )
-                    correctResults = main.FALSE
-            return consistent and correctResults
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def consistentLeaderboards( self, nodes ):
-        TOPIC = 'org.onosproject.election'
-        # FIXME: use threads
-        #FIXME: should we retry outside the function?
-        for n in range( 5 ):  # Retry in case election is still happening
-            leaderList = []
-            # Get all leaderboards
-            for cli in nodes:
-                leaderList.append( cli.specificLeaderCandidate( TOPIC ) )
-            # Compare leaderboards
-            result = all( i == leaderList[0] for i in leaderList ) and\
-                     leaderList is not None
-            main.log.debug( leaderList )
-            main.log.warn( result )
-            if result:
-                return ( result, leaderList )
-            time.sleep(5)  # TODO: paramerterize
-        main.log.error( "Inconsistent leaderboards:" + str( leaderList ) )
-        return ( result, leaderList )
-
-    def nodesCheck( self, nodes ):
-        nodesOutput = []
-        results = True
-        threads = []
-        for i in nodes:
-            t = main.Thread( target=main.CLIs[i].nodes,
-                             name="nodes-" + str( i ),
-                             args=[ ] )
-            threads.append( t )
-            t.start()
-
-        for t in threads:
-            t.join()
-            nodesOutput.append( t.result )
-        ips = [ main.nodes[node].ip_address for node in nodes ]
-        ips.sort()
-        for i in nodesOutput:
-            try:
-                current = json.loads( i )
-                activeIps = []
-                currentResult = False
-                for node in current:
-                    if node['state'] == 'READY':
-                        activeIps.append( node['ip'] )
-                activeIps.sort()
-                if ips == activeIps:
-                    currentResult = True
-            except ( ValueError, TypeError ):
-                main.log.error( "Error parsing nodes output" )
-                main.log.warn( repr( i ) )
-                currentResult = False
-            results = results and currentResult
-        return results
diff --git a/TestON/tests/HAkillNodes/dependencies/obelisk.py b/TestON/tests/HAkillNodes/dependencies/obelisk.py
deleted file mode 100755
index d613806..0000000
--- a/TestON/tests/HAkillNodes/dependencies/obelisk.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-from mininet.topo import Topo
-
-class ObeliskTopo( Topo ):
-    def __init__( self ):
-        Topo.__init__( self )
-        topSwitch = self.addSwitch('s1',dpid='1000'.zfill(16))
-        leftTopSwitch = self.addSwitch('s2',dpid='2000'.zfill(16))
-        rightTopSwitch = self.addSwitch('s5',dpid='5000'.zfill(16))
-        leftBotSwitch = self.addSwitch('s3',dpid='3000'.zfill(16))
-        rightBotSwitch = self.addSwitch('s6',dpid='6000'.zfill(16))
-        midBotSwitch = self.addSwitch('s28',dpid='2800'.zfill(16))
-
-        topHost = self.addHost( 'h1' )
-        leftTopHost = self.addHost('h2')
-        rightTopHost = self.addHost('h5')
-        leftBotHost = self.addHost('h3')
-        rightBotHost = self.addHost('h6')
-        midBotHost = self.addHost('h28')
-        self.addLink(topSwitch,topHost)
-        self.addLink(leftTopSwitch,leftTopHost)
-        self.addLink(rightTopSwitch,rightTopHost)
-        self.addLink(leftBotSwitch,leftBotHost)
-        self.addLink(rightBotSwitch,rightBotHost)
-        self.addLink(midBotSwitch,midBotHost)
-        self.addLink(leftTopSwitch,rightTopSwitch)
-        self.addLink(topSwitch,leftTopSwitch)
-        self.addLink(topSwitch,rightTopSwitch)
-        self.addLink(leftTopSwitch,leftBotSwitch)
-        self.addLink(rightTopSwitch,rightBotSwitch)
-        self.addLink(leftBotSwitch,midBotSwitch)
-        self.addLink(midBotSwitch,rightBotSwitch)
-
-        agg1Switch = self.addSwitch('s4',dpid = '3004'.zfill(16))
-        agg2Switch = self.addSwitch('s7',dpid = '6007'.zfill(16))
-        agg1Host = self.addHost('h4')
-        agg2Host = self.addHost('h7')
-        self.addLink(agg1Switch,agg1Host)
-        self.addLink(agg2Switch,agg2Host)
-        self.addLink(agg1Switch, leftBotSwitch)
-        self.addLink(agg2Switch, rightBotSwitch)
-
-        for i in range(10):
-            num = str(i+8)
-            switch = self.addSwitch('s'+num,dpid = ('30'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg1Switch)
-
-        for i in range(10):
-            num = str(i+18)
-            switch = self.addSwitch('s'+num,dpid = ('60'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg2Switch)
-
-topos = { 'obelisk': (lambda: ObeliskTopo() ) }
-
-def run():
-    topo = ObeliskTopo()
-    net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True )
-    net.start()
-    CLI( net )
-    net.stop()
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    run()
diff --git a/TestON/tests/HAsanity/HAsanity.topo b/TestON/tests/HAsanity/HAsanity.topo
deleted file mode 100644
index 5ba79fc..0000000
--- a/TestON/tests/HAsanity/HAsanity.topo
+++ /dev/null
@@ -1,171 +0,0 @@
-<TOPOLOGY>
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOScli1>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli1>
-
-        <ONOScli2>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli2>
-
-        <ONOScli3>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli3>
-
-
-        <ONOScli4>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli4>
-
-
-        <ONOScli5>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli5>
-
-
-        <ONOScli6>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli6>
-
-
-        <ONOScli7>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli7>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-        <Mininet1>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>MininetCliDriver</type>
-            <connect_order>16</connect_order>
-            <COMPONENTS>
-                #Specify the Option for mininet
-                <arg1> --custom ~/mininet/custom/obelisk.py </arg1>
-                <arg2> --topo obelisk </arg2>
-                <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
-                <controller> none </controller>
-                <home>~/mininet/custom/</home>
-            </COMPONENTS>
-        </Mininet1>
-
-        <Mininet2>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>RemoteMininetDriver</type>
-            <connect_order>17</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </Mininet2>
-
-    </COMPONENT>
-</TOPOLOGY>
diff --git a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.topo b/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
deleted file mode 100644
index 5ba79fc..0000000
--- a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.topo
+++ /dev/null
@@ -1,171 +0,0 @@
-<TOPOLOGY>
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOScli1>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli1>
-
-        <ONOScli2>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli2>
-
-        <ONOScli3>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli3>
-
-
-        <ONOScli4>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli4>
-
-
-        <ONOScli5>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli5>
-
-
-        <ONOScli6>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli6>
-
-
-        <ONOScli7>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli7>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-        <Mininet1>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>MininetCliDriver</type>
-            <connect_order>16</connect_order>
-            <COMPONENTS>
-                #Specify the Option for mininet
-                <arg1> --custom ~/mininet/custom/obelisk.py </arg1>
-                <arg2> --topo obelisk </arg2>
-                <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
-                <controller> none </controller>
-                <home>~/mininet/custom/</home>
-            </COMPONENTS>
-        </Mininet1>
-
-        <Mininet2>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>RemoteMininetDriver</type>
-            <connect_order>17</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </Mininet2>
-
-    </COMPONENT>
-</TOPOLOGY>
diff --git a/TestON/tests/HAsingleInstanceRestart/dependencies/HA.py b/TestON/tests/HAsingleInstanceRestart/dependencies/HA.py
deleted file mode 100644
index e00d290..0000000
--- a/TestON/tests/HAsingleInstanceRestart/dependencies/HA.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import json
-import time
-
-class HA():
-
-    def __init__( self ):
-        self.default = ''
-
-    def consistentCheck( self ):
-        """
-        Checks that TestON counters are consistent across all nodes.
-
-        Returns the tuple (onosCounters, consistent)
-        - onosCounters is the parsed json output of the counters command on
-          all nodes
-        - consistent is main.TRUE if all "TestON" counters are consitent across
-          all nodes or main.FALSE
-        """
-        try:
-            # Get onos counters results
-            onosCountersRaw = []
-            threads = []
-            for i in main.activeNodes:
-                t = main.Thread( target=utilities.retry,
-                                 name="counters-" + str( i ),
-                                 args=[ main.CLIs[i].counters, [ None ] ],
-                                 kwargs= { 'sleep': 5, 'attempts': 5,
-                                           'randomTime': True } )
-                threads.append( t )
-                t.start()
-            for t in threads:
-                t.join()
-                onosCountersRaw.append( t.result )
-            onosCounters = []
-            for i in range( len( main.activeNodes ) ):
-                try:
-                    onosCounters.append( json.loads( onosCountersRaw[i] ) )
-                except ( ValueError, TypeError ):
-                    main.log.error( "Could not parse counters response from ONOS" +
-                                    str( main.activeNodes[i] + 1 ) )
-                    main.log.warn( repr( onosCountersRaw[ i ] ) )
-                    onosCounters.append( [] )
-
-            testCounters = {}
-            # make a list of all the "TestON-*" counters in ONOS
-            # lookes like a dict whose keys are the name of the ONOS node and
-            # values are a list of the counters. I.E.
-            # { "ONOS1": [ { "name":"TestON-Partitions","value":56} ]
-            # }
-            # NOTE: There is an assumtion that all nodes are active
-            #        based on the above for loops
-            for controller in enumerate( onosCounters ):
-                for key, value in controller[1].iteritems():
-                    if 'TestON' in key:
-                        node = 'ONOS' + str( controller[0] + 1 )
-                        try:
-                            testCounters[node].append( { key: value } )
-                        except KeyError:
-                            testCounters[node] = [ { key: value } ]
-            # compare the counters on each node
-            firstV = testCounters.values()[0]
-            tmp = [ v == firstV for k, v in testCounters.iteritems() ]
-            if all( tmp ):
-                consistent = main.TRUE
-            else:
-                consistent = main.FALSE
-                main.log.error( "ONOS nodes have different values for counters:\n" +
-                                testCounters )
-            return ( onosCounters, consistent )
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def counterCheck( self, counterName, counterValue ):
-        """
-        Checks that TestON counters are consistent across all nodes and that
-        specified counter is in ONOS with the given value
-        """
-        try:
-            correctResults = main.TRUE
-            # Get onos counters results and consistentCheck
-            onosCounters, consistent = self.consistentCheck()
-            # Check for correct values
-            for i in range( len( main.activeNodes ) ):
-                current = onosCounters[i]
-                onosValue = None
-                try:
-                    onosValue = current.get( counterName )
-                except AttributeError:
-                    node = str( main.activeNodes[i] + 1 )
-                    main.log.exception( "ONOS" + node + " counters result " +
-                                        "is not as expected" )
-                    correctResults = main.FALSE
-                if onosValue == counterValue:
-                    main.log.info( counterName + " counter value is correct" )
-                else:
-                    main.log.error( counterName +
-                                    " counter value is incorrect," +
-                                    " expected value: " + str( counterValue ) +
-                                    " current value: " + str( onosValue ) )
-                    correctResults = main.FALSE
-            return consistent and correctResults
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def consistentLeaderboards( self, nodes ):
-        TOPIC = 'org.onosproject.election'
-        # FIXME: use threads
-        #FIXME: should we retry outside the function?
-        for n in range( 5 ):  # Retry in case election is still happening
-            leaderList = []
-            # Get all leaderboards
-            for cli in nodes:
-                leaderList.append( cli.specificLeaderCandidate( TOPIC ) )
-            # Compare leaderboards
-            result = all( i == leaderList[0] for i in leaderList ) and\
-                     leaderList is not None
-            main.log.debug( leaderList )
-            main.log.warn( result )
-            if result:
-                return ( result, leaderList )
-            time.sleep(5)  # TODO: paramerterize
-        main.log.error( "Inconsistent leaderboards:" + str( leaderList ) )
-        return ( result, leaderList )
-
-    def nodesCheck( self, nodes ):
-        nodesOutput = []
-        results = True
-        threads = []
-        for i in nodes:
-            t = main.Thread( target=main.CLIs[i].nodes,
-                             name="nodes-" + str( i ),
-                             args=[ ] )
-            threads.append( t )
-            t.start()
-
-        for t in threads:
-            t.join()
-            nodesOutput.append( t.result )
-        ips = [ main.nodes[node].ip_address for node in nodes ]
-        ips.sort()
-        for i in nodesOutput:
-            try:
-                current = json.loads( i )
-                activeIps = []
-                currentResult = False
-                for node in current:
-                    if node['state'] == 'READY':
-                        activeIps.append( node['ip'] )
-                activeIps.sort()
-                if ips == activeIps:
-                    currentResult = True
-            except ( ValueError, TypeError ):
-                main.log.error( "Error parsing nodes output" )
-                main.log.warn( repr( i ) )
-                currentResult = False
-            results = results and currentResult
-        return results
diff --git a/TestON/tests/HAsingleInstanceRestart/dependencies/obelisk.py b/TestON/tests/HAsingleInstanceRestart/dependencies/obelisk.py
deleted file mode 100755
index d613806..0000000
--- a/TestON/tests/HAsingleInstanceRestart/dependencies/obelisk.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-from mininet.topo import Topo
-
-class ObeliskTopo( Topo ):
-    def __init__( self ):
-        Topo.__init__( self )
-        topSwitch = self.addSwitch('s1',dpid='1000'.zfill(16))
-        leftTopSwitch = self.addSwitch('s2',dpid='2000'.zfill(16))
-        rightTopSwitch = self.addSwitch('s5',dpid='5000'.zfill(16))
-        leftBotSwitch = self.addSwitch('s3',dpid='3000'.zfill(16))
-        rightBotSwitch = self.addSwitch('s6',dpid='6000'.zfill(16))
-        midBotSwitch = self.addSwitch('s28',dpid='2800'.zfill(16))
-
-        topHost = self.addHost( 'h1' )
-        leftTopHost = self.addHost('h2')
-        rightTopHost = self.addHost('h5')
-        leftBotHost = self.addHost('h3')
-        rightBotHost = self.addHost('h6')
-        midBotHost = self.addHost('h28')
-        self.addLink(topSwitch,topHost)
-        self.addLink(leftTopSwitch,leftTopHost)
-        self.addLink(rightTopSwitch,rightTopHost)
-        self.addLink(leftBotSwitch,leftBotHost)
-        self.addLink(rightBotSwitch,rightBotHost)
-        self.addLink(midBotSwitch,midBotHost)
-        self.addLink(leftTopSwitch,rightTopSwitch)
-        self.addLink(topSwitch,leftTopSwitch)
-        self.addLink(topSwitch,rightTopSwitch)
-        self.addLink(leftTopSwitch,leftBotSwitch)
-        self.addLink(rightTopSwitch,rightBotSwitch)
-        self.addLink(leftBotSwitch,midBotSwitch)
-        self.addLink(midBotSwitch,rightBotSwitch)
-
-        agg1Switch = self.addSwitch('s4',dpid = '3004'.zfill(16))
-        agg2Switch = self.addSwitch('s7',dpid = '6007'.zfill(16))
-        agg1Host = self.addHost('h4')
-        agg2Host = self.addHost('h7')
-        self.addLink(agg1Switch,agg1Host)
-        self.addLink(agg2Switch,agg2Host)
-        self.addLink(agg1Switch, leftBotSwitch)
-        self.addLink(agg2Switch, rightBotSwitch)
-
-        for i in range(10):
-            num = str(i+8)
-            switch = self.addSwitch('s'+num,dpid = ('30'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg1Switch)
-
-        for i in range(10):
-            num = str(i+18)
-            switch = self.addSwitch('s'+num,dpid = ('60'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg2Switch)
-
-topos = { 'obelisk': (lambda: ObeliskTopo() ) }
-
-def run():
-    topo = ObeliskTopo()
-    net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True )
-    net.start()
-    CLI( net )
-    net.stop()
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    run()
diff --git a/TestON/tests/HAstopNodes/HAstopNodes.params b/TestON/tests/HAstopNodes/HAstopNodes.params
deleted file mode 100644
index 134f5f2..0000000
--- a/TestON/tests/HAstopNodes/HAstopNodes.params
+++ /dev/null
@@ -1,90 +0,0 @@
-<PARAMS>
-    #List of test cases:
-    #CASE1: Compile ONOS and push it to the test machines
-    #CASE2: Assign devices to controllers
-    #CASE21: Assign mastership to controllers
-    #CASE3: Assign intents
-    #CASE4: Ping across added host intents
-    #CASE5: Reading state of ONOS
-    #CASE61: The Failure inducing case.
-    #CASE62: The Failure recovery case.
-    #CASE7: Check state after control plane failure
-    #CASE8: Compare topo
-    #CASE9: Link s3-s28 down
-    #CASE10: Link s3-s28 up
-    #CASE11: Switch down
-    #CASE12: Switch up
-    #CASE13: Clean up
-    #CASE14: start election app on all onos nodes
-    #CASE15: Check that Leadership Election is still functional
-    #CASE16: Install Distributed Primitives app
-    #CASE17: Check for basic functionality with distributed primitives
-    <testcases>1,2,8,3,4,5,14,16,17,[61,8,7,4,15,17,62],8,7,4,15,17,9,8,4,10,8,4,11,8,4,12,8,4,13</testcases>
-
-    <apps></apps>
-    <ONOS_Configuration>
-        <org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
-            <useFlowObjectives>true</useFlowObjectives>
-        </org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
-    </ONOS_Configuration>
-    <ENV>
-        <cellName>HA</cellName>
-        <appString>drivers,openflow,proxyarp,mobility</appString>
-    </ENV>
-    <Git> False </Git>
-    <branch> master </branch>
-    <num_controllers> 7 </num_controllers>
-    <tcpdump> False </tcpdump>
-
-    <CTRL>
-        <port1>6653</port1>
-        <port2>6653</port2>
-        <port3>6653</port3>
-        <port4>6653</port4>
-        <port5>6653</port5>
-        <port6>6653</port6>
-        <port7>6653</port7>
-    </CTRL>
-    <BACKUP>
-        <ENABLED> False </ENABLED>
-        <TESTONUSER>admin</TESTONUSER>
-        <TESTONIP>10.128.30.9</TESTONIP>
-    </BACKUP>
-    <PING>
-        <source1>h8</source1>
-        <source2>h9</source2>
-        <source3>h10</source3>
-        <source4>h11</source4>
-        <source5>h12</source5>
-        <source6>h13</source6>
-        <source7>h14</source7>
-        <source8>h15</source8>
-        <source9>h16</source9>
-        <source10>h17</source10>
-        <target1>10.0.0.18</target1>
-        <target2>10.0.0.19</target2>
-        <target3>10.0.0.20</target3>
-        <target4>10.0.0.21</target4>
-        <target5>10.0.0.22</target5>
-        <target6>10.0.0.23</target6>
-        <target7>10.0.0.24</target7>
-        <target8>10.0.0.25</target8>
-        <target9>10.0.0.26</target9>
-        <target10>10.0.0.27</target10>
-    </PING>
-    <timers>
-        <LinkDiscovery>12</LinkDiscovery>
-        <SwitchDiscovery>12</SwitchDiscovery>
-        <gossip>5</gossip>
-    </timers>
-    <kill>
-        <switch> s5 </switch>
-        <dpid> 0000000000005000 </dpid>
-        <links> h5 s2 s1 s6 </links>
-    </kill>
-    <MNtcpdump>
-        <intf>eth0</intf>
-        <port> </port>
-        <folder>~/packet_captures/</folder>
-    </MNtcpdump>
-</PARAMS>
diff --git a/TestON/tests/HAstopNodes/HAstopNodes.topo b/TestON/tests/HAstopNodes/HAstopNodes.topo
deleted file mode 100644
index 5ba79fc..0000000
--- a/TestON/tests/HAstopNodes/HAstopNodes.topo
+++ /dev/null
@@ -1,171 +0,0 @@
-<TOPOLOGY>
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOScli1>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli1>
-
-        <ONOScli2>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli2>
-
-        <ONOScli3>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli3>
-
-
-        <ONOScli4>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli4>
-
-
-        <ONOScli5>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli5>
-
-
-        <ONOScli6>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli6>
-
-
-        <ONOScli7>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOScli7>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-        <Mininet1>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>MininetCliDriver</type>
-            <connect_order>16</connect_order>
-            <COMPONENTS>
-                #Specify the Option for mininet
-                <arg1> --custom ~/mininet/custom/obelisk.py </arg1>
-                <arg2> --topo obelisk </arg2>
-                <arg3> --switch ovs,protocols=OpenFlow13 </arg3>
-                <controller> none </controller>
-                <home>~/mininet/custom/</home>
-            </COMPONENTS>
-        </Mininet1>
-
-        <Mininet2>
-            <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>RemoteMininetDriver</type>
-            <connect_order>17</connect_order>
-            <COMPONENTS>
-            </COMPONENTS>
-        </Mininet2>
-
-    </COMPONENT>
-</TOPOLOGY>
diff --git a/TestON/tests/HAstopNodes/dependencies/HA.py b/TestON/tests/HAstopNodes/dependencies/HA.py
deleted file mode 100644
index e00d290..0000000
--- a/TestON/tests/HAstopNodes/dependencies/HA.py
+++ /dev/null
@@ -1,161 +0,0 @@
-import json
-import time
-
-class HA():
-
-    def __init__( self ):
-        self.default = ''
-
-    def consistentCheck( self ):
-        """
-        Checks that TestON counters are consistent across all nodes.
-
-        Returns the tuple (onosCounters, consistent)
-        - onosCounters is the parsed json output of the counters command on
-          all nodes
-        - consistent is main.TRUE if all "TestON" counters are consitent across
-          all nodes or main.FALSE
-        """
-        try:
-            # Get onos counters results
-            onosCountersRaw = []
-            threads = []
-            for i in main.activeNodes:
-                t = main.Thread( target=utilities.retry,
-                                 name="counters-" + str( i ),
-                                 args=[ main.CLIs[i].counters, [ None ] ],
-                                 kwargs= { 'sleep': 5, 'attempts': 5,
-                                           'randomTime': True } )
-                threads.append( t )
-                t.start()
-            for t in threads:
-                t.join()
-                onosCountersRaw.append( t.result )
-            onosCounters = []
-            for i in range( len( main.activeNodes ) ):
-                try:
-                    onosCounters.append( json.loads( onosCountersRaw[i] ) )
-                except ( ValueError, TypeError ):
-                    main.log.error( "Could not parse counters response from ONOS" +
-                                    str( main.activeNodes[i] + 1 ) )
-                    main.log.warn( repr( onosCountersRaw[ i ] ) )
-                    onosCounters.append( [] )
-
-            testCounters = {}
-            # make a list of all the "TestON-*" counters in ONOS
-            # lookes like a dict whose keys are the name of the ONOS node and
-            # values are a list of the counters. I.E.
-            # { "ONOS1": [ { "name":"TestON-Partitions","value":56} ]
-            # }
-            # NOTE: There is an assumtion that all nodes are active
-            #        based on the above for loops
-            for controller in enumerate( onosCounters ):
-                for key, value in controller[1].iteritems():
-                    if 'TestON' in key:
-                        node = 'ONOS' + str( controller[0] + 1 )
-                        try:
-                            testCounters[node].append( { key: value } )
-                        except KeyError:
-                            testCounters[node] = [ { key: value } ]
-            # compare the counters on each node
-            firstV = testCounters.values()[0]
-            tmp = [ v == firstV for k, v in testCounters.iteritems() ]
-            if all( tmp ):
-                consistent = main.TRUE
-            else:
-                consistent = main.FALSE
-                main.log.error( "ONOS nodes have different values for counters:\n" +
-                                testCounters )
-            return ( onosCounters, consistent )
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def counterCheck( self, counterName, counterValue ):
-        """
-        Checks that TestON counters are consistent across all nodes and that
-        specified counter is in ONOS with the given value
-        """
-        try:
-            correctResults = main.TRUE
-            # Get onos counters results and consistentCheck
-            onosCounters, consistent = self.consistentCheck()
-            # Check for correct values
-            for i in range( len( main.activeNodes ) ):
-                current = onosCounters[i]
-                onosValue = None
-                try:
-                    onosValue = current.get( counterName )
-                except AttributeError:
-                    node = str( main.activeNodes[i] + 1 )
-                    main.log.exception( "ONOS" + node + " counters result " +
-                                        "is not as expected" )
-                    correctResults = main.FALSE
-                if onosValue == counterValue:
-                    main.log.info( counterName + " counter value is correct" )
-                else:
-                    main.log.error( counterName +
-                                    " counter value is incorrect," +
-                                    " expected value: " + str( counterValue ) +
-                                    " current value: " + str( onosValue ) )
-                    correctResults = main.FALSE
-            return consistent and correctResults
-        except Exception:
-            main.log.exception( "" )
-            main.cleanup()
-            main.exit()
-
-    def consistentLeaderboards( self, nodes ):
-        TOPIC = 'org.onosproject.election'
-        # FIXME: use threads
-        #FIXME: should we retry outside the function?
-        for n in range( 5 ):  # Retry in case election is still happening
-            leaderList = []
-            # Get all leaderboards
-            for cli in nodes:
-                leaderList.append( cli.specificLeaderCandidate( TOPIC ) )
-            # Compare leaderboards
-            result = all( i == leaderList[0] for i in leaderList ) and\
-                     leaderList is not None
-            main.log.debug( leaderList )
-            main.log.warn( result )
-            if result:
-                return ( result, leaderList )
-            time.sleep(5)  # TODO: paramerterize
-        main.log.error( "Inconsistent leaderboards:" + str( leaderList ) )
-        return ( result, leaderList )
-
-    def nodesCheck( self, nodes ):
-        nodesOutput = []
-        results = True
-        threads = []
-        for i in nodes:
-            t = main.Thread( target=main.CLIs[i].nodes,
-                             name="nodes-" + str( i ),
-                             args=[ ] )
-            threads.append( t )
-            t.start()
-
-        for t in threads:
-            t.join()
-            nodesOutput.append( t.result )
-        ips = [ main.nodes[node].ip_address for node in nodes ]
-        ips.sort()
-        for i in nodesOutput:
-            try:
-                current = json.loads( i )
-                activeIps = []
-                currentResult = False
-                for node in current:
-                    if node['state'] == 'READY':
-                        activeIps.append( node['ip'] )
-                activeIps.sort()
-                if ips == activeIps:
-                    currentResult = True
-            except ( ValueError, TypeError ):
-                main.log.error( "Error parsing nodes output" )
-                main.log.warn( repr( i ) )
-                currentResult = False
-            results = results and currentResult
-        return results
diff --git a/TestON/tests/HAstopNodes/dependencies/obelisk.py b/TestON/tests/HAstopNodes/dependencies/obelisk.py
deleted file mode 100755
index d613806..0000000
--- a/TestON/tests/HAstopNodes/dependencies/obelisk.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-from mininet.topo import Topo
-
-class ObeliskTopo( Topo ):
-    def __init__( self ):
-        Topo.__init__( self )
-        topSwitch = self.addSwitch('s1',dpid='1000'.zfill(16))
-        leftTopSwitch = self.addSwitch('s2',dpid='2000'.zfill(16))
-        rightTopSwitch = self.addSwitch('s5',dpid='5000'.zfill(16))
-        leftBotSwitch = self.addSwitch('s3',dpid='3000'.zfill(16))
-        rightBotSwitch = self.addSwitch('s6',dpid='6000'.zfill(16))
-        midBotSwitch = self.addSwitch('s28',dpid='2800'.zfill(16))
-
-        topHost = self.addHost( 'h1' )
-        leftTopHost = self.addHost('h2')
-        rightTopHost = self.addHost('h5')
-        leftBotHost = self.addHost('h3')
-        rightBotHost = self.addHost('h6')
-        midBotHost = self.addHost('h28')
-        self.addLink(topSwitch,topHost)
-        self.addLink(leftTopSwitch,leftTopHost)
-        self.addLink(rightTopSwitch,rightTopHost)
-        self.addLink(leftBotSwitch,leftBotHost)
-        self.addLink(rightBotSwitch,rightBotHost)
-        self.addLink(midBotSwitch,midBotHost)
-        self.addLink(leftTopSwitch,rightTopSwitch)
-        self.addLink(topSwitch,leftTopSwitch)
-        self.addLink(topSwitch,rightTopSwitch)
-        self.addLink(leftTopSwitch,leftBotSwitch)
-        self.addLink(rightTopSwitch,rightBotSwitch)
-        self.addLink(leftBotSwitch,midBotSwitch)
-        self.addLink(midBotSwitch,rightBotSwitch)
-
-        agg1Switch = self.addSwitch('s4',dpid = '3004'.zfill(16))
-        agg2Switch = self.addSwitch('s7',dpid = '6007'.zfill(16))
-        agg1Host = self.addHost('h4')
-        agg2Host = self.addHost('h7')
-        self.addLink(agg1Switch,agg1Host)
-        self.addLink(agg2Switch,agg2Host)
-        self.addLink(agg1Switch, leftBotSwitch)
-        self.addLink(agg2Switch, rightBotSwitch)
-
-        for i in range(10):
-            num = str(i+8)
-            switch = self.addSwitch('s'+num,dpid = ('30'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg1Switch)
-
-        for i in range(10):
-            num = str(i+18)
-            switch = self.addSwitch('s'+num,dpid = ('60'+num.zfill(2)).zfill(16))
-            host = self.addHost('h'+num)
-            self.addLink(switch, host)
-            self.addLink(switch, agg2Switch)
-
-topos = { 'obelisk': (lambda: ObeliskTopo() ) }
-
-def run():
-    topo = ObeliskTopo()
-    net = Mininet( topo=topo, controller=RemoteController, autoSetMacs=True )
-    net.start()
-    CLI( net )
-    net.stop()
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    run()
diff --git a/TestON/tests/HAstopNodes/dependencies/onos-gen-partitions b/TestON/tests/HAstopNodes/dependencies/onos-gen-partitions
deleted file mode 100755
index 06c5ec9..0000000
--- a/TestON/tests/HAstopNodes/dependencies/onos-gen-partitions
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-"""
-  Generate the partitions json file from the $OC* environment variables
-
-  Usage: onos-gen-partitions [output file]
-  If output file is not provided, the json is written to stdout.
-"""
-
-from os import environ
-from collections import deque, OrderedDict
-import re
-import json
-import sys
-import hashlib
-
-convert = lambda text: int(text) if text.isdigit() else text.lower()
-alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
-
-def get_OC_vars():
-  vars = []
-  for var in environ:
-    if re.match(r"OC[0-9]+", var):
-      vars.append(var)
-  return sorted(vars, key=alphanum_key)
-
-def get_nodes(vars, port=9876):
-  node = lambda k: { 'id': k, 'ip': k, 'port': port }
-  return [ node(environ[v]) for v in vars ]
-
-def generate_base_partition(nodes):
-  return {
-            'id': 0,
-            'members': nodes
-         }
-
-def generate_extended_partitions(nodes, k):
-  l = deque(nodes)
-  perms = []
-  for i in range(1, len(nodes)+1):
-    part = {
-             'id': i,
-             'members': list(l)[:k]
-           }
-    perms.append(part)
-    l.rotate(-1)
-  return perms
-
-def generate_extended_partitions_HA(nodes, k):
-  l = deque(nodes)
-  perms = []
-  for i in range(1, (len(nodes) + 1) / 2 + 1):
-    part = {
-             'id': i,
-             'members': list(l)[:k]
-           }
-    perms.append(part)
-    l.rotate(-2)
-  return perms
-
-if __name__ == '__main__':
-  vars = get_OC_vars()
-  nodes = get_nodes(vars)
-  base_partition = generate_base_partition([v.get('id') for v in nodes])
-  extended_partitions = generate_extended_partitions_HA([v.get('id') for v in nodes], 3)
-  partitions = []
-  partitions.append(base_partition)
-  partitions.extend(extended_partitions)
-  name = 0
-  for node in nodes:
-    name = name ^ hash(node['ip'])
-  data = {
-           'name': name,
-           'nodes': nodes,
-           'partitions': partitions
-         }
-  output = json.dumps(data, indent=4)
-
-  if len(sys.argv) == 2:
-    filename = sys.argv[1]
-    with open(filename, 'w') as f:
-      f.write(output)
-  else:
-    print output
diff --git a/TestON/tests/PLATdockertest/PLATdockertest.params b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.params
similarity index 85%
rename from TestON/tests/PLATdockertest/PLATdockertest.params
rename to TestON/tests/PLAT/PLATdockertest/PLATdockertest.params
index b16be02..cc90dae 100755
--- a/TestON/tests/PLATdockertest/PLATdockertest.params
+++ b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.params
@@ -14,12 +14,12 @@
     </SCALE>
 
     <CASE110>
-        <clustercmdpath>../tests/PLATdockertest/Dependency</clustercmdpath>
+        <clustercmdpath>../tests/PLATdockertest/dependencies</clustercmdpath>
         <apps>org.onosproject.proxyarp,org.onosproject.fwd</apps>
     </CASE110>
 
     <DEPENDENCY>
-        <path>/tests/SAMPstartTemplate/Dependency/</path>
+        <path>/tests/SAMPstartTemplate/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <topology>newFuncTopo.py</topology>
     </DEPENDENCY>
diff --git a/TestON/tests/PLATdockertest/PLATdockertest.py b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.py
similarity index 99%
rename from TestON/tests/PLATdockertest/PLATdockertest.py
rename to TestON/tests/PLAT/PLATdockertest/PLATdockertest.py
index 2e743f3..6e4acda 100755
--- a/TestON/tests/PLATdockertest/PLATdockertest.py
+++ b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.py
@@ -154,7 +154,7 @@
                                     onfail = "Failed to start ONOS correctly" )
         if stepResult is main.FALSE: main.skipCase()
 
-        main.step( "Form onos cluster using 'Dependency/onos-form-cluster' util")
+        main.step( "Form onos cluster using 'dependencies/onos-form-cluster' util")
         stepResult = main.FALSE
         clcmdpath = main.params["CASE110"]["clustercmdpath"]
         main.log.info("onos-form-cluster cmd path is: " + clcmdpath)
diff --git a/TestON/tests/PLATdockertest/PLATdockertest.topo b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
similarity index 82%
rename from TestON/tests/PLATdockertest/PLATdockertest.topo
rename to TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
index 8fd6ed9..3501864 100755
--- a/TestON/tests/PLATdockertest/PLATdockertest.topo
+++ b/TestON/tests/PLAT/PLATdockertest/PLATdockertest.topo
@@ -2,8 +2,8 @@
     <COMPONENT>
         <ONOSbenchCli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -23,8 +23,8 @@
 
         <ONOSbenchDocker>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>DockerApiDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
@@ -33,8 +33,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/PLATdockertest/__init__.py b/TestON/tests/PLAT/PLATdockertest/__init__.py
similarity index 100%
rename from TestON/tests/PLATdockertest/__init__.py
rename to TestON/tests/PLAT/PLATdockertest/__init__.py
diff --git a/TestON/tests/PLATdockertest/Dependency/onos-form-cluster b/TestON/tests/PLAT/PLATdockertest/dependencies/Dependency/onos-form-cluster
similarity index 100%
rename from TestON/tests/PLATdockertest/Dependency/onos-form-cluster
rename to TestON/tests/PLAT/PLATdockertest/dependencies/Dependency/onos-form-cluster
diff --git a/TestON/tests/CHOtest/__init__.py b/TestON/tests/PLAT/__init__.py
similarity index 100%
copy from TestON/tests/CHOtest/__init__.py
copy to TestON/tests/PLAT/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/PLAT/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/PLAT/dependencies/__init__.py
diff --git a/TestON/tests/SAMPstartTemplate/Dependency/newFuncTopo.py b/TestON/tests/SAMP/SAMPstartTemplate/Dependency/newFuncTopo.py
similarity index 100%
rename from TestON/tests/SAMPstartTemplate/Dependency/newFuncTopo.py
rename to TestON/tests/SAMP/SAMPstartTemplate/Dependency/newFuncTopo.py
diff --git a/TestON/tests/SAMPstartTemplate/Dependency/startUp.py b/TestON/tests/SAMP/SAMPstartTemplate/Dependency/startUp.py
similarity index 100%
rename from TestON/tests/SAMPstartTemplate/Dependency/startUp.py
rename to TestON/tests/SAMP/SAMPstartTemplate/Dependency/startUp.py
diff --git a/TestON/tests/SAMPstartTemplate/README b/TestON/tests/SAMP/SAMPstartTemplate/README
similarity index 100%
rename from TestON/tests/SAMPstartTemplate/README
rename to TestON/tests/SAMP/SAMPstartTemplate/README
diff --git a/TestON/tests/SAMPstartTemplate/SAMPstartTemplate.params b/TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.params
similarity index 90%
rename from TestON/tests/SAMPstartTemplate/SAMPstartTemplate.params
rename to TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.params
index d0ac5c7..9120c6a 100755
--- a/TestON/tests/SAMPstartTemplate/SAMPstartTemplate.params
+++ b/TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.params
@@ -8,7 +8,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/SAMPstartTemplate/Dependency/</path>
+        <path>/tests/SAMPstartTemplate/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <topology>newFuncTopo.py</topology>
     </DEPENDENCY>
diff --git a/TestON/tests/SAMPstartTemplate/SAMPstartTemplate.py b/TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.py
similarity index 100%
rename from TestON/tests/SAMPstartTemplate/SAMPstartTemplate.py
rename to TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.py
diff --git a/TestON/tests/SAMPstartTemplate/SAMPstartTemplate.topo b/TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.topo
similarity index 75%
rename from TestON/tests/SAMPstartTemplate/SAMPstartTemplate.topo
rename to TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.topo
index ea33492..068bfdd 100755
--- a/TestON/tests/SAMPstartTemplate/SAMPstartTemplate.topo
+++ b/TestON/tests/SAMP/SAMPstartTemplate/SAMPstartTemplate.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
@@ -23,8 +23,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
@@ -33,8 +33,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
@@ -43,8 +43,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SAMPstartTemplate/__init__.py b/TestON/tests/SAMP/SAMPstartTemplate/__init__.py
similarity index 100%
rename from TestON/tests/SAMPstartTemplate/__init__.py
rename to TestON/tests/SAMP/SAMPstartTemplate/__init__.py
diff --git a/TestON/tests/CHOtest/__init__.py b/TestON/tests/SAMP/__init__.py
similarity index 100%
copy from TestON/tests/CHOtest/__init__.py
copy to TestON/tests/SAMP/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/SAMP/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/SAMP/dependencies/__init__.py
diff --git a/TestON/tests/SCPFcbench/README b/TestON/tests/SCPF/SCPFcbench/README
similarity index 84%
rename from TestON/tests/SCPFcbench/README
rename to TestON/tests/SCPF/SCPFcbench/README
index 755caf1..c689cf3 100644
--- a/TestON/tests/SCPFcbench/README
+++ b/TestON/tests/SCPF/SCPFcbench/README
@@ -1,4 +1,4 @@
 Summary: This is a performance test suite to test onos single instance with Cbench TP mode.
 Pre-requisites: OC1 - is the single onos cell also has cbench pre-installed for all users; 
                 this env variable is required on the TestStation. Passwordless login is set
-                from TestStation "admin" root user.
+                from TestStation "sdn" root user.
diff --git a/TestON/tests/SCPFcbench/SCPFcbench.params b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.params
similarity index 93%
rename from TestON/tests/SCPFcbench/SCPFcbench.params
rename to TestON/tests/SCPF/SCPFcbench/SCPFcbench.params
index 13ba597..d862129 100644
--- a/TestON/tests/SCPFcbench/SCPFcbench.params
+++ b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.params
@@ -22,7 +22,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
         <ip1>OC1</ip1>
         <port1>6653</port1>
     </CTRL>
@@ -32,7 +32,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFcbench/SCPFcbench.py b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.py
similarity index 100%
rename from TestON/tests/SCPFcbench/SCPFcbench.py
rename to TestON/tests/SCPF/SCPFcbench/SCPFcbench.py
diff --git a/TestON/tests/SCPFcbench/SCPFcbench.topo b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
similarity index 83%
rename from TestON/tests/SCPFcbench/SCPFcbench.topo
rename to TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
index 7299023..d4637ad 100644
--- a/TestON/tests/SCPFcbench/SCPFcbench.topo
+++ b/TestON/tests/SCPF/SCPFcbench/SCPFcbench.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -17,7 +17,7 @@
         <ONOS1>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>9</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFcbench/__init__.py b/TestON/tests/SCPF/SCPFcbench/__init__.py
similarity index 100%
rename from TestON/tests/SCPFcbench/__init__.py
rename to TestON/tests/SCPF/SCPFcbench/__init__.py
diff --git a/TestON/tests/SCPFflowTp1g/README b/TestON/tests/SCPF/SCPFflowTp1g/README
similarity index 95%
rename from TestON/tests/SCPFflowTp1g/README
rename to TestON/tests/SCPF/SCPFflowTp1g/README
index e43e6ea..9d83fc3 100644
--- a/TestON/tests/SCPFflowTp1g/README
+++ b/TestON/tests/SCPF/SCPFflowTp1g/README
@@ -8,7 +8,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user.
+    must be set from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the following
     alterations must be made:
diff --git a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.params b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.params
similarity index 96%
rename from TestON/tests/SCPFflowTp1g/SCPFflowTp1g.params
rename to TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.params
index 7a777ad..fe10703 100644
--- a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.params
+++ b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.params
@@ -32,7 +32,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -62,7 +62,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py
similarity index 100%
rename from TestON/tests/SCPFflowTp1g/SCPFflowTp1g.py
rename to TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.py
diff --git a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.topo b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
similarity index 85%
rename from TestON/tests/SCPFflowTp1g/SCPFflowTp1g.topo
rename to TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
index 2810f55..d521c3a 100644
--- a/TestON/tests/SCPFflowTp1g/SCPFflowTp1g.topo
+++ b/TestON/tests/SCPF/SCPFflowTp1g/SCPFflowTp1g.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFflowTp1g/__init__.py b/TestON/tests/SCPF/SCPFflowTp1g/__init__.py
similarity index 100%
rename from TestON/tests/SCPFflowTp1g/__init__.py
rename to TestON/tests/SCPF/SCPFflowTp1g/__init__.py
diff --git a/TestON/tests/SCPFhostLat/README b/TestON/tests/SCPF/SCPFhostLat/README
similarity index 86%
rename from TestON/tests/SCPFhostLat/README
rename to TestON/tests/SCPF/SCPFhostLat/README
index d0ff2d7..afeb8db 100644
--- a/TestON/tests/SCPFhostLat/README
+++ b/TestON/tests/SCPF/SCPFhostLat/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user. The 7 NODES must have
+    must be set from TestStation "sdn" root user. The 7 NODES must have
     their clocks synced to TestStation via ptpd and be accurate to the
     millisecond. You will also need the Wireshark disector to see openflow packets.
 
diff --git a/TestON/tests/SCPFhostLat/SCPFhostLat.params b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.params
similarity index 95%
rename from TestON/tests/SCPFhostLat/SCPFhostLat.params
rename to TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.params
index 390304e..9bd9e6b 100644
--- a/TestON/tests/SCPFhostLat/SCPFhostLat.params
+++ b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.params
@@ -9,7 +9,7 @@
     </ENV>
 
     <DEPENDENCY>
-        <path>/tests/SCPFhostLat/Dependency/</path>
+        <path>/tests/SCPFhostLat/dependencies/</path>
         <topology>topo-perf-1h1s.py</topology>
     </DEPENDENCY>
 
diff --git a/TestON/tests/SCPFhostLat/SCPFhostLat.py b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py
similarity index 100%
rename from TestON/tests/SCPFhostLat/SCPFhostLat.py
rename to TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.py
diff --git a/TestON/tests/SCPFhostLat/SCPFhostLat.topo b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
similarity index 78%
rename from TestON/tests/SCPFhostLat/SCPFhostLat.topo
rename to TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
index 0b81b6e..382d60f 100644
--- a/TestON/tests/SCPFhostLat/SCPFhostLat.topo
+++ b/TestON/tests/SCPF/SCPFhostLat/SCPFhostLat.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -88,8 +88,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFhostLat/__init__.py b/TestON/tests/SCPF/SCPFhostLat/__init__.py
similarity index 100%
rename from TestON/tests/SCPFhostLat/__init__.py
rename to TestON/tests/SCPF/SCPFhostLat/__init__.py
diff --git a/TestON/tests/SCPFintentEventTp/README b/TestON/tests/SCPF/SCPFintentEventTp/README
similarity index 95%
rename from TestON/tests/SCPFintentEventTp/README
rename to TestON/tests/SCPF/SCPFintentEventTp/README
index 980c748..30a2549 100644
--- a/TestON/tests/SCPFintentEventTp/README
+++ b/TestON/tests/SCPF/SCPFintentEventTp/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES. OC1->OC7
     must be set before initiating the test. Passwordless login must be set
-    from TestStation "admin" root user.
+    from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the following
     alterations must be made:
diff --git a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.params
similarity index 96%
rename from TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params
rename to TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.params
index ad4ec26..c7c156c 100644
--- a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.params
+++ b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.params
@@ -18,7 +18,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -45,7 +45,7 @@
     <MN><ip1>OCN</ip1></MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>OCN</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py
similarity index 100%
rename from TestON/tests/SCPFintentEventTp/SCPFintentEventTp.py
rename to TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.py
diff --git a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.topo b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
similarity index 84%
rename from TestON/tests/SCPFintentEventTp/SCPFintentEventTp.topo
rename to TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
index 01370b6..3a1c9f9 100644
--- a/TestON/tests/SCPFintentEventTp/SCPFintentEventTp.topo
+++ b/TestON/tests/SCPF/SCPFintentEventTp/SCPFintentEventTp.topo
@@ -4,20 +4,20 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
                 <home>~/onos</home>
-                <nodes>7</nodes> 
+                <nodes>7</nodes>
             </COMPONENTS>
         </ONOSbench>
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentEventTp/__init__.py b/TestON/tests/SCPF/SCPFintentEventTp/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentEventTp/__init__.py
rename to TestON/tests/SCPF/SCPFintentEventTp/__init__.py
diff --git a/TestON/tests/SCPFintentEventTp/README b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/README
similarity index 95%
copy from TestON/tests/SCPFintentEventTp/README
copy to TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/README
index 980c748..30a2549 100644
--- a/TestON/tests/SCPFintentEventTp/README
+++ b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES. OC1->OC7
     must be set before initiating the test. Passwordless login must be set
-    from TestStation "admin" root user.
+    from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the following
     alterations must be made:
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params
similarity index 96%
rename from TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params
rename to TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params
index 5ccea03..729e3ef 100644
--- a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params
+++ b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.params
@@ -18,7 +18,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -45,7 +45,7 @@
     <MN><ip1>OCN</ip1></MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>OCN</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.py b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.py
similarity index 100%
rename from TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.py
rename to TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.py
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
similarity index 85%
rename from TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
rename to TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
index 01370b6..915d033 100644
--- a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
+++ b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/__init__.py b/TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentEventTpWithFlowObj/__init__.py
rename to TestON/tests/SCPF/SCPFintentEventTpWithFlowObj/__init__.py
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/README b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/README
similarity index 94%
rename from TestON/tests/SCPFintentInstallWithdrawLat/README
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLat/README
index 0dc53cd..6f7e09a 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLat/README
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/README
@@ -7,7 +7,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless
-    login must be set from TestStation "admin" root user.
+    login must be set from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the
     following alterations must be made:
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
similarity index 95%
rename from TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
index 1521a75..71f48fe 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.params
@@ -26,7 +26,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -56,7 +56,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
similarity index 100%
rename from TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.py
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
similarity index 85%
rename from TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
index 01370b6..915d033 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/SCPFintentInstallWithdrawLat.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentInstallWithdrawLat/__init__.py b/TestON/tests/SCPF/SCPFintentInstallWithdrawLat/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentInstallWithdrawLat/__init__.py
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLat/__init__.py
diff --git a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params
similarity index 95%
rename from TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params
index 1521a75..71f48fe 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.params
@@ -26,7 +26,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -56,7 +56,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.py b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.py
similarity index 100%
rename from TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.py
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.py
diff --git a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo
similarity index 85%
rename from TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo
index 01370b6..915d033 100644
--- a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo
+++ b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/SCPFintentInstallWithdrawLatWithFlowObj.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/__init__.py b/TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentInstallWithdrawLatWithFlowObj/__init__.py
rename to TestON/tests/SCPF/SCPFintentInstallWithdrawLatWithFlowObj/__init__.py
diff --git a/TestON/tests/SCPFintentRerouteLat/README b/TestON/tests/SCPF/SCPFintentRerouteLat/README
similarity index 94%
rename from TestON/tests/SCPFintentRerouteLat/README
rename to TestON/tests/SCPF/SCPFintentRerouteLat/README
index af912f1..26b551b 100644
--- a/TestON/tests/SCPFintentRerouteLat/README
+++ b/TestON/tests/SCPF/SCPFintentRerouteLat/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user.
+    must be set from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the
     following alterations must be made:
diff --git a/TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.params b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.params
similarity index 96%
rename from TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.params
rename to TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.params
index 73175d1..3799982 100644
--- a/TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.params
+++ b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.params
@@ -39,7 +39,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -69,7 +69,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.py b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py
similarity index 100%
rename from TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.py
rename to TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.py
diff --git a/TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.topo b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
similarity index 85%
rename from TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
rename to TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
index 01370b6..915d033 100644
--- a/TestON/tests/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
+++ b/TestON/tests/SCPF/SCPFintentRerouteLat/SCPFintentRerouteLat.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentRerouteLat/__init__.py b/TestON/tests/SCPF/SCPFintentRerouteLat/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentRerouteLat/__init__.py
rename to TestON/tests/SCPF/SCPFintentRerouteLat/__init__.py
diff --git a/TestON/tests/SCPFintentRerouteLat/README b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/README
similarity index 94%
copy from TestON/tests/SCPFintentRerouteLat/README
copy to TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/README
index af912f1..26b551b 100644
--- a/TestON/tests/SCPFintentRerouteLat/README
+++ b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user.
+    must be set from TestStation "sdn" root user.
 
 ***If you wish to run this test with less than 7 nodes the
     following alterations must be made:
diff --git a/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params
similarity index 96%
rename from TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params
rename to TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params
index 73175d1..3799982 100644
--- a/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params
+++ b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.params
@@ -39,7 +39,7 @@
     </GIT>
 
     <CTRL>
-        <USER>admin</USER>
+        <USER>sdn</USER>
 
         <ip1>OC1</ip1>
         <port1>6653</port1>
@@ -69,7 +69,7 @@
     </MN>
 
     <BENCH>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>localhost</ip1>
     </BENCH>
 
diff --git a/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.py b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.py
similarity index 100%
rename from TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.py
rename to TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.py
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo
similarity index 85%
copy from TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
copy to TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo
index 01370b6..915d033 100644
--- a/TestON/tests/SCPFintentEventTpWithFlowObj/SCPFintentEventTpWithFlowObj.topo
+++ b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SCPFintentRerouteLatWithFlowObj/__init__.py b/TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/__init__.py
similarity index 100%
rename from TestON/tests/SCPFintentRerouteLatWithFlowObj/__init__.py
rename to TestON/tests/SCPF/SCPFintentRerouteLatWithFlowObj/__init__.py
diff --git a/TestON/tests/SCPFmaxIntents/Dependency/maxIntentFunctions.py b/TestON/tests/SCPF/SCPFmaxIntents/Dependency/maxIntentFunctions.py
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/Dependency/maxIntentFunctions.py
rename to TestON/tests/SCPF/SCPFmaxIntents/Dependency/maxIntentFunctions.py
diff --git a/TestON/tests/SCPFmaxIntents/Dependency/rerouteTopo.py b/TestON/tests/SCPF/SCPFmaxIntents/Dependency/rerouteTopo.py
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/Dependency/rerouteTopo.py
rename to TestON/tests/SCPF/SCPFmaxIntents/Dependency/rerouteTopo.py
diff --git a/TestON/tests/SCPFmaxIntents/Dependency/startUp.py b/TestON/tests/SCPF/SCPFmaxIntents/Dependency/startUp.py
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/Dependency/startUp.py
rename to TestON/tests/SCPF/SCPFmaxIntents/Dependency/startUp.py
diff --git a/TestON/tests/SCPFmaxIntents/README b/TestON/tests/SCPF/SCPFmaxIntents/README
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/README
rename to TestON/tests/SCPF/SCPFmaxIntents/README
diff --git a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params b/TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.params
similarity index 97%
rename from TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params
rename to TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.params
index 1871979..56ad4d8 100755
--- a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params
+++ b/TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.params
@@ -16,7 +16,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/SCPFmaxIntents/Dependency/</path>
+        <path>/tests/SCPFmaxIntents/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>maxIntentFunctions</wrapper2>
         <topology>rerouteTopo.py</topology>
diff --git a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py b/TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.py
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py
rename to TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.py
diff --git a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.topo b/TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.topo
similarity index 82%
rename from TestON/tests/SCPFmaxIntents/SCPFmaxIntents.topo
rename to TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.topo
index f2fbc0a..987f444 100755
--- a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.topo
+++ b/TestON/tests/SCPF/SCPFmaxIntents/SCPFmaxIntents.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -13,8 +13,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
@@ -34,8 +34,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFmaxIntents/__init__.py b/TestON/tests/SCPF/SCPFmaxIntents/__init__.py
similarity index 100%
rename from TestON/tests/SCPFmaxIntents/__init__.py
rename to TestON/tests/SCPF/SCPFmaxIntents/__init__.py
diff --git a/TestON/tests/SCPFportLat/README b/TestON/tests/SCPF/SCPFportLat/README
similarity index 94%
rename from TestON/tests/SCPFportLat/README
rename to TestON/tests/SCPF/SCPFportLat/README
index 59e28d9..0c89f26 100644
--- a/TestON/tests/SCPFportLat/README
+++ b/TestON/tests/SCPF/SCPFportLat/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES. 
     OC1->OC7 must be set before initiating the test. Passwordless login 
-    must be set from TestStation "admin" root user. The 7 NODES must have
+    must be set from TestStation "sdn" root user. The 7 NODES must have
     their clocks synced to TestStation via ptpd and be accurate to the 
     millisecond. You will also need the Wireshark disector to see openflow packets.
 
diff --git a/TestON/tests/SCPFportLat/SCPFportLat.params b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.params
similarity index 98%
rename from TestON/tests/SCPFportLat/SCPFportLat.params
rename to TestON/tests/SCPF/SCPFportLat/SCPFportLat.params
index f4250ca..4a758b3 100644
--- a/TestON/tests/SCPFportLat/SCPFportLat.params
+++ b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.params
@@ -15,7 +15,7 @@
     </GIT>
 
     <CTRL>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>OC1</ip1>
         <ip2>OC2</ip2>
         <ip3>OC3</ip3>
diff --git a/TestON/tests/SCPFportLat/SCPFportLat.py b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.py
similarity index 100%
rename from TestON/tests/SCPFportLat/SCPFportLat.py
rename to TestON/tests/SCPF/SCPFportLat/SCPFportLat.py
diff --git a/TestON/tests/SCPFportLat/SCPFportLat.topo b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
similarity index 76%
rename from TestON/tests/SCPFportLat/SCPFportLat.topo
rename to TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
index aa43281..1a73a2b 100644
--- a/TestON/tests/SCPFportLat/SCPFportLat.topo
+++ b/TestON/tests/SCPF/SCPFportLat/SCPFportLat.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -79,8 +79,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>9</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFportLat/__init__.py b/TestON/tests/SCPF/SCPFportLat/__init__.py
similarity index 100%
rename from TestON/tests/SCPFportLat/__init__.py
rename to TestON/tests/SCPF/SCPFportLat/__init__.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/multiovs.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/multiovs.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/multiovs.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/multiovs.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/newFuncTopo.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/newFuncTopo.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/newFuncTopo.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/newFuncTopo.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/scaleTopoFunction.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/scaleTopoFunction.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/scaleTopoFunction.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/scaleTopoFunction.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/spine.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/spine.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/spine.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/spine.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/startUp.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/startUp.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/startUp.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/startUp.py
diff --git a/TestON/tests/SCPFscaleTopo/Dependency/topo.py b/TestON/tests/SCPF/SCPFscaleTopo/Dependency/topo.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/Dependency/topo.py
rename to TestON/tests/SCPF/SCPFscaleTopo/Dependency/topo.py
diff --git a/TestON/tests/SCPFscaleTopo/README b/TestON/tests/SCPF/SCPFscaleTopo/README
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/README
rename to TestON/tests/SCPF/SCPFscaleTopo/README
diff --git a/TestON/tests/SCPFscaleTopo/SCPFscaleTopo.params b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.params
similarity index 95%
rename from TestON/tests/SCPFscaleTopo/SCPFscaleTopo.params
rename to TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.params
index 2fa1aae..986145e 100755
--- a/TestON/tests/SCPFscaleTopo/SCPFscaleTopo.params
+++ b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.params
@@ -11,7 +11,7 @@
     <testcases>1,2,[10,300,11,100,300,11,200,300,11,1000]*3</testcases>
 
     <DEPENDENCY>
-        <path>/tests/SCPFscaleTopo/Dependency/</path>
+        <path>/tests/SCPFscaleTopo/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <wrapper2>scaleTopoFunction</wrapper2>
         <wrapper3>topo</wrapper3>
diff --git a/TestON/tests/SCPFscaleTopo/SCPFscaleTopo.py b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/SCPFscaleTopo.py
rename to TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.py
diff --git a/TestON/tests/SCPFscaleTopo/SCPFscaleTopo.topo b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
similarity index 77%
rename from TestON/tests/SCPFscaleTopo/SCPFscaleTopo.topo
rename to TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
index 5fc6c09..a47522d 100755
--- a/TestON/tests/SCPFscaleTopo/SCPFscaleTopo.topo
+++ b/TestON/tests/SCPF/SCPFscaleTopo/SCPFscaleTopo.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -14,8 +14,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
@@ -24,8 +24,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
@@ -34,8 +34,8 @@
 
          <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS>
@@ -44,8 +44,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFscaleTopo/__init__.py b/TestON/tests/SCPF/SCPFscaleTopo/__init__.py
similarity index 100%
rename from TestON/tests/SCPFscaleTopo/__init__.py
rename to TestON/tests/SCPF/SCPFscaleTopo/__init__.py
diff --git a/TestON/tests/SCPFscalingMaxIntents/Dependency/rerouteTopo.py b/TestON/tests/SCPF/SCPFscalingMaxIntents/Dependency/rerouteTopo.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntents/Dependency/rerouteTopo.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/Dependency/rerouteTopo.py
diff --git a/TestON/tests/SCPFscalingMaxIntents/Dependency/startUp.py b/TestON/tests/SCPF/SCPFscalingMaxIntents/Dependency/startUp.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntents/Dependency/startUp.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/Dependency/startUp.py
diff --git a/TestON/tests/SCPFscalingMaxIntents/README b/TestON/tests/SCPF/SCPFscalingMaxIntents/README
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntents/README
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/README
diff --git a/TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params
similarity index 96%
rename from TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params
index 3baf066..6efe17e 100644
--- a/TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.params
@@ -13,7 +13,7 @@
     <SCALE>1,3,5,7</SCALE>
 
     <DEPENDENCY>
-        <path>/tests/SCPFscalingMaxIntents/Dependency/</path>
+        <path>/tests/SCPFscalingMaxIntents/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <topology>rerouteTopo.py</topology>
     </DEPENDENCY>
diff --git a/TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.py
diff --git a/TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
similarity index 77%
rename from TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
index fd28336..a1ec149 100755
--- a/TestON/tests/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntents/SCPFscalingMaxIntents.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -26,8 +26,8 @@
         </ONOSrest1>
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -35,8 +35,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -44,8 +44,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -53,8 +53,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -62,8 +62,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -80,8 +80,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -89,8 +89,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFscalingMaxIntents/__init__.py b/TestON/tests/SCPF/SCPFscalingMaxIntents/__init__.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntents/__init__.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntents/__init__.py
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/Dependency/rerouteTopo.py b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/Dependency/rerouteTopo.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/Dependency/rerouteTopo.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/Dependency/rerouteTopo.py
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/Dependency/startUp.py b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/Dependency/startUp.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/Dependency/startUp.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/Dependency/startUp.py
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/README b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/README
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/README
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/README
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params
similarity index 96%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params
index a6a3377..ed0badf 100644
--- a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.params
@@ -13,7 +13,7 @@
     <SCALE>1,3,5,7</SCALE>
 
     <DEPENDENCY>
-        <path>/tests/SCPFscalingMaxIntents/Dependency/</path>
+        <path>/tests/SCPFscalingMaxIntents/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <topology>rerouteTopo.py</topology>
     </DEPENDENCY>
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.py b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.py
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo
similarity index 77%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo
index fd28336..a1ec149 100755
--- a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo
+++ b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/SCPFscalingMaxIntentsWithFlowObj.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -26,8 +26,8 @@
         </ONOSrest1>
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -35,8 +35,8 @@
 
         <ONOScli2>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -44,8 +44,8 @@
 
         <ONOScli3>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -53,8 +53,8 @@
 
         <ONOScli4>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -62,8 +62,8 @@
 
         <ONOScli5>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -71,8 +71,8 @@
 
         <ONOScli6>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -80,8 +80,8 @@
 
         <ONOScli7>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -89,8 +89,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFscalingMaxIntentsWithFlowObj/__init__.py b/TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/__init__.py
similarity index 100%
rename from TestON/tests/SCPFscalingMaxIntentsWithFlowObj/__init__.py
rename to TestON/tests/SCPF/SCPFscalingMaxIntentsWithFlowObj/__init__.py
diff --git a/TestON/tests/SCPFswitchLat/Dependency/topo-perf-1sw.py b/TestON/tests/SCPF/SCPFswitchLat/Dependency/topo-perf-1sw.py
similarity index 100%
rename from TestON/tests/SCPFswitchLat/Dependency/topo-perf-1sw.py
rename to TestON/tests/SCPF/SCPFswitchLat/Dependency/topo-perf-1sw.py
diff --git a/TestON/tests/SCPFswitchLat/README b/TestON/tests/SCPF/SCPFswitchLat/README
similarity index 93%
rename from TestON/tests/SCPFswitchLat/README
rename to TestON/tests/SCPF/SCPFswitchLat/README
index b86ca6f..dfc0f42 100644
--- a/TestON/tests/SCPFswitchLat/README
+++ b/TestON/tests/SCPF/SCPFswitchLat/README
@@ -5,7 +5,7 @@
 
 Pre-requisites: To run out-of-the box this test requires 7 NODES.
     OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user. The 7 NODES must have
+    must be set from TestStation "sdn" root user. The 7 NODES must have
     their clocks synced to TestStation via ptpd and be accurate to the
     millisecond. You will also need the Wireshark disector to see openflow packets.
 
diff --git a/TestON/tests/SCPFswitchLat/SCPFswitchLat.params b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.params
similarity index 98%
rename from TestON/tests/SCPFswitchLat/SCPFswitchLat.params
rename to TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.params
index 4306fa0..6035fba 100644
--- a/TestON/tests/SCPFswitchLat/SCPFswitchLat.params
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.params
@@ -15,7 +15,7 @@
     </GIT>
 
     <CTRL>
-        <user>admin</user>
+        <user>sdn</user>
         <ip1>OC1</ip1>
         <ip2>OC2</ip2>
         <ip3>OC3</ip3>
diff --git a/TestON/tests/SCPFswitchLat/SCPFswitchLat.py b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
similarity index 99%
rename from TestON/tests/SCPFswitchLat/SCPFswitchLat.py
rename to TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
index 1f4510f..7c12549 100644
--- a/TestON/tests/SCPFswitchLat/SCPFswitchLat.py
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
@@ -88,7 +88,7 @@
             commit = main.ONOSbench.getVersion()       ####
             commit = (commit.split(" "))[1]
 
-            temp = testONpath.replace("bin","") + "tests/SCPFswitchLat/Dependency/"
+            temp = testONpath.replace("bin","") + "tests/SCPFswitchLat/dependencies/"
             main.ONOSbench.scp( main.Mininet1,
                                 temp + "topo-perf-1sw.py",
                                 main.Mininet1.home,
diff --git a/TestON/tests/SCPFswitchLat/SCPFswitchLat.topo b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
similarity index 78%
rename from TestON/tests/SCPFswitchLat/SCPFswitchLat.topo
rename to TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
index 0d7f4f5..8b05fd0 100644
--- a/TestON/tests/SCPFswitchLat/SCPFswitchLat.topo
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.topo
@@ -4,8 +4,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -16,8 +16,8 @@
 
         <ONOS1cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -25,8 +25,8 @@
 
         <ONOS2cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -34,8 +34,8 @@
 
         <ONOS3cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -43,8 +43,8 @@
 
         <ONOS4cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -52,8 +52,8 @@
 
         <ONOS5cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -61,8 +61,8 @@
 
         <ONOS6cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -70,8 +70,8 @@
 
         <ONOS7cli>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>8</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -88,8 +88,8 @@
 
         <Mininet1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>16</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/SCPFswitchLat/__init__.py b/TestON/tests/SCPF/SCPFswitchLat/__init__.py
similarity index 100%
rename from TestON/tests/SCPFswitchLat/__init__.py
rename to TestON/tests/SCPF/SCPFswitchLat/__init__.py
diff --git a/TestON/tests/SCPFcbench/__init__.py b/TestON/tests/SCPF/__init__.py
similarity index 100%
copy from TestON/tests/SCPFcbench/__init__.py
copy to TestON/tests/SCPF/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/SCPF/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/SCPF/dependencies/__init__.py
diff --git a/TestON/tests/SCPFintentEventTp/temp b/TestON/tests/SCPFintentEventTp/temp
deleted file mode 100644
index 01370b6..0000000
--- a/TestON/tests/SCPFintentEventTp/temp
+++ /dev/null
@@ -1,147 +0,0 @@
-<TOPOLOGY>
-
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-                <home>~/onos</home>
-                <nodes>7</nodes> 
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOS1cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1cli>
-
-        <ONOS2cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2cli>
-
-        <ONOS3cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3cli>
-
-        <ONOS4cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4cli>
-
-        <ONOS5cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5cli>
-
-        <ONOS6cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6cli>
-
-        <ONOS7cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7cli>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-    
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-    </COMPONENT>
-
-</TOPOLOGY>
- 
diff --git a/TestON/tests/SCPFintentEventTpWithFlowObj/README b/TestON/tests/SCPFintentEventTpWithFlowObj/README
deleted file mode 100644
index 980c748..0000000
--- a/TestON/tests/SCPFintentEventTpWithFlowObj/README
+++ /dev/null
@@ -1,28 +0,0 @@
-INTENT EVENT THROUGHPUT
-
-Summary: This is a performance test suite to test the intent
-    throughput capabilities of ONOS with various controller cluster sizes.
-
-Pre-requisites: To run out-of-the box this test requires 7 NODES. OC1->OC7
-    must be set before initiating the test. Passwordless login must be set
-    from TestStation "admin" root user.
-
-***If you wish to run this test with less than 7 nodes the following
-    alterations must be made:
-
-NOTE: Only scale sizes 1,3,5 and 7 will be functional
-
-Modifying .params file:
--- Remove any values in the comma separated list in the
-    <scale> tag that are above your desired cluster size.
-
--- Remove one instance of “1,2” from the <testcases>
-    tag for each value you removed from <scale> (case 1 and 2 are each
-    called once for each scale value)
-
--- Change the value in the <max> tag to your desired scale size (1,3, or 5)
-
-Modifying .topo file:
--- Change the <ONOSbench/COMPONENTS/nodes> tag to your desired scale size
-
--- Remove all unneeded <ONOS#cli> tags and their contents
diff --git a/TestON/tests/SCPFintentRerouteLatWithFlowObj/README b/TestON/tests/SCPFintentRerouteLatWithFlowObj/README
deleted file mode 100644
index af912f1..0000000
--- a/TestON/tests/SCPFintentRerouteLatWithFlowObj/README
+++ /dev/null
@@ -1,29 +0,0 @@
-INTENT REROUTE LATENCY
-
-Summary: This is a performance test designed to benchmark the
-    intent reroute speed of ONOS at various controller cluster sizes.
-
-Pre-requisites: To run out-of-the box this test requires 7 NODES.
-    OC1->OC7 must be set before initiating the test. Passwordless login
-    must be set from TestStation "admin" root user.
-
-***If you wish to run this test with less than 7 nodes the
-    following alterations must be made:
-
-NOTE: Only scale sizes 1,3,5 and 7 will be functional
-
-Modifying .params file:
--- Remove any values in the comma separated list in
-    the <scale> tag that are above your desired cluster size.
-
--- Remove one instance of “1,2” from the <testcases> tag for
-    each value you removed from <scale> (case1 and 2 are each
-    called once for each scale value)
-
--- Change the value in the <max> tag to your desired scale size (1,3,5)
-
-Modifying .topo file:
--- Change the <ONOSbench/COMPONENTS/nodes> tag to
-    your desired scale size
-
--- Remove all unneeded <ONOS#cli> tags and their contents
diff --git a/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo b/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo
deleted file mode 100644
index 01370b6..0000000
--- a/TestON/tests/SCPFintentRerouteLatWithFlowObj/SCPFintentRerouteLatWithFlowObj.topo
+++ /dev/null
@@ -1,147 +0,0 @@
-<TOPOLOGY>
-
-    <COMPONENT>
-
-        <ONOSbench>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosDriver</type>
-            <connect_order>1</connect_order>
-            <COMPONENTS>
-                <home>~/onos</home>
-                <nodes>7</nodes> 
-            </COMPONENTS>
-        </ONOSbench>
-
-        <ONOS1cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>2</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1cli>
-
-        <ONOS2cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>3</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2cli>
-
-        <ONOS3cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>4</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3cli>
-
-        <ONOS4cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>5</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4cli>
-
-        <ONOS5cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>6</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5cli>
-
-        <ONOS6cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>7</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6cli>
-
-        <ONOS7cli>
-            <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
-            <type>OnosCliDriver</type>
-            <connect_order>8</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7cli>
-
-        <ONOS1>
-            <host>OC1</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>9</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS1>
-
-        <ONOS2>
-            <host>OC2</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>10</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS2>
-
-        <ONOS3>
-            <host>OC3</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>11</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS3>
-
-        <ONOS4>
-            <host>OC4</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>12</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS4>
-
-    
-        <ONOS5>
-            <host>OC5</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>13</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS5>
-
-        <ONOS6>
-            <host>OC6</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>14</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS6>
-
-        <ONOS7>
-            <host>OC7</host>
-            <user>sdn</user>
-            <password>rocks</password>
-            <type>OnosDriver</type>
-            <connect_order>15</connect_order>
-            <COMPONENTS> </COMPONENTS>
-        </ONOS7>
-
-    </COMPONENT>
-
-</TOPOLOGY>
- 
diff --git a/TestON/tests/SDNIPfunction/Dependency/zebra.conf b/TestON/tests/SDNIPfunction/Dependency/zebra.conf
deleted file mode 100644
index 517db94..0000000
--- a/TestON/tests/SDNIPfunction/Dependency/zebra.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname zebra
-password hello
-enable password 0fw0rk
-log stdout
-!
-! Interfaces description.
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-!log file /usr/local/var/log/quagga/zebra.log
diff --git a/TestON/tests/SDNIPperf/Dependency/as4quaggas/quagga-config-gen.sh b/TestON/tests/SDNIPperf/Dependency/as4quaggas/quagga-config-gen.sh
deleted file mode 100755
index c984acb..0000000
--- a/TestON/tests/SDNIPperf/Dependency/as4quaggas/quagga-config-gen.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-
-for i in range(1, 101):
-   num= i + 100
-
-   v='quagga%d.conf' %num
-   f=open(v, 'w')
-
-   f.write('hostname bgpd\n')
-   f.write('password hello\n')
-   k=i + 65000
-   v='router bgp %d\n' % (k)
-   f.write(v)
-   v='bgp router-id 192.168.40.%d\n' %i
-   f.write(v)
-   v='neighbor 192.168.40.101 remote-as 64513\n'
-   f.write(v)
-   #print v
-
-   v='neighbor 192.168.40.101 ebgp-multihop\n'
-   f.write(v)
-   v='neighbor 192.168.40.101 update-source 192.168.40.%d\n' %i
-   f.write(v)
-   v='neighbor 192.168.40.101 timers connect 300\n'
-   f.write(v)
diff --git a/TestON/tests/SDNIPperf/Dependency/quagga-as6-rs.conf b/TestON/tests/SDNIPperf/Dependency/quagga-as6-rs.conf
deleted file mode 100644
index 12be0e9..0000000
--- a/TestON/tests/SDNIPperf/Dependency/quagga-as6-rs.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64520
-  bgp router-id 192.168.60.1
-  neighbor 192.168.60.101 remote-as 64513
-  neighbor 192.168.60.101 route-server-client
-  neighbor 192.168.60.2 remote-as 64521
-  neighbor 192.168.60.2 route-server-client
-! network 172.16.60.0/24
-! neighbor 10.0.0.2 route-map set-nexthop out
-! neighbor 10.0.0.2 ebgp-multihop
-! neighbor 10.0.0.2 next-hop-self
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/SDNIPperf/Dependency/quagga-as6.conf b/TestON/tests/SDNIPperf/Dependency/quagga-as6.conf
deleted file mode 100644
index 60d6a9e..0000000
--- a/TestON/tests/SDNIPperf/Dependency/quagga-as6.conf
+++ /dev/null
@@ -1,38 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64521
-  bgp router-id 192.168.60.2
-  neighbor 192.168.60.1 remote-as 64520
-  neighbor 192.168.60.3 remote-as 64520
-!  network 172.16.60.0/24
-!  network 172.16.70.4/30
- ! network 172.16.70.8/30
- ! network 172.16.70.12/30
- ! network 172.16.70.16/30
- ! network 172.16.70.20/30
- ! network 172.16.70.24/30
- ! network 172.16.70.28/30
- ! network 172.16.70.32/30
-! neighbor 10.0.0.2 route-map set-nexthop out
-! neighbor 10.0.0.2 ebgp-multihop
-! neighbor 10.0.0.2 next-hop-self
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/SDNIPperf/Dependency/quagga2.conf b/TestON/tests/SDNIPperf/Dependency/quagga2.conf
deleted file mode 100644
index a508c49..0000000
--- a/TestON/tests/SDNIPperf/Dependency/quagga2.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64516
-  bgp router-id 192.168.30.1
-!  timers bgp 1 3
-  neighbor 192.168.30.101 remote-as 64513
-  neighbor 192.168.50.2   remote-as 65001
-! network 172.16.30.0/24
-! neighbor 10.0.0.2 route-map set-nexthop out
-! neighbor 10.0.0.2 ebgp-multihop
-! neighbor 10.0.0.2 next-hop-self
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/SDNIPperf/Dependency/zebra.conf b/TestON/tests/SDNIPperf/Dependency/zebra.conf
deleted file mode 100644
index 517db94..0000000
--- a/TestON/tests/SDNIPperf/Dependency/zebra.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname zebra
-password hello
-enable password 0fw0rk
-log stdout
-!
-! Interfaces description.
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-!log file /usr/local/var/log/quagga/zebra.log
diff --git a/TestON/tests/SDNIPfunction/.bash_killcmd b/TestON/tests/USECASE/SDNIPfunction/.bash_killcmd
similarity index 100%
rename from TestON/tests/SDNIPfunction/.bash_killcmd
rename to TestON/tests/USECASE/SDNIPfunction/.bash_killcmd
diff --git a/TestON/tests/SDNIPfunction/README.txt b/TestON/tests/USECASE/SDNIPfunction/README.txt
similarity index 90%
rename from TestON/tests/SDNIPfunction/README.txt
rename to TestON/tests/USECASE/SDNIPfunction/README.txt
index ea89a19..6f0216b 100644
--- a/TestON/tests/SDNIPfunction/README.txt
+++ b/TestON/tests/USECASE/SDNIPfunction/README.txt
@@ -7,7 +7,7 @@
 After installation, check whether the Quagga directory is /usr/lib/quagga,
 otherwise you need to change the directory in SDNIPfuntionMininet.py.
 Then, generate Quagga configuration files.
-$cd ~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/as4quaggas/
+$cd ~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/as4quaggas/
 $./quagga-config-gen.sh
 
 Step 2: SDN-IP/ONOS configuration.
@@ -28,7 +28,7 @@
 $ killTestONall
 
 Step 5: run Mininet testbed to setup the test environment.
-$sudo ~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/SDNIPfuntionMininet.py
+$sudo ~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/SDNIPfuntionMininet.py
 
 Step 6: set up tunnel on Mninet VM to ONOS VM.
 $ssh -nNT -o "PasswordAuthentication no" -o "StrictHostKeyChecking no" -l sdn -L 1.1.1.2:2000:10.128.4.52:2000 10.128.4.52 &
diff --git a/TestON/tests/SDNIPfunction/SDNIPfunction.params b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.params
similarity index 100%
rename from TestON/tests/SDNIPfunction/SDNIPfunction.params
rename to TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.params
diff --git a/TestON/tests/SDNIPfunction/SDNIPfunction.py b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.py
similarity index 97%
rename from TestON/tests/SDNIPfunction/SDNIPfunction.py
rename to TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.py
index 59e193f..01aad33 100644
--- a/TestON/tests/SDNIPfunction/SDNIPfunction.py
+++ b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.py
@@ -101,7 +101,7 @@
         main.case( "This case is to testing the functionality of SDN-IP with \
         single ONOS instance" )
         SDNIPJSONFILEPATH = \
-            "/home/admin/ONOS/tools/package/config/sdnip.json"
+            "~/ONOS/tools/package/config/sdnip.json"
         # all expected routes for all BGP peers
         allRoutesExpected = []
         main.step( "Start to generate routes for all BGP peers" )
@@ -252,9 +252,9 @@
             onfail = "***PointToPointIntent Intent Num in SDN-IP are wrong!***" )
 
         #============================= Ping Test ========================
-        pingTestScript = "~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/CASE4-ping-as2host.sh"
+        pingTestScript = "~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/CASE4-ping-as2host.sh"
         pingTestResultsFile = \
-        "~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/log/CASE4-ping-results-before-delete-routes-"\
+        "~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/log/CASE4-ping-results-before-delete-routes-"\
             + strftime( "%Y-%m-%d_%H:%M:%S", localtime() ) + ".txt"
         pingTestResults = main.QuaggaCliHost.pingTest( \
             "1.168.30.100", pingTestScript, pingTestResultsFile )
@@ -303,9 +303,9 @@
             onfail = "***MultiPointToSinglePoint Intent Num in SDN-IP is not 0, \
             wrong!***" )
 
-        pingTestScript = "~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/CASE4-ping-as2host.sh"
+        pingTestScript = "~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/CASE4-ping-as2host.sh"
         pingTestResultsFile = \
-        "~/OnosSystemTest/TestON/tests/SDNIPfunction/Dependency/log/CASE4-ping-results-after-delete-routes-"\
+        "~/OnosSystemTest/TestON/tests/SDNIPfunction/dependencies/log/CASE4-ping-results-after-delete-routes-"\
             + strftime( "%Y-%m-%d_%H:%M:%S", localtime() ) + ".txt"
         pingTestResults = main.QuaggaCliHost.pingTest( \
             "1.168.30.100", pingTestScript, pingTestResultsFile )
diff --git a/TestON/tests/SDNIPfunction/SDNIPfunction.topo b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
similarity index 76%
rename from TestON/tests/SDNIPfunction/SDNIPfunction.topo
rename to TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
index 01cc342..ddac5d7 100644
--- a/TestON/tests/SDNIPfunction/SDNIPfunction.topo
+++ b/TestON/tests/USECASE/SDNIPfunction/SDNIPfunction.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,8 +12,8 @@
 
         <ONOScli>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,7 +22,7 @@
         <ONOS1>
             <host>10.128.4.52</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -30,24 +30,24 @@
 
         <QuaggaCliHost3>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost3>
         <QuaggaCliHost4>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost4>
         <QuaggaCliHost5>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>6</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -55,8 +55,8 @@
 
         <QuaggaCliHost>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>7</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -64,744 +64,744 @@
 
         <QuaggaCliHost101>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>101</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost101>
         <QuaggaCliHost102>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>102</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost102>
         <QuaggaCliHost103>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>103</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost103>
         <QuaggaCliHost104>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>104</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost104>
         <QuaggaCliHost105>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>105</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost105>
         <QuaggaCliHost106>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>106</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost106>
         <QuaggaCliHost107>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>107</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost107>
         <QuaggaCliHost108>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>108</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost108>
         <QuaggaCliHost109>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>109</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost109>
         <QuaggaCliHost110>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>110</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost110>
         <QuaggaCliHost111>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>111</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost111>
         <QuaggaCliHost112>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>112</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost112>
         <QuaggaCliHost113>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>113</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost113>
         <QuaggaCliHost114>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>114</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost114>
         <QuaggaCliHost115>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>115</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost115>
         <QuaggaCliHost116>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>116</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost116>
         <QuaggaCliHost117>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>117</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost117>
         <QuaggaCliHost118>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>118</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost118>
         <QuaggaCliHost119>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>119</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost119>
         <QuaggaCliHost120>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>120</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost120>
         <QuaggaCliHost121>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>121</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost121>
         <QuaggaCliHost122>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>122</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost122>
         <QuaggaCliHost123>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>123</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost123>
         <QuaggaCliHost124>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>124</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost124>
         <QuaggaCliHost125>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>125</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost125>
         <QuaggaCliHost126>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>126</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost126>
         <QuaggaCliHost127>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>127</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost127>
         <QuaggaCliHost128>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>128</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost128>
         <QuaggaCliHost129>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>129</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost129>
         <QuaggaCliHost130>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>130</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost130>
         <QuaggaCliHost131>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>131</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost131>
         <QuaggaCliHost132>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>132</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost132>
         <QuaggaCliHost133>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>133</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost133>
         <QuaggaCliHost134>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>134</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost134>
         <QuaggaCliHost135>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>135</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost135>
         <QuaggaCliHost136>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>136</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost136>
         <QuaggaCliHost137>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>137</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost137>
         <QuaggaCliHost138>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>138</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost138>
         <QuaggaCliHost139>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>139</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost139>
         <QuaggaCliHost140>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>140</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost140>
         <QuaggaCliHost141>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>141</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost141>
         <QuaggaCliHost142>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>142</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost142>
         <QuaggaCliHost143>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>143</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost143>
         <QuaggaCliHost144>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>144</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost144>
         <QuaggaCliHost145>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>145</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost145>
         <QuaggaCliHost146>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>146</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost146>
         <QuaggaCliHost147>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>147</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost147>
         <QuaggaCliHost148>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>148</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost148>
         <QuaggaCliHost149>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>149</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost149>
         <QuaggaCliHost150>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>150</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost150>
         <QuaggaCliHost151>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>151</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost151>
         <QuaggaCliHost152>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>152</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost152>
         <QuaggaCliHost153>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>153</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost153>
         <QuaggaCliHost154>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>154</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost154>
         <QuaggaCliHost155>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>155</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost155>
         <QuaggaCliHost156>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>156</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost156>
         <QuaggaCliHost157>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>157</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost157>
         <QuaggaCliHost158>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>158</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost158>
         <QuaggaCliHost159>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>159</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost159>
         <QuaggaCliHost160>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>160</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost160>
         <QuaggaCliHost161>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>161</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost161>
         <QuaggaCliHost162>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>162</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost162>
         <QuaggaCliHost163>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>163</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost163>
         <QuaggaCliHost164>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>164</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost164>
         <QuaggaCliHost165>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>165</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost165>
         <QuaggaCliHost166>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>166</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost166>
         <QuaggaCliHost167>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>167</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost167>
         <QuaggaCliHost168>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>168</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost168>
         <QuaggaCliHost169>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>169</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost169>
         <QuaggaCliHost170>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>170</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost170>
         <QuaggaCliHost171>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>171</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost171>
         <QuaggaCliHost172>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>172</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost172>
         <QuaggaCliHost173>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>173</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost173>
         <QuaggaCliHost174>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>174</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost174>
         <QuaggaCliHost175>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>175</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost175>
         <QuaggaCliHost176>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>176</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost176>
         <QuaggaCliHost177>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>177</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost177>
         <QuaggaCliHost178>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>178</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost178>
         <QuaggaCliHost179>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>179</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost179>
         <QuaggaCliHost180>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>180</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost180>
         <QuaggaCliHost181>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>181</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost181>
         <QuaggaCliHost182>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>182</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost182>
         <QuaggaCliHost183>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>183</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost183>
         <QuaggaCliHost184>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>184</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost184>
         <QuaggaCliHost185>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>185</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost185>
         <QuaggaCliHost186>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>186</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost186>
         <QuaggaCliHost187>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>187</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost187>
         <QuaggaCliHost188>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>188</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost188>
         <QuaggaCliHost189>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>189</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost189>
         <QuaggaCliHost190>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>190</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost190>
         <QuaggaCliHost191>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>191</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost191>
         <QuaggaCliHost192>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>192</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost192>
         <QuaggaCliHost193>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>193</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -809,56 +809,56 @@
 
         <QuaggaCliHost194>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>194</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost194>
         <QuaggaCliHost195>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>195</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost195>
         <QuaggaCliHost196>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>196</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost196>
         <QuaggaCliHost197>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>197</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost197>
         <QuaggaCliHost198>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>198</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost198>
         <QuaggaCliHost199>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>199</connect_order>
             <COMPONENTS> </COMPONENTS>
         </QuaggaCliHost199>
         <QuaggaCliHost200>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>200</connect_order>
             <COMPONENTS> </COMPONENTS>
diff --git a/TestON/tests/SDNIPfunction/__init__.py b/TestON/tests/USECASE/SDNIPfunction/__init__.py
similarity index 100%
rename from TestON/tests/SDNIPfunction/__init__.py
rename to TestON/tests/USECASE/SDNIPfunction/__init__.py
diff --git a/TestON/tests/SDNIPfunction/addresses.json b/TestON/tests/USECASE/SDNIPfunction/addresses.json
similarity index 100%
rename from TestON/tests/SDNIPfunction/addresses.json
rename to TestON/tests/USECASE/SDNIPfunction/addresses.json
diff --git a/TestON/tests/SDNIPfunction/Dependency/CASE4-ping-as2host.sh b/TestON/tests/USECASE/SDNIPfunction/dependencies/CASE4-ping-as2host.sh
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/CASE4-ping-as2host.sh
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/CASE4-ping-as2host.sh
diff --git a/TestON/tests/SDNIPfunction/Dependency/SDNIPfuntionMininet.py b/TestON/tests/USECASE/SDNIPfunction/dependencies/SDNIPfuntionMininet.py
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/SDNIPfuntionMininet.py
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/SDNIPfuntionMininet.py
diff --git a/TestON/tests/SDNIPfunction/Dependency/as4quaggas/quagga-config-gen.sh b/TestON/tests/USECASE/SDNIPfunction/dependencies/as4quaggas/quagga-config-gen.sh
similarity index 100%
copy from TestON/tests/SDNIPfunction/Dependency/as4quaggas/quagga-config-gen.sh
copy to TestON/tests/USECASE/SDNIPfunction/dependencies/as4quaggas/quagga-config-gen.sh
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga-as6-rs.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-as6-rs.conf
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/quagga-as6-rs.conf
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-as6-rs.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga-as6.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-as6.conf
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/quagga-as6.conf
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-as6.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga-sdn.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-sdn.conf
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/quagga-sdn.conf
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/quagga-sdn.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga1.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/quagga1.conf
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/quagga1.conf
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/quagga1.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga2.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/quagga2.conf
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/quagga2.conf
rename to TestON/tests/USECASE/SDNIPfunction/dependencies/quagga2.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/SDNIPfunction/dependencies/zebra.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
copy to TestON/tests/USECASE/SDNIPfunction/dependencies/zebra.conf
diff --git a/TestON/tests/SDNIPfunction/intents.json b/TestON/tests/USECASE/SDNIPfunction/intents.json
similarity index 100%
rename from TestON/tests/SDNIPfunction/intents.json
rename to TestON/tests/USECASE/SDNIPfunction/intents.json
diff --git a/TestON/tests/SDNIPfunction/intents1.2.json b/TestON/tests/USECASE/SDNIPfunction/intents1.2.json
similarity index 100%
rename from TestON/tests/SDNIPfunction/intents1.2.json
rename to TestON/tests/USECASE/SDNIPfunction/intents1.2.json
diff --git a/TestON/tests/SDNIPfunction/network-cfg.json b/TestON/tests/USECASE/SDNIPfunction/network-cfg.json
similarity index 100%
rename from TestON/tests/SDNIPfunction/network-cfg.json
rename to TestON/tests/USECASE/SDNIPfunction/network-cfg.json
diff --git a/TestON/tests/SDNIPfunction/sdnip.json b/TestON/tests/USECASE/SDNIPfunction/sdnip.json
similarity index 100%
rename from TestON/tests/SDNIPfunction/sdnip.json
rename to TestON/tests/USECASE/SDNIPfunction/sdnip.json
diff --git a/TestON/tests/SDNIPfunction/sdnip_single_instance b/TestON/tests/USECASE/SDNIPfunction/sdnip_single_instance
similarity index 100%
rename from TestON/tests/SDNIPfunction/sdnip_single_instance
rename to TestON/tests/USECASE/SDNIPfunction/sdnip_single_instance
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.params b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.params
similarity index 100%
rename from TestON/tests/SDNIPperf/SDNIPperf.params
rename to TestON/tests/USECASE/SDNIPperf/SDNIPperf.params
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.py b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.py
similarity index 100%
rename from TestON/tests/SDNIPperf/SDNIPperf.py
rename to TestON/tests/USECASE/SDNIPperf/SDNIPperf.py
diff --git a/TestON/tests/SDNIPperf/SDNIPperf.topo b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
similarity index 79%
rename from TestON/tests/SDNIPperf/SDNIPperf.topo
rename to TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
index 9932966..828c7e9 100644
--- a/TestON/tests/SDNIPperf/SDNIPperf.topo
+++ b/TestON/tests/USECASE/SDNIPperf/SDNIPperf.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>10.128.4.53</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,8 +12,8 @@
 
         <ONOScli>
             <host>10.128.4.53</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,11 +22,11 @@
         <ONOS1>
             <host>10.254.1.201</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
         </ONOS1>
 
     </COMPONENT>
-</TOPOLOGY>
\ No newline at end of file
+</TOPOLOGY>
diff --git a/TestON/tests/SDNIPperf/__init__.py b/TestON/tests/USECASE/SDNIPperf/__init__.py
similarity index 100%
rename from TestON/tests/SDNIPperf/__init__.py
rename to TestON/tests/USECASE/SDNIPperf/__init__.py
diff --git a/TestON/tests/SDNIPperf/addresses.json b/TestON/tests/USECASE/SDNIPperf/addresses.json
similarity index 100%
rename from TestON/tests/SDNIPperf/addresses.json
rename to TestON/tests/USECASE/SDNIPperf/addresses.json
diff --git a/TestON/tests/SDNIPperf/Dependency/SDNIPperfMininet.py b/TestON/tests/USECASE/SDNIPperf/dependencies/SDNIPperfMininet.py
similarity index 99%
rename from TestON/tests/SDNIPperf/Dependency/SDNIPperfMininet.py
rename to TestON/tests/USECASE/SDNIPperf/dependencies/SDNIPperfMininet.py
index 0784c2a..7d57397 100755
--- a/TestON/tests/SDNIPperf/Dependency/SDNIPperfMininet.py
+++ b/TestON/tests/USECASE/SDNIPperf/dependencies/SDNIPperfMininet.py
@@ -311,7 +311,7 @@
     '''
 
     '''startquagga(host1, 100, 'quagga-sdn.conf')'''
-    host1.cmd( "/home/admin/bird-1.5.0/bird" )
+    host1.cmd( "~/bird-1.5.0/bird" )
     hosts = [ host1, host2, host3, host4, host5, as2host ];
     # sshdHosts = sshdHosts + hosts
     startsshds( hosts )
diff --git a/TestON/tests/SDNIPfunction/Dependency/as4quaggas/quagga-config-gen.sh b/TestON/tests/USECASE/SDNIPperf/dependencies/as4quaggas/quagga-config-gen.sh
similarity index 100%
rename from TestON/tests/SDNIPfunction/Dependency/as4quaggas/quagga-config-gen.sh
rename to TestON/tests/USECASE/SDNIPperf/dependencies/as4quaggas/quagga-config-gen.sh
diff --git a/TestON/tests/SDNIPperf/Dependency/bird.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/bird.conf
similarity index 100%
rename from TestON/tests/SDNIPperf/Dependency/bird.conf
rename to TestON/tests/USECASE/SDNIPperf/dependencies/bird.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga-as6-rs.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/quagga-as6-rs.conf
similarity index 100%
copy from TestON/tests/SDNIPfunction/Dependency/quagga-as6-rs.conf
copy to TestON/tests/USECASE/SDNIPperf/dependencies/quagga-as6-rs.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga-as6.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/quagga-as6.conf
similarity index 100%
copy from TestON/tests/SDNIPfunction/Dependency/quagga-as6.conf
copy to TestON/tests/USECASE/SDNIPperf/dependencies/quagga-as6.conf
diff --git a/TestON/tests/SDNIPperf/Dependency/quagga1.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/quagga1.conf
similarity index 100%
rename from TestON/tests/SDNIPperf/Dependency/quagga1.conf
rename to TestON/tests/USECASE/SDNIPperf/dependencies/quagga1.conf
diff --git a/TestON/tests/SDNIPfunction/Dependency/quagga2.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/quagga2.conf
similarity index 100%
copy from TestON/tests/SDNIPfunction/Dependency/quagga2.conf
copy to TestON/tests/USECASE/SDNIPperf/dependencies/quagga2.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/SDNIPperf/dependencies/zebra.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
rename to TestON/tests/USECASE/SDNIPperf/dependencies/zebra.conf
diff --git a/TestON/tests/SDNIPperf/sdnip.json b/TestON/tests/USECASE/SDNIPperf/sdnip.json
similarity index 100%
rename from TestON/tests/SDNIPperf/sdnip.json
rename to TestON/tests/USECASE/SDNIPperf/sdnip.json
diff --git a/TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.params b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.params
similarity index 93%
rename from TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.params
rename to TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.params
index 404aa10..6f4e47b 100644
--- a/TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.params
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.params
@@ -15,7 +15,7 @@
     </CTRL>
 
     <DEPENDENCY>
-        <path>/USECASE_SdnipFunction/Dependency/</path>
+        <path>/USECASE_SdnipFunction/dependencies/</path>
         <topology>USECASE_SdnipI2MN.py</topology>
         <wrapper1>Functions</wrapper1>
     </DEPENDENCY>
diff --git a/TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.py b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.py
diff --git a/TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.topo b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
similarity index 78%
rename from TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
rename to TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
index 07109ba..01be5af 100644
--- a/TestON/tests/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction/USECASE_SdnipFunction.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,8 +12,8 @@
 
         <ONOScli>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,7 +22,7 @@
         <ONOS1>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -30,8 +30,8 @@
 
         <QuaggaCliSpeaker1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -39,8 +39,8 @@
 
         <Mininet>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/USECASE_SdnipFunction/__init__.py b/TestON/tests/USECASE/USECASE_SdnipFunction/__init__.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/__init__.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction/__init__.py
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/Functions.py b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/Functions.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/Functions.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/Functions.py
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/USECASE_SdnipI2MN.py b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/USECASE_SdnipI2MN.py
similarity index 99%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/USECASE_SdnipI2MN.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/USECASE_SdnipI2MN.py
index 17544d1..59bd0ab 100755
--- a/TestON/tests/USECASE_SdnipFunction/Dependency/USECASE_SdnipI2MN.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/USECASE_SdnipI2MN.py
@@ -25,7 +25,7 @@
 
 QUAGGA_DIR = '/usr/lib/quagga'
 QUAGGA_RUN_DIR = '/usr/local/var/run/quagga'
-QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction/Dependency/'
+QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction/dependencies/'
 # onos1IP = '10.254.1.201'
 numSw = 39
 
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga-sdn.conf b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga-sdn.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/quagga-sdn.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga-sdn.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64514.conf b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64514.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64514.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64514.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64515.conf b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64515.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64515.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64515.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64516.conf b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64516.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64516.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/quagga64516.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/zebra.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction/dependencies/zebra.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/network-cfg.json b/TestON/tests/USECASE/USECASE_SdnipFunction/network-cfg.json
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/network-cfg.json
rename to TestON/tests/USECASE/USECASE_SdnipFunction/network-cfg.json
diff --git a/TestON/tests/USECASE_SdnipFunction/sdnip_single_instance b/TestON/tests/USECASE/USECASE_SdnipFunction/sdnip_single_instance
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction/sdnip_single_instance
rename to TestON/tests/USECASE/USECASE_SdnipFunction/sdnip_single_instance
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params
similarity index 94%
rename from TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params
index 3fccbe2..c266402 100644
--- a/TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.params
@@ -16,7 +16,7 @@
     </CTRL>
 
     <DEPENDENCY>
-        <path>/USECASE_SdnipFunctionCluster/Dependency/</path>
+        <path>/USECASE_SdnipFunctionCluster/dependencies/</path>
         <topology>USECASE_SdnipI2MN_Cluster.py</topology>
         <wrapper1>Functions</wrapper1>
         <wrapper2>USECASE_SdnipI2MN_Cluster</wrapper2>
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
similarity index 76%
rename from TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
index a10527a..0daf513 100644
--- a/TestON/tests/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/USECASE_SdnipFunctionCluster.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,24 +12,24 @@
 
         <ONOScli1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
         </ONOScli1>
         <ONOScli2>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
         </ONOScli2>
         <ONOScli3>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -37,8 +37,8 @@
 
         <QuaggaCliSpeaker1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -46,8 +46,8 @@
 
         <Mininet>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/__init__.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/__init__.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/__init__.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/__init__.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/Functions.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/Functions.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/Functions.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/Functions.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/USECASE_SdnipI2MN_Cluster.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/USECASE_SdnipI2MN_Cluster.py
similarity index 99%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/USECASE_SdnipI2MN_Cluster.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/USECASE_SdnipI2MN_Cluster.py
index f5d0cfd..7afd858 100755
--- a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/USECASE_SdnipI2MN_Cluster.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/USECASE_SdnipI2MN_Cluster.py
@@ -25,7 +25,7 @@
 
 QUAGGA_DIR = '/usr/lib/quagga'
 QUAGGA_RUN_DIR = '/usr/local/var/run/quagga'
-QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/'
+QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunctionCluster/dependencies/'
 numSw = 39
 
 # net = Mininet( controller = RemoteController )
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn-speaker2.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga-sdn-speaker2.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn-speaker2.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga-sdn-speaker2.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga-sdn.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga-sdn.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64514.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64514.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64514.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64514.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64515.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64515.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64515.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64515.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64516.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64516.conf
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64516.conf
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/quagga64516.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/zebra.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/dependencies/zebra.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/network-cfg.json b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/network-cfg.json
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/network-cfg.json
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/network-cfg.json
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/sdnip_multiple_instance b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/sdnip_multiple_instance
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/sdnip_multiple_instance
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/sdnip_multiple_instance
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/sdnip_multiple_instance_BM b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster/sdnip_multiple_instance_BM
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster/sdnip_multiple_instance_BM
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster/sdnip_multiple_instance_BM
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params
similarity index 94%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params
index a36059e..fa41d0d 100644
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.params
@@ -21,7 +21,7 @@
     </CTRL>
 
     <DEPENDENCY>
-        <path>/USECASE_SdnipFunctionCluster_fsfw/Dependency/</path>
+        <path>/USECASE_SdnipFunctionCluster_fsfw/dependencies/</path>
         <topology>USECASE_SdnipI2MN_Cluster.py</topology>
         <wrapper1>Functions</wrapper1>
         <wrapper2>USECASE_SdnipI2MN_Cluster_fsfw</wrapper2>
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
similarity index 76%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
index f3c9b5f..c6d57fc 100644
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/USECASE_SdnipFunctionCluster_fsfw.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,16 +12,16 @@
 
         <ONOScli1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
         </ONOScli1>
         <ONOScli2>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -29,8 +29,8 @@
 
         <QuaggaCliSpeaker1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -38,8 +38,8 @@
 
         <Mininet>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/__init__.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/__init__.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/__init__.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/__init__.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/Functions.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/Functions.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/Functions.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/Functions.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/USECASE_SdnipI2MN_Cluster.py b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/USECASE_SdnipI2MN_Cluster.py
similarity index 99%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/USECASE_SdnipI2MN_Cluster.py
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/USECASE_SdnipI2MN_Cluster.py
index 6c04308..9ae23fd 100755
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/USECASE_SdnipI2MN_Cluster.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/USECASE_SdnipI2MN_Cluster.py
@@ -25,7 +25,7 @@
 
 QUAGGA_DIR = '/usr/lib/quagga'
 QUAGGA_RUN_DIR = '/usr/local/var/run/quagga'
-QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/'
+QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/dependencies/'
 numSw = 39
 vlanId = 8
 
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/fsfw.xml b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/fsfw.xml
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/fsfw.xml
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/fsfw.xml
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn-speaker2.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga-sdn-speaker2.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn-speaker2.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga-sdn-speaker2.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga-sdn.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga-sdn.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga-sdn.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64514.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64514.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64514.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64514.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64515.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64515.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64515.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64515.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64516.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64516.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunctionCluster/Dependency/quagga64516.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/quagga64516.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos1.sh b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos1.sh
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos1.sh
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos1.sh
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos2.sh b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos2.sh
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos2.sh
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos2.sh
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos3.sh b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos3.sh
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/vrrpd-onos3.sh
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/vrrpd-onos3.sh
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/zebra.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/dependencies/zebra.conf
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/network-cfg.json b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/network-cfg.json
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/network-cfg.json
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/network-cfg.json
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/sdnip_multiple_instance_VM b/TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/sdnip_multiple_instance_VM
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunctionCluster_fsfw/sdnip_multiple_instance_VM
rename to TestON/tests/USECASE/USECASE_SdnipFunctionCluster_fsfw/sdnip_multiple_instance_VM
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/README b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/README
similarity index 95%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/README
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/README
index 8322bd0..5eaef58 100644
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/README
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/README
@@ -58,7 +58,7 @@
 Step 4: Install, configure, and run FSFW.
 
 Install FSFW, and copy the FSFW configuration file from TestON directory in the first node to the FSFW node.
-$scp ~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/fsfw.xml root@10.128.10.12:/etc/fsfw/
+$scp ~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction_fsfw/dependencies/fsfw.xml root@10.128.10.12:/etc/fsfw/
 
 Change the controller IP address in fsfw.xml to your IP address of the node
 running ONOS.
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params
similarity index 94%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params
index 98d6bad..ae028d0 100644
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.params
@@ -19,7 +19,7 @@
     </CTRL>
 
     <DEPENDENCY>
-        <path>/USECASE_SdnipFunction_fsfw/Dependency/</path>
+        <path>/USECASE_SdnipFunction_fsfw/dependencies/</path>
         <topology>USECASE_SdnipI2MN.py</topology>
         <wrapper1>Functions</wrapper1>
     </DEPENDENCY>
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.py
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
similarity index 78%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
index 07109ba..01be5af 100644
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/USECASE_SdnipFunction_fsfw.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -12,8 +12,8 @@
 
         <ONOScli>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -22,7 +22,7 @@
         <ONOS1>
             <host>OC1</host>
             <user>sdn</user>
-            <password></password>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -30,8 +30,8 @@
 
         <QuaggaCliSpeaker1>
             <host>127.0.0.1</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>QuaggaCliDriver</type>
             <connect_order>4</connect_order>
             <COMPONENTS> </COMPONENTS>
@@ -39,8 +39,8 @@
 
         <Mininet>
             <host>OCN</host>
-            <user>admin</user>
-            <password></password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>5</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/__init__.py b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/__init__.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/__init__.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/__init__.py
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/Functions.py b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/Functions.py
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/Functions.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/Functions.py
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/USECASE_SdnipI2MN.py b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/USECASE_SdnipI2MN.py
similarity index 99%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/USECASE_SdnipI2MN.py
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/USECASE_SdnipI2MN.py
index 565a950..b603875 100755
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/USECASE_SdnipI2MN.py
+++ b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/USECASE_SdnipI2MN.py
@@ -25,7 +25,7 @@
 
 QUAGGA_DIR = '/usr/lib/quagga'
 QUAGGA_RUN_DIR = '/usr/local/var/run/quagga'
-QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/'
+QUAGGA_CONFIG_DIR = '~/OnosSystemTest/TestON/tests/USECASE_SdnipFunction_fsfw/dependencies/'
 # onos1IP = '10.254.1.201'
 numSw = 39
 vlanId = 8
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/fsfw.xml b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/fsfw.xml
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/fsfw.xml
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/fsfw.xml
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga-sdn.conf b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga-sdn.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/quagga-sdn.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga-sdn.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64514.conf b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64514.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64514.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64514.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64515.conf b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64515.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64515.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64515.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/quagga64516.conf b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64516.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/quagga64516.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/quagga64516.conf
diff --git a/TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/zebra.conf
similarity index 100%
copy from TestON/tests/USECASE_SdnipFunction/Dependency/zebra.conf
copy to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/dependencies/zebra.conf
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/network-cfg.json b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/network-cfg.json
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/network-cfg.json
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/network-cfg.json
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/network-cfg.json1.3.1.rc1 b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/network-cfg.json1.3.1.rc1
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/network-cfg.json1.3.1.rc1
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/network-cfg.json1.3.1.rc1
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/sdnip_single_instance b/TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/sdnip_single_instance
similarity index 100%
rename from TestON/tests/USECASE_SdnipFunction_fsfw/sdnip_single_instance
rename to TestON/tests/USECASE/USECASE_SdnipFunction_fsfw/sdnip_single_instance
diff --git a/TestON/tests/USECASE_SegmentRouting/2x2.json b/TestON/tests/USECASE/USECASE_SegmentRouting/2x2.json
similarity index 100%
rename from TestON/tests/USECASE_SegmentRouting/2x2.json
rename to TestON/tests/USECASE/USECASE_SegmentRouting/2x2.json
diff --git a/TestON/tests/USECASE_SegmentRouting/README.md b/TestON/tests/USECASE/USECASE_SegmentRouting/README.md
similarity index 100%
rename from TestON/tests/USECASE_SegmentRouting/README.md
rename to TestON/tests/USECASE/USECASE_SegmentRouting/README.md
diff --git a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.params b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.params
similarity index 91%
rename from TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.params
rename to TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.params
index dfa3d5f..0ceb4f2 100755
--- a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.params
+++ b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.params
@@ -8,7 +8,7 @@
     </SCALE>
 
     <DEPENDENCY>
-        <path>/tests/USECASE_SegmentRouting/Dependency/</path>
+        <path>/tests/USECASE_SegmentRouting/dependencies/</path>
         <wrapper1>startUp</wrapper1>
         <topology>cord_fabric.py</topology>
     </DEPENDENCY>
diff --git a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.py b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.py
similarity index 97%
rename from TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.py
rename to TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.py
index 7ec23af..31678fe 100644
--- a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.py
+++ b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.py
@@ -27,13 +27,11 @@
         stepResult = main.FALSE
 
         # Test variables
-        main.testOnDirectory = re.sub( "(/tests)$", "", main.testDir )
         main.cellName = main.params[ 'ENV' ][ 'cellName' ]
         main.apps = main.params[ 'ENV' ][ 'cellApps' ]
         main.diff = ( main.params[ 'ENV' ][ 'diffApps' ] ).split(";")
         gitBranch = main.params[ 'GIT' ][ 'branch' ]
-        main.dependencyPath = main.testOnDirectory + \
-                              main.params[ 'DEPENDENCY' ][ 'path' ]
+        main.dependencyPath = os.path.dirname( main.testFile ) + "/dependencies/"
         main.topology = main.params[ 'DEPENDENCY' ][ 'topology' ]
         #main.json = ["4x4"]
         main.json = ["2x2", "2x2"]
diff --git a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.topo b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.topo
similarity index 77%
rename from TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.topo
rename to TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.topo
index 0484c01..a5266a0 100755
--- a/TestON/tests/USECASE_SegmentRouting/USECASE_SegmentRouting.topo
+++ b/TestON/tests/USECASE/USECASE_SegmentRouting/USECASE_SegmentRouting.topo
@@ -3,8 +3,8 @@
 
         <ONOSbench>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosDriver</type>
             <connect_order>1</connect_order>
             <COMPONENTS>
@@ -14,8 +14,8 @@
 
         <ONOScli1>
             <host>localhost</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>OnosCliDriver</type>
             <connect_order>2</connect_order>
             <COMPONENTS>
@@ -24,8 +24,8 @@
 
         <Mininet1>
             <host>OCN</host>
-            <user>admin</user>
-            <password>onos_test</password>
+            <user>sdn</user>
+            <password>rocks</password>
             <type>MininetCliDriver</type>
             <connect_order>3</connect_order>
             <COMPONENTS>
diff --git a/TestON/tests/USECASE_SegmentRouting/__init__.py b/TestON/tests/USECASE/USECASE_SegmentRouting/__init__.py
similarity index 100%
rename from TestON/tests/USECASE_SegmentRouting/__init__.py
rename to TestON/tests/USECASE/USECASE_SegmentRouting/__init__.py
diff --git a/TestON/tests/USECASE_SegmentRouting/Dependency/cord_fabric.py b/TestON/tests/USECASE/USECASE_SegmentRouting/dependencies/cord_fabric.py
similarity index 100%
rename from TestON/tests/USECASE_SegmentRouting/Dependency/cord_fabric.py
rename to TestON/tests/USECASE/USECASE_SegmentRouting/dependencies/cord_fabric.py
diff --git a/TestON/tests/USECASE_SegmentRouting/Dependency/startUp.py b/TestON/tests/USECASE/USECASE_SegmentRouting/dependencies/startUp.py
similarity index 100%
rename from TestON/tests/USECASE_SegmentRouting/Dependency/startUp.py
rename to TestON/tests/USECASE/USECASE_SegmentRouting/dependencies/startUp.py
diff --git a/TestON/tests/CHOtest/__init__.py b/TestON/tests/USECASE/__init__.py
similarity index 100%
copy from TestON/tests/CHOtest/__init__.py
copy to TestON/tests/USECASE/__init__.py
diff --git a/TestON/tests/HAsanity/dependencies/__init__.py b/TestON/tests/USECASE/dependencies/__init__.py
similarity index 100%
copy from TestON/tests/HAsanity/dependencies/__init__.py
copy to TestON/tests/USECASE/dependencies/__init__.py
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/zebra.conf b/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/zebra.conf
deleted file mode 100644
index 517db94..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster/Dependency/zebra.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname zebra
-password hello
-enable password 0fw0rk
-log stdout
-!
-! Interfaces description.
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-!log file /usr/local/var/log/quagga/zebra.log
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn-speaker2.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn-speaker2.conf
deleted file mode 100644
index 256e7e8..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn-speaker2.conf
+++ /dev/null
@@ -1,49 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-!
-router bgp 64513
-  bgp router-id 10.0.14.101
-  timers bgp 1 3
-  !timers bgp 3 9
-  neighbor 10.0.14.1 remote-as 64514
-  neighbor 10.0.14.1 ebgp-multihop
-  neighbor 10.0.14.1 timers connect 5
-  neighbor 10.0.15.1 remote-as 64515
-  neighbor 10.0.15.1 ebgp-multihop
-  neighbor 10.0.15.1 timers connect 5
-  neighbor 10.0.16.1 remote-as 64516
-  neighbor 10.0.16.1 ebgp-multihop
-  neighbor 10.0.16.1 timers connect 5
-
-  neighbor 1.1.1.2 remote-as 64513
-  neighbor 1.1.1.2 port 2000
-  neighbor 1.1.1.2 timers connect 5
-
-  neighbor 1.1.1.4 remote-as 64513
-  neighbor 1.1.1.4 port 2000
-  neighbor 1.1.1.4 timers connect 5
-
-  neighbor 1.1.1.6 remote-as 64513
-  neighbor 1.1.1.6 port 2000
-  neighbor 1.1.1.6 timers connect 5
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn.conf
deleted file mode 100644
index 3d2a455..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga-sdn.conf
+++ /dev/null
@@ -1,49 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-!
-router bgp 64513
-  bgp router-id 10.0.4.101
-  timers bgp 1 3
-  !timers bgp 3 9
-  neighbor 10.0.4.1 remote-as 64514
-  neighbor 10.0.4.1 ebgp-multihop
-  neighbor 10.0.4.1 timers connect 5
-  neighbor 10.0.5.1 remote-as 64515
-  neighbor 10.0.5.1 ebgp-multihop
-  neighbor 10.0.5.1 timers connect 5
-  neighbor 10.0.6.1 remote-as 64516
-  neighbor 10.0.6.1 ebgp-multihop
-  neighbor 10.0.6.1 timers connect 5
-
-  neighbor 1.1.1.2 remote-as 64513
-  neighbor 1.1.1.2 port 2000
-  neighbor 1.1.1.2 timers connect 5
-
-  neighbor 1.1.1.4 remote-as 64513
-  neighbor 1.1.1.4 port 2000
-  neighbor 1.1.1.4 timers connect 5
-
-  neighbor 1.1.1.6 remote-as 64513
-  neighbor 1.1.1.6 port 2000
-  neighbor 1.1.1.6 timers connect 5
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64514.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64514.conf
deleted file mode 100644
index cc056dd..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64514.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64514
-  bgp router-id 10.0.4.1
-!  timers bgp 1 3
- neighbor 10.0.4.101 remote-as 64513
- neighbor 10.0.14.101 remote-as 64513
- network 4.0.0.0/24
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
\ No newline at end of file
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64515.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64515.conf
deleted file mode 100644
index 7b45d57..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64515.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64515
-  bgp router-id 10.0.5.1
-!  timers bgp 1 3
- neighbor 10.0.5.101 remote-as 64513
- neighbor 10.0.15.101 remote-as 64513
- network 5.0.0.0/24
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64516.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64516.conf
deleted file mode 100644
index 20c104e..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/quagga64516.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64516
-  bgp router-id 10.0.6.1
-!  timers bgp 1 3
- neighbor 10.0.6.101 remote-as 64513
- neighbor 10.0.16.101 remote-as 64513
- network 6.0.0.0/24
-
-! neighbor 10.0.0.2 route-map set-nexthop out
-! neighbor 10.0.0.2 ebgp-multihop
-! neighbor 10.0.0.2 next-hop-self
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/zebra.conf b/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/zebra.conf
deleted file mode 100644
index 517db94..0000000
--- a/TestON/tests/USECASE_SdnipFunctionCluster_fsfw/Dependency/zebra.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname zebra
-password hello
-enable password 0fw0rk
-log stdout
-!
-! Interfaces description.
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-!log file /usr/local/var/log/quagga/zebra.log
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga-sdn.conf b/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga-sdn.conf
deleted file mode 100644
index b5d8b12..0000000
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga-sdn.conf
+++ /dev/null
@@ -1,41 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-!
-router bgp 64513
-  bgp router-id 10.0.4.101
-  timers bgp 1 3
-  !timers bgp 3 9
-  neighbor 10.0.4.1 remote-as 64514
-  neighbor 10.0.4.1 ebgp-multihop
-  neighbor 10.0.4.1 timers connect 5
-  neighbor 10.0.5.1 remote-as 64515
-  neighbor 10.0.5.1 ebgp-multihop
-  neighbor 10.0.5.1 timers connect 5
-  neighbor 10.0.6.1 remote-as 64516
-  neighbor 10.0.6.1 ebgp-multihop
-  neighbor 10.0.6.1 timers connect 5
-
-  neighbor 1.1.1.2 remote-as 64513
-  neighbor 1.1.1.2 port 2000
-  neighbor 1.1.1.2 timers connect 5
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64514.conf b/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64514.conf
deleted file mode 100644
index 09440af..0000000
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64514.conf
+++ /dev/null
@@ -1,28 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64514
-  bgp router-id 10.0.4.1
-!  timers bgp 1 3
- neighbor 10.0.4.101 remote-as 64513
- network 4.0.0.0/24
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
\ No newline at end of file
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64515.conf b/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64515.conf
deleted file mode 100644
index 6d0b701..0000000
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64515.conf
+++ /dev/null
@@ -1,28 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64515
-  bgp router-id 10.0.5.1
-!  timers bgp 1 3
- neighbor 10.0.5.101 remote-as 64513
- network 5.0.0.0/24
-
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64516.conf b/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64516.conf
deleted file mode 100644
index 5401c05..0000000
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/quagga64516.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-! -*- bgp -*-
-!
-! BGPd sample configuratin file
-!
-! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
-!
-hostname bgpd
-password hello
-!enable password please-set-at-here
-!
-!bgp mulitple-instance
-!
-router bgp 64516
-  bgp router-id 10.0.6.1
-!  timers bgp 1 3
- neighbor 10.0.6.101 remote-as 64513
- network 6.0.0.0/24
-
-! neighbor 10.0.0.2 route-map set-nexthop out
-! neighbor 10.0.0.2 ebgp-multihop
-! neighbor 10.0.0.2 next-hop-self
-!
-! access-list all permit any
-!
-!route-map set-nexthop permit 10
-! match ip address all
-! set ip next-hop 10.0.0.1
-!
-!log file /usr/local/var/log/quagga/bgpd.log
-!
-log stdout
diff --git a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/zebra.conf b/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/zebra.conf
deleted file mode 100644
index 517db94..0000000
--- a/TestON/tests/USECASE_SdnipFunction_fsfw/Dependency/zebra.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname zebra
-password hello
-enable password 0fw0rk
-log stdout
-!
-! Interfaces description.
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-!log file /usr/local/var/log/quagga/zebra.log
