blob: da09939e3929f67f5834ae163cbbd702ce53adad [file] [log] [blame]
George Keishingc35e71c2017-05-10 12:23:37 -05001*** Settings ***
2Documentation Module to test network stability.
3... By default running HTX mdt.bu profile for stress test.
4
5Resource ../syslib/utils_os.robot
6Library ../syslib/utils_keywords.py
7
George Keishingdc1691d2017-12-07 12:17:46 -06008Test Setup Test Setup Execution
9Test Teardown Test Teardown Execution
George Keishingc35e71c2017-05-10 12:23:37 -050010
11*** Variables ****
12
13${stack_mode} skip
14
George Keishingc35e71c2017-05-10 12:23:37 -050015*** Test Cases ***
16
17Network Stability Test
18 [Documentation] Execute network stress in loop.
19 [Tags] Network_Stability_Test
20
21 # Run the network stress test HTX_LOOP times in loop.
22 Repeat Keyword ${HTX_LOOP} times Execute Network Test
23
24
25*** Keywords ***
26
27Execute Network Test
28 [Documentation] Execute network stress test.
29 # Test Flow:
30 # - Power on
31 # - Establish SSH connection session
32 # - Create HTX mdt profile
33 # - Run HTX exerciser
34 # - Inject network activity on BMC
35 # - Check HTX status for errors
36 # - Shutdown HTX if no error when timer expires
37
Steven Sombar0278b132018-01-09 14:41:32 -060038 REST Power On stack_mode=skip
George Keishingc35e71c2017-05-10 12:23:37 -050039
40 # Post Power off and on, the OS SSH session needs to be established.
41 Login To OS
42
George Keishingbbfec9e2017-05-17 10:47:21 -050043 Run Keyword If '${HTX_MDT_PROFILE}' == 'mdt.bu'
44 ... Create Default MDT Profile
George Keishingc35e71c2017-05-10 12:23:37 -050045
George Keishingbbfec9e2017-05-17 10:47:21 -050046 Run MDT Profile
George Keishingc35e71c2017-05-10 12:23:37 -050047
48 # HTX is running, inject network traffic and check every HTX_INTERVAL
49 ${status}= Run Until Keyword Fails ${HTX_DURATION} ${HTX_INTERVAL}
50 ... Start Network Test
51
George Keishingd62e6c12017-05-29 01:49:53 -050052 Run Keyword If '${status}' == 'False'
George Keishingc35e71c2017-05-10 12:23:37 -050053 ... Fail Network is unstable. Please check for errors.
54
55 Shutdown HTX Exerciser
56
57 Rprint Timen HTX Test ran for: ${HTX_DURATION}
58
59
60Start Network Test
61 [Documentation] Start network stress test.
62 BMC Network Payload
63 Check HTX Run Status
64
65
66BMC Network Payload
67 [Documentation] Start creating network activity over BMC network.
68
69 # REST GET enumerate call.
Steven Sombarf39541e2017-10-25 09:50:35 -050070 OpenBMC Get Request
71 ... /xyz/openbmc_project/inventory/enumerate timeout=${20} quiet=${1}
George Keishingc35e71c2017-05-10 12:23:37 -050072
73 # Upload 32 MB data via REST to BMC.
74 REST Upload File To BMC
75
76
Steven Sombar0278b132018-01-09 14:41:32 -060077Test Setup Execution
78 [Documentation] Do the initial test setup.
79
80 REST Power On stack_mode=skip
81 Delete All Error Logs
82 Tool Exist htxcmdline
83
84 # Shutdown if HTX is running.
85 ${status}= Run Keyword And Return Status Is HTX Running
86 Run Keyword If '${status}' == 'True'
87 ... Shutdown HTX Exerciser
88
89
George Keishingdc1691d2017-12-07 12:17:46 -060090Test Teardown Execution
George Keishingc35e71c2017-05-10 12:23:37 -050091 [Documentation] Do the post test teardown.
92 # 1. Shut down HTX exerciser if test Failed.
93 # 2. Capture FFDC on test failure.
94 # 3. Close all open SSH connections.
95
George Keishingbbfec9e2017-05-17 10:47:21 -050096 # Keep HTX running if user set HTX_KEEP_RUNNING to 1.
97 Run Keyword If '${TEST_STATUS}' == 'FAIL' and ${HTX_KEEP_RUNNING} == ${0}
George Keishingc35e71c2017-05-10 12:23:37 -050098 ... Shutdown HTX Exerciser
99
100 FFDC On Test Case Fail
101 Close All Connections