diff --git a/TestON/drivers/common/cli/check_status.py b/TestON/drivers/common/cli/check_status.py
index c725cec..8e870bc 100755
--- a/TestON/drivers/common/cli/check_status.py
+++ b/TestON/drivers/common/cli/check_status.py
@@ -3,10 +3,10 @@
 import os
 import sys
 
-# http://localhost:8080/wm/core/topology/switches/all/json
-# http://localhost:8080/wm/core/topology/links/json
-# http://localhost:8080/wm/registry/controllers/json
-# http://localhost:8080/wm/registry/switches/json"
+# http://localhost:8080/wm/onos/ng/switches/json
+# http://localhost:8080/wm/onos/ng/links/json
+# http://localhost:8080/wm/onos/registry/controllers/json
+# http://localhost:8080/wm/onos/registry/switches/json"
 
 def get_json(url):
   try:
@@ -28,14 +28,14 @@
   retcode = 0
   RestPort="8080"
 
-  url="http://%s:%s/wm/core/topology/switches/all/json" % (RestIP, RestPort)
+  url="http://%s:%s/wm/onos/ng/switches/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
     retcode = 1
     return (retcode, "Rest API has an issue")
 
-  url = "http://%s:%s/wm/registry/switches/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/registry/switches/json" % (RestIP, RestPort)
   registry = get_json(url)
 
   if registry == "":
@@ -72,7 +72,7 @@
   buf = ""
   retcode = 0
 
-  url = "http://%s:%s/wm/core/topology/links/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/ng/links/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index 02db024..7056340 100644
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -450,10 +450,10 @@
             main.exit()
 
 
-# http://localhost:8080/wm/core/topology/switches/all/json
-# http://localhost:8080/wm/core/topology/links/json
-# http://localhost:8080/wm/registry/controllers/json
-# http://localhost:8080/wm/registry/switches/json"
+# http://localhost:8080/wm/onos/ng/switches/json
+# http://localhost:8080/wm/onos/ng/links/json
+# http://localhost:8080/wm/onos/registry/controllers/json
+# http://localhost:8080/wm/onos/registry/switches/json"
 
     def get_json(self, url):
         '''
@@ -781,7 +781,7 @@
         retmac = []
         foundIP = []
         try:
-            ##### device rest API is: 'host:8080/wm/core/topology/switches/all/json' ###
+            ##### device rest API is: 'host:8080/wm/onos/ng/switches/json' ###
             url ="http://%s:%s%s" %(RestIP,RestPort,RestAPI)
 
             try:
diff --git a/TestON/tests/OnosSanity4nodes/OnosSanity4nodes.params b/TestON/tests/OnosSanity4nodes/OnosSanity4nodes.params
index 2810c1a..b4da842 100644
--- a/TestON/tests/OnosSanity4nodes/OnosSanity4nodes.params
+++ b/TestON/tests/OnosSanity4nodes/OnosSanity4nodes.params
@@ -44,6 +44,6 @@
 	<restIP1>10.128.100.1</restIP1>
 	<restIP2>10.128.100.5</restIP2>
 	<restPort>8080</restPort>
-	<restURL>/wm/onos/topology/switches/all/json</restURL>
+	<restURL>/wm/onos/ng/switches/json</restURL>
     </RESTCALL>
 </PARAMS>      
diff --git a/TestON/tests/OnosScale/check_status.py b/TestON/tests/OnosScale/check_status.py
index c725cec..8e870bc 100755
--- a/TestON/tests/OnosScale/check_status.py
+++ b/TestON/tests/OnosScale/check_status.py
@@ -3,10 +3,10 @@
 import os
 import sys
 
-# http://localhost:8080/wm/core/topology/switches/all/json
-# http://localhost:8080/wm/core/topology/links/json
-# http://localhost:8080/wm/registry/controllers/json
-# http://localhost:8080/wm/registry/switches/json"
+# http://localhost:8080/wm/onos/ng/switches/json
+# http://localhost:8080/wm/onos/ng/links/json
+# http://localhost:8080/wm/onos/registry/controllers/json
+# http://localhost:8080/wm/onos/registry/switches/json"
 
 def get_json(url):
   try:
@@ -28,14 +28,14 @@
   retcode = 0
   RestPort="8080"
 
-  url="http://%s:%s/wm/core/topology/switches/all/json" % (RestIP, RestPort)
+  url="http://%s:%s/wm/onos/ng/switches/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
     retcode = 1
     return (retcode, "Rest API has an issue")
 
-  url = "http://%s:%s/wm/registry/switches/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/registry/switches/json" % (RestIP, RestPort)
   registry = get_json(url)
 
   if registry == "":
@@ -72,7 +72,7 @@
   buf = ""
   retcode = 0
 
-  url = "http://%s:%s/wm/core/topology/links/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/ng/links/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
diff --git a/TestON/tests/OnosScale4nodes/check_status.py b/TestON/tests/OnosScale4nodes/check_status.py
index c725cec..8e870bc 100755
--- a/TestON/tests/OnosScale4nodes/check_status.py
+++ b/TestON/tests/OnosScale4nodes/check_status.py
@@ -3,10 +3,10 @@
 import os
 import sys
 
-# http://localhost:8080/wm/core/topology/switches/all/json
-# http://localhost:8080/wm/core/topology/links/json
-# http://localhost:8080/wm/registry/controllers/json
-# http://localhost:8080/wm/registry/switches/json"
+# http://localhost:8080/wm/onos/ng/switches/json
+# http://localhost:8080/wm/onos/ng/links/json
+# http://localhost:8080/wm/onos/registry/controllers/json
+# http://localhost:8080/wm/onos/registry/switches/json"
 
 def get_json(url):
   try:
@@ -28,14 +28,14 @@
   retcode = 0
   RestPort="8080"
 
-  url="http://%s:%s/wm/core/topology/switches/all/json" % (RestIP, RestPort)
+  url="http://%s:%s/wm/onos/ng/switches/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
     retcode = 1
     return (retcode, "Rest API has an issue")
 
-  url = "http://%s:%s/wm/registry/switches/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/registry/switches/json" % (RestIP, RestPort)
   registry = get_json(url)
 
   if registry == "":
@@ -72,7 +72,7 @@
   buf = ""
   retcode = 0
 
-  url = "http://%s:%s/wm/core/topology/links/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/ng/links/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
diff --git a/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.params b/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.params
index 41e4682..65dca1f 100644
--- a/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.params
+++ b/TestON/tests/RCOnosSanity4nodesJ/RCOnosSanity4nodesJ.params
@@ -1,5 +1,5 @@
 <PARAMS>
-    <testcases>1,2,3,41,4,5,6,7</testcases>
+    <testcases>1,2,3,21,31,41,4,5,6,7</testcases>
     <FLOWDEF>~/flowdef_files/Center_Triangle/flowdef_20.txt</FLOWDEF>
     <CASE1>       
         <destination>h6</destination>
@@ -28,22 +28,22 @@
 	<sw1>s1</sw1>
     </PLUG>
     <CTRL>
-        <ip1>10.128.4.151</ip1>
+        <ip1>10.128.100.1</ip1>
         <port1>6633</port1>
-        <ip2>10.128.4.152</ip2>
+        <ip2>10.128.100.4</ip2>
         <port2>6633</port2>
-        <ip3>10.128.4.153</ip3>
+        <ip3>10.128.100.5</ip3>
         <port3>6633</port3>
-        <ip4>10.128.4.154</ip4>
+        <ip4>10.128.100.6</ip4>
         <port4>6633</port4>
     </CTRL>
-    <RestIP>10.128.4.151</RestIP>
+    <RestIP>10.128.100.1</RestIP>
     <NR_Switches>25</NR_Switches>
     <NR_Links>50</NR_Links>
     <RESTCALL>
-	<restIP1>10.128.4.151</restIP1>
-	<restIP2>10.128.4.152</restIP2>
+	<restIP1>10.128.100.1</restIP1>
+	<restIP2>10.128.100.4</restIP2>
 	<restPort>8080</restPort>
-	<restURL>/wm/onos/topology/switches/json</restURL>
+	<restURL>/wm/onos/ng/switches/json</restURL>
     </RESTCALL>
 </PARAMS>      
diff --git a/TestON/tests/RCOnosScale4nodes/check_status.py b/TestON/tests/RCOnosScale4nodes/check_status.py
index c725cec..8e870bc 100755
--- a/TestON/tests/RCOnosScale4nodes/check_status.py
+++ b/TestON/tests/RCOnosScale4nodes/check_status.py
@@ -3,10 +3,10 @@
 import os
 import sys
 
-# http://localhost:8080/wm/core/topology/switches/all/json
-# http://localhost:8080/wm/core/topology/links/json
-# http://localhost:8080/wm/registry/controllers/json
-# http://localhost:8080/wm/registry/switches/json"
+# http://localhost:8080/wm/onos/ng/switches/json
+# http://localhost:8080/wm/onos/ng/links/json
+# http://localhost:8080/wm/onos/registry/controllers/json
+# http://localhost:8080/wm/onos/registry/switches/json"
 
 def get_json(url):
   try:
@@ -28,14 +28,14 @@
   retcode = 0
   RestPort="8080"
 
-  url="http://%s:%s/wm/core/topology/switches/all/json" % (RestIP, RestPort)
+  url="http://%s:%s/wm/onos/ng/switches/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
     retcode = 1
     return (retcode, "Rest API has an issue")
 
-  url = "http://%s:%s/wm/registry/switches/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/registry/switches/json" % (RestIP, RestPort)
   registry = get_json(url)
 
   if registry == "":
@@ -72,7 +72,7 @@
   buf = ""
   retcode = 0
 
-  url = "http://%s:%s/wm/core/topology/links/json" % (RestIP, RestPort)
+  url = "http://%s:%s/wm/onos/ng/links/json" % (RestIP, RestPort)
   parsedResult = get_json(url)
 
   if parsedResult == "":
