Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions tests/common/fixtures/advanced_reboot.py
Original file line number Diff line number Diff line change
Expand Up @@ -408,8 +408,8 @@ def __runPtfRunner(self, rebootOper=None):
'''
logger.info("Running PTF runner on PTF host: {0}".format(self.ptfhost))

prebootOper = rebootOper if rebootOper is not None and 'routing' in rebootOper else None
inbootOper = rebootOper if rebootOper is not None and 'routing' not in rebootOper else None
prebootOper = rebootOper if rebootOper is not None and 'routing' not in rebootOper else None
inbootOper = rebootOper if rebootOper is not None and 'routing' in rebootOper else None

self.__updateAndRestartArpResponder(rebootOper)

Expand Down
149 changes: 149 additions & 0 deletions tests/platform/test_advanced_reboot.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,152 @@ def test_warm_reboot(request, get_advanced_reboot):
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
advancedReboot.runRebootTestcase()

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_sad(request, get_advanced_reboot):
'''
Warm reboot with sad path

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
prebootList = [
'neigh_bgp_down',
'dut_bgp_down',
'dut_lag_down',
'neigh_lag_down',
'dut_lag_member_down:1:1',
'neigh_lag_member_down:1:1',
'vlan_port_down',
]

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_multi_sad(request, get_advanced_reboot):
'''
Warm reboot with multi sad path

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
lagMemberCnt = advancedReboot.getlagMemberCnt()
prebootList = [
'neigh_bgp_down:2',
'dut_bgp_down:3',
'dut_lag_down:2',
'neigh_lag_down:3',
'dut_lag_member_down:3:1',
'neigh_lag_member_down:2:1',
'vlan_port_down:4',
] + ([
'dut_lag_member_down:2:{0}'.format(lagMemberCnt),
'neigh_lag_member_down:3:{0}'.format(lagMemberCnt),
] if advancedReboot.getTestbedType() in ['t0-64', 't0-116', 't0-64-32'] else [])

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_multi_sad_inboot(request, get_advanced_reboot):
'''
Warm reboot with multi sad path (during boot)

inboot list format: 'inboot_oper:route_cnt'
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
inbootList = [
'routing_del:50',
'routing_add:50',
]

advancedReboot.runRebootTestcase(
inbootList=inbootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_sad_bgp(request, get_advanced_reboot):
'''
Warm reboot with sad (bgp)

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
prebootList = [
'neigh_bgp_down:2',
'dut_bgp_down:3',
]

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_sad_lag_member(request, get_advanced_reboot):
'''
Warm reboot with sad path (lag member)

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
lagMemberCnt = advancedReboot.getlagMemberCnt()
prebootList = [
'dut_lag_member_down:3:1',
'neigh_lag_member_down:2:1',
] + ([
'dut_lag_member_down:2:{0}'.format(lagMemberCnt),
'neigh_lag_member_down:3:{0}'.format(lagMemberCnt),
] if advancedReboot.getTestbedType() in ['t0-64', 't0-116', 't0-64-32'] else [])

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_sad_lag(request, get_advanced_reboot):
'''
Warm reboot with sad path (lag)

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
prebootList = [
'dut_lag_down:2',
'neigh_lag_down:3',
]

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)

@pytest.mark.usefixtures('get_advanced_reboot')
def test_warm_reboot_sad_vlan_port(request, get_advanced_reboot):
'''
Warm reboot with sad path (vlan port)

preboot_list format is 'preboot oper type:number of VMS down:number of lag members down'.
For non lag member cases, this parameter will be skipped
'''
advancedReboot = get_advanced_reboot(rebootType='warm-reboot')
prebootList = [
'vlan_port_down:4',
]

advancedReboot.runRebootTestcase(
prebootList=prebootList,
prebootFiles='peer_dev_info,neigh_port_info'
)