diff --git a/TestON/drivers/common/cli/onosclidriver.py b/TestON/drivers/common/cli/onosclidriver.py
index c61bf84..09aa7a4 100755
--- a/TestON/drivers/common/cli/onosclidriver.py
+++ b/TestON/drivers/common/cli/onosclidriver.py
@@ -2886,6 +2886,7 @@
         """
         count = self.groupAddedCount( deviceId, core )
         count = int( count ) if count else 0
+        main.log.debug( "found {} groups".format( count ) )
         return count if ((count > expectedGroupCount) if (comparison == 0) else (count == expectedGroupCount)) else main.FALSE
 
     def checkFlowAddedCount( self, deviceId, expectedFlowCount=0, core=False, comparison=0):
@@ -2906,6 +2907,7 @@
         """
         count = self.flowAddedCount( deviceId, core )
         count = int( count ) if count else 0
+        main.log.debug( "found {} flows".format( count ) )
         return count if ((count > expectedFlowCount) if (comparison == 0) else (count == expectedFlowCount)) else main.FALSE
 
     def getAllDevicesId( self ):
diff --git a/TestON/tests/HA/HAbackupRecover/HAbackupRecover.params.fabric b/TestON/tests/HA/HAbackupRecover/HAbackupRecover.params.fabric
index 333028b..3b19f14 100644
--- a/TestON/tests/HA/HAbackupRecover/HAbackupRecover.params.fabric
+++ b/TestON/tests/HA/HAbackupRecover/HAbackupRecover.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAbackupRecover/HAbackupRecover.py b/TestON/tests/HA/HAbackupRecover/HAbackupRecover.py
index 54d738e..e907b66 100644
--- a/TestON/tests/HA/HAbackupRecover/HAbackupRecover.py
+++ b/TestON/tests/HA/HAbackupRecover/HAbackupRecover.py
@@ -247,6 +247,7 @@
                                  onfail="Failed to rerun for election" )
 
         main.HA.commonChecks()
+        time.sleep(60)
 
     def CASE7( self, main ):
         """
diff --git a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params.fabric b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params.fabric
index 5607958..a6cec2f 100644
--- a/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params.fabric
+++ b/TestON/tests/HA/HAclusterRestart/HAclusterRestart.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAcontinuousStopNodes/HAcontinuousStopNodes.params.fabric b/TestON/tests/HA/HAcontinuousStopNodes/HAcontinuousStopNodes.params.fabric
index fe36d12..cf095b9 100644
--- a/TestON/tests/HA/HAcontinuousStopNodes/HAcontinuousStopNodes.params.fabric
+++ b/TestON/tests/HA/HAcontinuousStopNodes/HAcontinuousStopNodes.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params.fabric b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params.fabric
index 9dab0f4..ab5056e 100644
--- a/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params.fabric
+++ b/TestON/tests/HA/HAfullNetPartition/HAfullNetPartition.params.fabric
@@ -54,14 +54,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAkillNodes/HAkillNodes.params.fabric b/TestON/tests/HA/HAkillNodes/HAkillNodes.params.fabric
index dbfbde3..f8074b7 100644
--- a/TestON/tests/HA/HAkillNodes/HAkillNodes.params.fabric
+++ b/TestON/tests/HA/HAkillNodes/HAkillNodes.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAsanity/HAsanity.params.fabric b/TestON/tests/HA/HAsanity/HAsanity.params.fabric
index 9a9d720..615d9fa 100644
--- a/TestON/tests/HA/HAsanity/HAsanity.params.fabric
+++ b/TestON/tests/HA/HAsanity/HAsanity.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAscaling/HAscaling.params.fabric b/TestON/tests/HA/HAscaling/HAscaling.params.fabric
index 1566713..6200c33 100644
--- a/TestON/tests/HA/HAscaling/HAscaling.params.fabric
+++ b/TestON/tests/HA/HAscaling/HAscaling.params.fabric
@@ -58,14 +58,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params.fabric b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params.fabric
index b9f6bba..bedc412 100644
--- a/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params.fabric
+++ b/TestON/tests/HA/HAsingleInstanceRestart/HAsingleInstanceRestart.params.fabric
@@ -53,14 +53,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAstopNodes/HAstopNodes.params.fabric b/TestON/tests/HA/HAstopNodes/HAstopNodes.params.fabric
index 9dab0f4..ab5056e 100644
--- a/TestON/tests/HA/HAstopNodes/HAstopNodes.params.fabric
+++ b/TestON/tests/HA/HAstopNodes/HAstopNodes.params.fabric
@@ -54,14 +54,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAswapNodes/HAswapNodes.params.fabric b/TestON/tests/HA/HAswapNodes/HAswapNodes.params.fabric
index 7ba6fd4..fd3b883 100644
--- a/TestON/tests/HA/HAswapNodes/HAswapNodes.params.fabric
+++ b/TestON/tests/HA/HAswapNodes/HAswapNodes.params.fabric
@@ -57,14 +57,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAupgrade/HAupgrade.params.fabric b/TestON/tests/HA/HAupgrade/HAupgrade.params.fabric
index bedea08..85476a2 100644
--- a/TestON/tests/HA/HAupgrade/HAupgrade.params.fabric
+++ b/TestON/tests/HA/HAupgrade/HAupgrade.params.fabric
@@ -57,14 +57,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/HAupgradeRollback/HAupgradeRollback.params.fabric b/TestON/tests/HA/HAupgradeRollback/HAupgradeRollback.params.fabric
index 20e0def..b80eb2d 100644
--- a/TestON/tests/HA/HAupgradeRollback/HAupgradeRollback.params.fabric
+++ b/TestON/tests/HA/HAupgradeRollback/HAupgradeRollback.params.fabric
@@ -57,14 +57,14 @@
 
     <topology>
         <files>
-            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/comcast_fabric.py</topo>
+            <topo>~/TestON/tests/USECASE/SegmentRouting/dependencies/fabric.py</topo>
             <dep1>~/TestON/tests/USECASE/SegmentRouting/dependencies/trellislib.py</dep1>
             <dep2>~/TestON/tests/USECASE/SegmentRouting/dependencies/routinglib.py</dep2>
         </files>
-        <topoFile>comcast_fabric.py</topoFile>
+        <topoFile>fabric.py</topoFile>
         <args> --dhcp=0 --routers=0 --ipv6=0 --ipv4=1 </args>
-        <configPath>/USECASE/SegmentRouting/SRRouting/dependencies/json/</configPath>
-        <configName>COMCAST_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
+        <configPath>/HA/dependencies/json/</configPath>
+        <configName>TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json</configName>
     </topology>
     <CTRL>
         <port1>6653</port1>
diff --git a/TestON/tests/HA/dependencies/HA.py b/TestON/tests/HA/dependencies/HA.py
index 68134ca..0e5da1d 100644
--- a/TestON/tests/HA/dependencies/HA.py
+++ b/TestON/tests/HA/dependencies/HA.py
@@ -3894,14 +3894,15 @@
                                         "ONOS:\nPushed: {}\nONOS: {}".format( ctrl.pprint( pushedInterface ),
                                                                               ctrl.pprint( onosInterface ) ) )
 
-        # Compare pushed host config
-        for hid, pushedHost in pushedNetCfg[ 'hosts' ].items():
-            onosHost = onosNetCfg[ 'hosts' ].get( hid.lower() )
-            if pushedHost != onosHost:
-                cfgResult = False
-                main.log.error( "Pushed Network configuration does not match what is in " +
-                                "ONOS:\nPushed: {}\nONOS: {}".format( ctrl.pprint( pushedHost),
-                                                                      ctrl.pprint( onosHost ) ) )
+        if pushedNetCfg.get( 'hosts' ) is not None:
+            # Compare pushed host config
+            for hid, pushedHost in pushedNetCfg[ 'hosts' ].items():
+                onosHost = onosNetCfg[ 'hosts' ].get( hid.lower() )
+                if pushedHost != onosHost:
+                    cfgResult = False
+                    main.log.error( "Pushed Network configuration does not match what is in " +
+                                    "ONOS:\nPushed: {}\nONOS: {}".format( ctrl.pprint( pushedHost),
+                                                                          ctrl.pprint( onosHost ) ) )
         utilities.assert_equals( expect=True,
                                  actual=cfgResult,
                                  onpass="Net Cfg set",
diff --git a/TestON/tests/HA/dependencies/json/TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json b/TestON/tests/HA/dependencies/json/TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json
new file mode 100644
index 0000000..330c9d1
--- /dev/null
+++ b/TestON/tests/HA/dependencies/json/TRELLIS_CONFIG_ipv4=1_ipv6=0_dhcp=0_routers=0.json
@@ -0,0 +1,307 @@
+{
+    "ports" : {
+        "of:0000000000000001/3" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.1.0.254/24" ],
+                    "vlan-untagged": 10
+                }
+            ]
+        },
+        "of:0000000000000001/4" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.1.10.254/24" ],
+                    "vlan-untagged": 10
+                }
+            ]
+        },
+        "of:0000000000000002/6" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.0.254/24" ],
+                    "vlan-untagged": 10
+                }
+            ]
+        },
+        "of:0000000000000002/7" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.30.254/24" ],
+                    "vlan-untagged": 15
+                }
+            ]
+        },
+        "of:0000000000000002/8" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.20.254/24" ],
+                    "vlan-tagged": [30]
+                }
+            ]
+        },
+        "of:0000000000000003/8" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.10.254/24" ],
+                    "vlan-tagged": [20]
+                }
+            ]
+        },
+	"of:0000000000000003/9" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.40.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        },
+        "of:0000000000000003/6" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.30.254/24" ],
+                    "vlan-untagged": 15
+                }
+            ]
+        },
+        "of:0000000000000003/7" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.2.20.254/24" ],
+                    "vlan-tagged": [30]
+                }
+            ]
+        },
+        "of:0000000000000004/6" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.0.254/24" ],
+                    "vlan-tagged": [30]
+                }
+            ]
+        },
+        "of:0000000000000004/7" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.10.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        },
+        "of:0000000000000004/8" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.30.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        },
+        "of:0000000000000005/8" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.20.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        },
+        "of:0000000000000005/6" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.10.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        },
+        "of:0000000000000005/7" : {
+            "interfaces" : [
+                {
+                    "ips" : [ "10.3.30.254/24" ],
+                    "vlan-tagged": [40]
+                }
+            ]
+        }
+    },
+    "hosts" : {
+        "00:aa:00:00:00:01/None" : {
+		"basic": {
+			"locations": ["of:0000000000000001/3"],
+			"ips": ["10.1.0.1"]
+		     }
+	    },
+	"00:aa:00:00:01:01/None" : {
+		"basic": {
+			"locations": ["of:0000000000000001/4"],
+			"ips": ["10.1.10.1"]
+		     }
+	    },
+	"00:aa:00:00:00:02/None" : {
+		"basic": {
+			"locations": ["of:0000000000000002/6"],
+			"ips": ["10.2.0.1"]
+		     }
+	    },
+	"00:aa:00:00:00:03/None" : {
+		"basic": {
+			"locations": ["of:0000000000000002/7", "of:0000000000000003/6"],
+			"ips": ["10.2.30.1"]
+		     }
+	    },
+	"00:aa:00:00:00:04/30" : {
+		"basic": {
+			"locations": ["of:0000000000000003/7","of:0000000000000002/8"],
+			"ips": ["10.2.20.1"]
+		     }
+	    },
+	"00:aa:00:00:00:05/20" : {
+		"basic": {
+			"locations": ["of:0000000000000003/8"],
+			"ips": ["10.2.10.1"]
+		     }
+	    },
+	"00:aa:00:00:01:05/40" : {
+		"basic": {
+			"locations": ["of:0000000000000003/9"],
+			"ips": ["10.2.40.1"]
+		     }
+	    },
+	"00:aa:00:00:00:06/30" : {
+		"basic": {
+			"locations": ["of:0000000000000004/6"],
+			"ips": ["10.3.0.1"]
+		     }
+	    },
+	"00:aa:00:00:00:07/40" : {
+		"basic": {
+			"locations": ["of:0000000000000005/6", "of:0000000000000004/7"],
+			"ips": ["10.3.10.1"]
+		     }
+	    },
+	"00:aa:00:00:00:08/40" : {
+		"basic": {
+			"locations": ["of:0000000000000004/8","of:0000000000000005/7"],
+			"ips": ["10.3.30.1"]
+		     }
+	    },
+	"00:aa:00:00:00:0A/40" : {
+		"basic": {
+			"locations": ["of:0000000000000005/8"],
+			"ips": ["10.3.20.1"]
+		     }
+	    }
+    },
+    "devices" : {
+        "of:0000000000000001" : {
+            "segmentrouting" : {
+                "name" : "s001",
+                "ipv4NodeSid" : 1001,
+                "ipv4Loopback" : "192.168.0.1",
+                "routerMac" : "00:00:00:00:00:01",
+                "isEdgeRouter" : true,
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":34,
+		"longitude":-105
+            }
+        },
+        "of:0000000000000002" : {
+            "segmentrouting" : {
+                "name" : "s002",
+                "ipv4NodeSid" : 1002,
+                "ipv4Loopback" : "192.168.0.2",
+                "routerMac" : "00:00:00:00:00:02",
+                "isEdgeRouter" : true,
+                "pairLocalPort" : 5,
+                "pairDeviceId": "of:0000000000000003",
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":34,
+		"longitude":-95
+            }
+        },
+        "of:0000000000000003" : {
+            "segmentrouting" : {
+                "name" : "s003",
+                "ipv4NodeSid" : 1003,
+                "ipv4Loopback" : "192.168.0.3",
+                "routerMac" : "00:00:00:00:00:02",
+                "isEdgeRouter" : true,
+                "pairLocalPort" : 5,
+                "pairDeviceId": "of:0000000000000002",
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":34,
+		"longitude":-90
+            }
+        },
+        "of:0000000000000004" : {
+            "segmentrouting" : {
+                "name" : "s004",
+                "ipv4NodeSid" : 1004,
+                "ipv4Loopback" : "192.168.0.4",
+                "routerMac" : "00:00:00:00:00:04",
+                "isEdgeRouter" : true,
+                "pairLocalPort" : 5,
+                "pairDeviceId": "of:0000000000000005",
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":34,
+		"longitude":-85
+            }
+        },
+        "of:0000000000000005" : {
+            "segmentrouting" : {
+                "name" : "s005",
+                "ipv4NodeSid" : 1005,
+                "ipv4Loopback" : "192.168.0.5",
+                "routerMac" : "00:00:00:00:00:04",
+                "isEdgeRouter" : true,
+                "pairLocalPort" : 5,
+                "pairDeviceId": "of:0000000000000004",
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":34,
+		"longitude":-80
+            }
+        },
+        "of:0000000000000101" : {
+            "segmentrouting" : {
+                "name" : "s101",
+                "ipv4NodeSid" : 1101,
+                "ipv4Loopback" : "192.168.0.101",
+                "routerMac" : "00:00:00:00:01:01",
+                "isEdgeRouter" : false,
+                "adjacencySids" : []
+            },
+            "basic" : {
+                "driver" : "ofdpa-ovs",
+		"latitude":42,
+                "longitude":-100
+            }
+        },
+        "of:0000000000000102" : {
+            "segmentrouting" : {
+                "name" : "s102",
+                "ipv4NodeSid" : 1102,
+                "ipv4Loopback" : "192.168.0.102",
+                "routerMac" : "00:00:00:00:01:02",
+                "isEdgeRouter" : false,
+                "adjacencySids" : []
+            },
+            "basic" : {
+                 "driver" : "ofdpa-ovs",
+		 "latitude":42,
+		 "longitude":-95
+            }
+        }
+    }
+}
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
index e8199bd..a7461aa 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.params
@@ -7,8 +7,8 @@
     </GRAPH>
 
     <SCALE>
-        <size>3</size>
-        <max>3</max>
+        <size>7</size>
+        <max>7</max>
     </SCALE>
 
     <DEPENDENCY>
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
index 9d901f1..358ce47 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
@@ -124,6 +124,8 @@
             ctrl.CLI.logSet( "DEBUG", "org.onosproject.routeservice.impl" )
             ctrl.CLI.logSet( "DEBUG", "org.onosproject.routeservice.store" )
             ctrl.CLI.logSet( "DEBUG", "org.onosproject.routing.fpm" )
+            ctrl.CLI.logSet( "TRACE", "org.onosproject.events" )
+            ctrl.CLI.logSet( "DEBUG", "org.onosproject.mcast" )
 
     @staticmethod
     def loadCount( main ):
@@ -377,20 +379,20 @@
             onfail="Flow count looks wrong. " )
 
     @staticmethod
-    def checkFlowEqualityByDpid( main, dpid, flowCount, sleep=10):
+    def checkFlowEqualityByDpid( main, dpid, flowCount, sleep=10 ):
         main.step(
                 " Check whether the flow count of device %s is equal to %s" % ( dpid, flowCount ) )
         count = utilities.retry( main.Cluster.active( 0 ).CLI.checkFlowAddedCount,
                                  main.FALSE,
-                                 args=( dpid, flowCount, False, 1),
+                                 args=( dpid, flowCount, False, 1 ),
                                  attempts=5,
                                  sleep=sleep )
 
         utilities.assertEquals(
                 expect=True,
                 actual=( int( count ) == flowCount ),
-                onpass="Flow count looks correct: " + str(count) ,
-                onfail="Flow count looks wrong, should be " + str(flowCount))
+                onpass="Flow count looks correct: " + str( count ) ,
+                onfail="Flow count looks wrong. found {},  should be {}.".format( count, flowCount ) )
 
     @staticmethod
     def checkGroupEqualityByDpid( main, dpid, groupCount, sleep=10):
@@ -405,22 +407,22 @@
         utilities.assertEquals(
                 expect=True,
                 actual=( count == groupCount ),
-                onpass="Group count looks correct: " + str(count) ,
-                onfail="Group count looks wrong: should be " + str(groupCount))
+                onpass="Group count looks correct: " + str( count ) ,
+                onfail="Group count looks wrong. found {},  should be {}.".format( count, groupCount ) )
 
     @staticmethod
-    def checkFlowsGroupsFromFile(main):
+    def checkFlowsGroupsFromFile( main ):
 
         for dpid, values in main.count.items():
             flowCount = values["flows"]
             groupCount = values["groups"]
-            main.log.report( "Check flow count for dpid " + str(dpid) +
-                             ", should be " + str(flowCount))
-            Testcaselib.checkFlowEqualityByDpid(main, dpid, flowCount)
+            main.log.report( "Check flow count for dpid " + str( dpid ) +
+                             ", should be " + str( flowCount ) )
+            Testcaselib.checkFlowEqualityByDpid( main, dpid, flowCount )
 
-            main.log.report( "Check group count for dpid " + str(dpid) +
-                             ", should be " + str(groupCount))
-            Testcaselib.checkGroupEqualityByDpid(main, dpid, groupCount)
+            main.log.report( "Check group count for dpid " + str( dpid ) +
+                             ", should be " + str( groupCount ) )
+            Testcaselib.checkGroupEqualityByDpid( main, dpid, groupCount )
 
         return
 
@@ -728,7 +730,7 @@
 
             nodeResults = utilities.retry( main.Cluster.nodesCheck,
                                            False,
-                                           attempts=5,
+                                           attempts=10,
                                            sleep=10 )
             utilities.assert_equals( expect=True, actual=nodeResults,
                                      onpass="Nodes check successful",
