[ONOS-7747] Add router failure test cases to SRRouting
Change-Id: I06706c36caa181fff50c0f13c5976298e017940f
diff --git a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
index 5bd3bdd..7ec46f2 100644
--- a/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
+++ b/TestON/tests/USECASE/SegmentRouting/dependencies/Testcaselib.py
@@ -781,6 +781,40 @@
onfail="Failed to recover switch?" )
@staticmethod
+ def killRouter( main, router, sleep=None ):
+ """
+ Kill bgpd process on a quagga router
+ router: name of the router to be killed. E.g. "bgp1"
+ """
+ sleep = float( sleep )
+ main.step( "Kill " + str( router ) )
+ if hasattr( main, 'Mininet1' ):
+ main.Mininet1.handle.sendline( "px {}.stopProtocols()".format( router ) )
+ main.Mininet1.handle.expect( "mininet>" )
+ else:
+ # TODO: support killing router in physical network
+ pass
+ main.log.info( "Waiting %s seconds for router down to be discovered" % ( sleep ) )
+ time.sleep( sleep )
+
+ @staticmethod
+ def recoverRouter( main, router, sleep=None ):
+ """
+ Restart bgpd process on a quagga router
+ router: name of the router to be recovered. E.g. "bgp1"
+ """
+ sleep = float( sleep )
+ main.step( "Recovering " + str( router ) )
+ if hasattr( main, 'Mininet1' ):
+ main.Mininet1.handle.sendline( "px {}.startProtocols()".format( router ) )
+ main.Mininet1.handle.expect( "mininet>" )
+ else:
+ # TODO: support recovering router in physical network
+ pass
+ main.log.info( "Waiting %s seconds for router up to be discovered" % ( sleep ) )
+ time.sleep( sleep )
+
+ @staticmethod
def cleanup( main, copyKarafLog=True, removeHostComponent=False ):
"""
Stop Onos-cluster.