blob: 63a5280f04c3129675bdfd91108f030f6af186ac [file] [log] [blame]
class SRStaging:
def __init__( self ):
self.default = ''
def CASE1( self, main ):
main.case("Testing connections")
main.persistentSetup = True
def CASE2( self, main ):
"""
Connect to Pod
Perform rolling ONOS failure/recovery test
Collect logs and analyze results
"""
pass
def CASE3( self, main ):
"""
Connect to Pod
Perform ONL reboot failure/recovery test
Collect logs and analyze results
"""
pass
def CASE4( self, main ):
"""
Connect to Pod
Perform Stratum agent failure/recovery test
Collect logs and analyze results
"""
pass
def CASE5( self, main ):
"""
Connect to Pod
Perform Switch Power Cycle failure/recovery test
Collect logs and analyze results
"""
pass
def CASE6( self, main ):
"""
Connect to Pod
Perform eNB Leaf-Spine Link, portstate failure/recovery test
Collect logs and analyze results
"""
try:
from tests.USECASE.SegmentRouting.SRStaging.dependencies.SRStagingTest import SRStagingTest
import json
except ImportError:
main.log.error( "SRStagingTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRStagingTest()
descPrefix = "eNB_Leaf_Spine_Portstate"
main.funcs.setupTest( main,
topology='2x2staging',
onosNodes=3,
description="%s tests on the staging pod" % descPrefix )
srcComponentNames = main.params[ 'PERF' ][ 'traffic_host' ].split()
srcComponentList = []
for name in srcComponentNames:
srcComponentList.append( getattr( main, name ) )
dstComponent = getattr( main, main.params[ 'PERF' ][ 'pcap_host' ] )
main.downtimeResults = {}
# TODO: MOVE TO CONFIG FILE
device = "device:leaf1"
portsList = [ 176, 180, 184, 188 ]
port1 = None
port2 = None
port3 = None
port4 = None
## First Link Down
shortDesc = descPrefix + "-Failure1"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port1 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Second Link Down
shortDesc = descPrefix + "-Failure2"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port2 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## First Link Up
shortDesc = descPrefix + "-Recovery1"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port1 )
main.funcs.linkUp( device, port1, srcComponentList, dstComponent, shortDesc, longDesc )
## Second Link Up
shortDesc = descPrefix + "-Recovery2"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port2 )
main.funcs.linkUp( device, port2, srcComponentList, dstComponent, shortDesc, longDesc )
## Third Link Down
shortDesc = descPrefix + "-Failure3"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port3 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Forth Link Down
shortDesc = descPrefix + "-Failure4"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port4 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Third Link Up
shortDesc = descPrefix + "-Recovery3"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port3 )
main.funcs.linkUp( device, port3, srcComponentList, dstComponent, shortDesc, longDesc )
## Forth Link Up
shortDesc = descPrefix + "-Recovery4"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port4 )
main.funcs.linkUp( device, port4, srcComponentList, dstComponent, shortDesc, longDesc )
main.log.warn( json.dumps( main.downtimeResults, indent=4, sort_keys=True ) )
main.funcs.cleanup( main )
def CASE7( self, main ):
"""
Connect to Pod
Perform Upstream Leaf-Spine Link, portstate failure/recovery test
Collect logs and analyze results
"""
try:
from tests.USECASE.SegmentRouting.SRStaging.dependencies.SRStagingTest import SRStagingTest
import json
except ImportError:
main.log.error( "SRStagingTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRStagingTest()
descPrefix = "Upstream_Leaf_Spine_Portstate"
main.funcs.setupTest( main,
topology='2x2staging',
onosNodes=3,
description="%s tests on the staging pod" % descPrefix )
srcComponentNames = main.params[ 'PERF' ][ 'traffic_host' ].split()
srcComponentList = []
for name in srcComponentNames:
srcComponentList.append( getattr( main, name ) )
dstComponent = getattr( main, main.params[ 'PERF' ][ 'pcap_host' ] )
main.downtimeResults = {}
# TODO: MOVE TO CONFIG FILE
device = "device:leaf2"
portsList = [260, 268, 276, 284 ]
port1 = None
port2 = None
port3 = None
port4 = None
## First Link Down
shortDesc = descPrefix + "-Failure1"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port1 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Second Link Down
shortDesc = descPrefix + "-Failure2"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port2 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## First Link Up
shortDesc = descPrefix + "-Recovery1"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port1 )
main.funcs.linkUp( device, port1, srcComponentList, dstComponent, shortDesc, longDesc )
## Second Link Up
shortDesc = descPrefix + "-Recovery2"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port2 )
main.funcs.linkUp( device, port2, srcComponentList, dstComponent, shortDesc, longDesc )
## Third Link Down
shortDesc = descPrefix + "-Failure3"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port3 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Forth Link Down
shortDesc = descPrefix + "-Failure4"
longDesc = "%s Failure: Bring down port with most traffic on %s" % ( descPrefix, device )
port4 = main.funcs.linkDown( device, portsList, srcComponentList, dstComponent, shortDesc, longDesc )
## Third Link Up
shortDesc = descPrefix + "-Recovery3"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port3 )
main.funcs.linkUp( device, port3, srcComponentList, dstComponent, shortDesc, longDesc )
## Forth Link Up
shortDesc = descPrefix + "-Recovery4"
longDesc = "%s Recovery: Bring up %s/%s" % ( descPrefix, device, port4 )
main.funcs.linkUp( device, port4, srcComponentList, dstComponent, shortDesc, longDesc )
main.log.warn( json.dumps( main.downtimeResults, indent=4, sort_keys=True ) )
main.funcs.cleanup( main )