blob: b2a7139d1755c254d6af324873fc53e565ba7a47 [file] [log] [blame]
class SRMulticast:
def __init__( self ):
self.default = ''
def CASE1( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Create a Multicast flow between a source and sink on the same dual-tor leaf
Verify flows and groups
Verify traffic
Remove sink
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=1,
onosNodes=3,
description="Create a Multicast flow between a source and sink on the same dual-tor leaf" )
def CASE2( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Create a Multicast flow between a source and sink on different dual-tor leaves
Verify flows and groups
Verify traffic
Remove sink
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=2,
onosNodes=3,
description="Create a Multicast flow between a source and sink on different dual-tor leaves" )
def CASE3( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Create a Multicast flow between a source and sink on different leaves (sink on single-tor)
Verify flows and groups
Verify traffic
Remove sink
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=3,
onosNodes=3,
description="Create a Multicast flow between a source and sink on different leaves (sink on single-tor)" )
def CASE4( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE1 and CASE2
Verify flows and groups
Verify traffic
Remove sinks
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=4,
onosNodes=3,
description="Combines CASE1 and CASE2" )
def CASE5( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE2 and CASE3
Verify flows and groups
Verify traffic
Remove sinks
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=5,
onosNodes=3,
description="Combines CASE2 and CASE3" )
def CASE6( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE1 and CASE3
Verify flows and groups
Verify traffic
Remove sinks
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=5,
onosNodes=3,
description="Combines CASE1 and CASE3" )
def CASE7( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE1, CASE2 and CASE3
Verify flows and groups
Verify traffic
Remove sinks
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=7,
onosNodes=3,
description="Combines CASE7 with route removal" )
def CASE8( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with route removal
Verify flows and groups
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=8,
onosNodes=3,
description="Combines CASE7 with route removal",
removeRoute=True )
def CASE101( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with a link failure (link ingress-spine)
Verify flows and groups
Verify traffic
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=101,
onosNodes=3,
description="Combines CASE7 with a link failure (link ingress-spine)",
linkFailure=True )
def CASE102( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with a link failure (link spine-egress-dt-leaf)
Verify flows and groups
Verify traffic
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=102,
onosNodes=3,
description="Combines CASE7 with a link failure (link spine-engress-dt-leaf)",
linkFailure=True )
def CASE103( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with a link failure (link spine-egress-st-leaf)
Verify flows and groups
Verify traffic
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=103,
onosNodes=3,
description="Combines CASE7 with a link failure (link spine-engress-st-leaf)",
linkFailure=True )
def CASE201( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with spine failure
Verify flows and groups
Verify traffic
"""
try:
from tests.USECASE.SegmentRouting.SRMulticast.dependencies.SRMulticastTest import SRMulticastTest
except ImportError:
main.log.error( "SRMulticastTest not found. Exiting the test" )
main.cleanAndExit()
try:
main.funcs
except ( NameError, AttributeError ):
main.funcs = SRMulticastTest()
main.funcs.runTest( main,
test_idx=201,
onosNodes=3,
description="Combines CASE7 with spine failure",
switchFailure=True )
def CASE202( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with ingress failure and recovery
Verify flows and groups are removed (failure)
Verify flows and groups (recovery)
Verify traffic (recovery)
"""
pass
def CASE203( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with egress-dt-leaf failure and recovery
Verify flows and groups are removed for the failing sink (failure)
Verify traffic on remaining sinks (failure)
Verify flows and groups (recovery)
Verify traffic (recovery)
"""
pass
def CASE204( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with egress-st-leaf failure and recovery
Verify flows and groups are removed for the failing sink (failure)
Verify traffic on remaining sinks (failure)
Verify flows and groups (recovery)
Verify traffic (recovery)
"""
pass
def CASE205( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with egress leaves failure and recovery
Verify flows and groups are removed for the failing sinks (failure)
Verify traffic on remaining sink (failure)
Verify flows and groups (recovery)
Verify traffic (recovery)
"""
pass
def CASE301( self, main ):
"""
Sets up 3 ONOS instances, start H-AGG topology
Combines CASE7 with ONOS failure and recovery
Verify flows and groups (failure)
Verify traffic (failure)
Verify flows and groups (recovery)
Verify traffic (recovery)
"""
pass