Merge "[SDFAB-644] QoS test for with non-mobile traffic classification"
diff --git a/TestON/core/teston.py b/TestON/core/teston.py
index 5653ffe..c27388c 100644
--- a/TestON/core/teston.py
+++ b/TestON/core/teston.py
@@ -74,6 +74,7 @@
__builtin__.main = self
__builtin__.path = path
__builtin__.utilities = Utilities()
+ __builtin__.SkipCase = SkipCase
self.TRUE = 1
self.FALSE = 0
self.ERROR = -1
diff --git a/TestON/tests/USECASE/SegmentRouting/INT/INT.topo b/TestON/tests/USECASE/SegmentRouting/INT/INT.topo
index e54c546..1579fa1 100644
--- a/TestON/tests/USECASE/SegmentRouting/INT/INT.topo
+++ b/TestON/tests/USECASE/SegmentRouting/INT/INT.topo
@@ -26,7 +26,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute1>
@@ -54,7 +55,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute2>
@@ -82,7 +84,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute3>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
index 5aa179c..de46ab4 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/SRBridging.topo.0x2.tucson
@@ -136,7 +136,7 @@
<network>10.32.11.254</network>
<netmask>26</netmask>
<gw>10.32.11.254</gw>
- <interface>26</interface>
+ <interface>eno2</interface>
</route1>
</routes>
<sudo_required>true</sudo_required>
diff --git a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
index ee04e89..195e156 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/SRBridgingTest.py
@@ -21,6 +21,7 @@
from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as run
import tests.USECASE.SegmentRouting.dependencies.cfgtranslator as translator
+import json
class SRBridgingTest ():
@@ -38,6 +39,7 @@
try:
skipPackage = False
init = False
+ originalJSON = None
if not hasattr( main, 'apps' ):
init = True
run.initTest( main )
@@ -93,6 +95,7 @@
# Run the test with physical devices
run.connectToPhysicalNetwork( main, hostDiscovery=False ) # We don't want to do host discovery in the pod
if main.cfgName:
+ originalJSON = main.Cluster.active( 0 ).REST.getNetCfg()
returnValue = run.loadNewJson( main, suffix=suf )
utilities.assert_equals( expect=main.TRUE,
actual=returnValue,
@@ -113,6 +116,8 @@
run.populateHostsVlan( main, main.Network.hosts.keys() )
run.verifyTopology( main, switches, links, onosNodes )
run.pingAll( main )
+ if originalJSON:
+ run.netCfgTransition( main, json.loads(originalJSON) )
except Exception as e:
main.log.exception( "Error in runTest" )
main.skipCase( result="FAIL", msg=e )
diff --git a/TestON/tests/USECASE/SegmentRouting/SRStaging/SRpairedLeaves/SRpairedLeaves.topo b/TestON/tests/USECASE/SegmentRouting/SRStaging/SRpairedLeaves/SRpairedLeaves.topo
index 40bf030..07c69b4 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRStaging/SRpairedLeaves/SRpairedLeaves.topo
+++ b/TestON/tests/USECASE/SegmentRouting/SRStaging/SRpairedLeaves/SRpairedLeaves.topo
@@ -86,7 +86,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute1>
@@ -114,7 +115,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute2>
@@ -142,7 +144,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</Compute3>
@@ -169,7 +172,8 @@
<interface></interface>
</route1>
</routes>
- <sudo_required>false</sudo_required>
+ <sudo_required>true</sudo_required>
+ <scapy_path>/usr/bin/scapy</scapy_path>
</COMPONENTS>
</ManagmentServer>
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
index 93af0ee..3aba8fc 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
@@ -216,24 +216,28 @@
@staticmethod
def loadNewJson( main, suffix='' ):
- returnValue = main.TRUE
with open( "%s%s.json%s" % ( main.configPath + main.forJson,
main.cfgName, suffix ) ) as cfg:
desiredJSON = json.load ( cfg )
- for device in desiredJSON ["ports"].keys():
- deviceCfg = desiredJSON[ "ports" ][ device ]
- currentJSON = main.Cluster.active( 0 ).REST.getNetCfg( subjectClass = "ports", subjectKey = device )
+ return Testcaselib.netCfgTransition( main, desiredJSON )
- currentJSON = json.loads( currentJSON )
- if currentJSON['interfaces'][0]['ips'] != deviceCfg['interfaces'][0]['ips']:
- currentJSON['interfaces'][0]['ips'] = deviceCfg['interfaces'][0]['ips']
- data = { 'interfaces': currentJSON['interfaces'] }
- A = main.Cluster.active( 0 ).REST.setNetCfg( data , subjectClass = "ports", subjectKey = device )
- returnValue = returnValue and A
- currentJSON['interfaces'] = deviceCfg['interfaces']
+ @staticmethod
+ def netCfgTransition( main, desiredJSON ):
+ returnValue = main.TRUE
+ for device in desiredJSON ["ports"].keys():
+ deviceCfg = desiredJSON[ "ports" ][ device ]
+ currentJSON = main.Cluster.active( 0 ).REST.getNetCfg( subjectClass = "ports", subjectKey = device )
+
+ currentJSON = json.loads( currentJSON )
+ if currentJSON['interfaces'][0]['ips'] != deviceCfg['interfaces'][0]['ips']:
+ currentJSON['interfaces'][0]['ips'] = deviceCfg['interfaces'][0]['ips']
data = { 'interfaces': currentJSON['interfaces'] }
- B = main.Cluster.active( 0 ).REST.setNetCfg( data , subjectClass = "ports", subjectKey = device )
- returnValue = returnValue and B
+ A = main.Cluster.active( 0 ).REST.setNetCfg( data , subjectClass = "ports", subjectKey = device )
+ returnValue = returnValue and A
+ currentJSON['interfaces'] = deviceCfg['interfaces']
+ data = { 'interfaces': currentJSON['interfaces'] }
+ B = main.Cluster.active( 0 ).REST.setNetCfg( data , subjectClass = "ports", subjectKey = device )
+ returnValue = returnValue and B
return returnValue
@staticmethod