blob: 38c60a1d98010609b3212a75fcf81b2abac69308 [file] [log] [blame]
George Keishing8b082fd2017-05-03 13:42:39 -05001*** Settings ***
2Documentation Stress the system using HTX exerciser.
3
4Resource ../syslib/utils_os.robot
George Keishingffbe8ce2017-05-04 12:08:54 -05005Library ../lib/gen_robot_print.py
6
7Test Setup Pre Test Case Execution
8Test Teardown Post Test Case Execution
George Keishing8b082fd2017-05-03 13:42:39 -05009
10*** Variables ****
11
George Keishingffbe8ce2017-05-04 12:08:54 -050012${stack_mode} skip
13
George Keishing8b082fd2017-05-03 13:42:39 -050014# Default duration and interval of HTX exerciser to run.
George Keishing1a23b692017-05-06 12:19:41 -050015${HTX_DURATION} 2 hours
16${HTX_INTERVAL} 15 min
George Keishing8b082fd2017-05-03 13:42:39 -050017
George Keishingffbe8ce2017-05-04 12:08:54 -050018# Default hardbootme loop times HTX exerciser to run.
George Keishing1a23b692017-05-06 12:19:41 -050019${HTX_LOOP} 4
20
George Keishing13f44e52017-05-12 15:28:12 -050021# User-defined halt on error.
George Keishing1a23b692017-05-06 12:19:41 -050022${HTX_KEEP_RUNNING} ${0}
George Keishingffbe8ce2017-05-04 12:08:54 -050023
George Keishing13f44e52017-05-12 15:28:12 -050024# User-defined MDT profile.
25# There are a few stanzas in the HTX test exerciser that need to be removed
26# temporarily and manually built and executed.
27${HTX_MDT_PROFILE} mdt.bu
28
George Keishing8b082fd2017-05-03 13:42:39 -050029*** Test Cases ***
30
31Hard Bootme Test
32 [Documentation] Stress the system using HTX exerciser.
George Keishingffbe8ce2017-05-04 12:08:54 -050033 [Tags] Hard_Bootme_Test
George Keishing8b082fd2017-05-03 13:42:39 -050034
George Keishingffbe8ce2017-05-04 12:08:54 -050035 Rprintn
36 Rpvars HTX_DURATION HTX_INTERVAL
37
38 Repeat Keyword ${HTX_LOOP} times Start HTX Exerciser
39
40
41*** Keywords ***
42
43Start HTX Exerciser
44 [Documentation] Start HTX exerciser.
45 # Test Flow:
46 # - Power on
47 # - Establish SSH connection session
48 # - Create HTX mdt profile
49 # - Run HTX exerciser
50 # - Check HTX status for errors
51 # - Power off
52
53 Boot To OS
54
55 # Post Power off and on, the OS SSH session needs to be established.
George Keishing8b082fd2017-05-03 13:42:39 -050056 Login To OS
57
George Keishing13f44e52017-05-12 15:28:12 -050058 Run Keyword If '${HTX_MDT_PROFILE}' == 'mdt.bu'
59 ... Create Default MDT Profile
George Keishing8b082fd2017-05-03 13:42:39 -050060
George Keishing13f44e52017-05-12 15:28:12 -050061 Run MDT Profile
George Keishing8b082fd2017-05-03 13:42:39 -050062
63 Loop HTX Health Check
64
George Keishingffbe8ce2017-05-04 12:08:54 -050065 Shutdown HTX Exerciser
66
67 Power Off Host
68
69 Rprint Timen HTX Test ran for: ${HTX_DURATION}
George Keishing8b082fd2017-05-03 13:42:39 -050070
George Keishing13f44e52017-05-12 15:28:12 -050071
George Keishing8b082fd2017-05-03 13:42:39 -050072Loop HTX Health Check
George Keishingffbe8ce2017-05-04 12:08:54 -050073 [Documentation] Run until HTX exerciser fails.
74
George Keishing8b082fd2017-05-03 13:42:39 -050075 Repeat Keyword ${HTX_DURATION}
76 ... Run Keywords Check HTX Run Status
77 ... AND Sleep ${HTX_INTERVAL}
78
79
80Check HTX Run Status
81 [Documentation] Get HTX exerciser status and check for error.
82
George Keishing4ef29082017-05-13 05:01:23 -050083 Rprint Timen Collect HTX status and error log files.
84 Run Key U Collect HTX Log Files
85
George Keishingffbe8ce2017-05-04 12:08:54 -050086 Rprint Timen Check HTX mdt Status and error.
George Keishing13f44e52017-05-12 15:28:12 -050087 ${status}= Execute Command On OS
88 ... htxcmdline -status -mdt ${HTX_MDT_PROFILE}
George Keishing8b082fd2017-05-03 13:42:39 -050089 Log ${status}
George Keishingffbe8ce2017-05-04 12:08:54 -050090 Rprint Timen ${status}
George Keishing8b082fd2017-05-03 13:42:39 -050091
92 ${errlog}= Execute Command On OS htxcmdline -geterrlog
93 Log ${errlog}
George Keishingffbe8ce2017-05-04 12:08:54 -050094 Rprint Timen ${errlog}
George Keishing8b082fd2017-05-03 13:42:39 -050095
96 Should Contain ${errlog} file </tmp/htxerr> is empty
97
98
George Keishing13f44e52017-05-12 15:28:12 -050099Create Default MDT Profile
100 [Documentation] Create default mdt.bu profile and run.
101
102 Rprint Timen Create HTX mdt profile.
103
104 ${profile}= Execute Command On OS htxcmdline -createmdt
105 Rprint Timen ${profile}
106 Should Contain ${profile} mdts are created successfully
107
108
109Run MDT Profile
110 [Documentation] Load user pre-defined MDT profile.
111
112 Rprint Timen Start HTX mdt profile execution.
113 ${htx_run}= Execute Command On OS
114 ... htxcmdline -run -mdt ${HTX_MDT_PROFILE}
115 Rprint Timen ${htx_run}
116 Should Contain ${htx_run} Activated
117
118
George Keishing8b082fd2017-05-03 13:42:39 -0500119Shutdown HTX Exerciser
120 [Documentation] Shut down HTX exerciser run.
121
George Keishingffbe8ce2017-05-04 12:08:54 -0500122 Rprint Timen Shutdown HTX Run
George Keishing13f44e52017-05-12 15:28:12 -0500123 ${shutdown}= Execute Command On OS
124 ... htxcmdline -shutdown -mdt ${HTX_MDT_PROFILE}
George Keishingffbe8ce2017-05-04 12:08:54 -0500125 Rprint Timen ${shutdown}
George Keishing8b082fd2017-05-03 13:42:39 -0500126 Should Contain ${shutdown} shutdown successfully
127
George Keishingffbe8ce2017-05-04 12:08:54 -0500128
129Pre Test Case Execution
130 [Documentation] Do the initial test setup.
131 # 1. Check if HTX tool exist.
132 # 2. Power on
133
134 Boot To OS
George Keishing88366b32017-05-12 13:50:48 -0500135 Tool Exist htxcmdline
George Keishingffbe8ce2017-05-04 12:08:54 -0500136
George Keishing8740a0c2017-05-13 07:19:16 -0500137 # Shutdown if HTX is running.
138 ${status}= Run Keyword And Return Status Is HTX Running
139 Run Keyword If '${status}' == 'True'
140 ... Shutdown HTX Exerciser
141
George Keishingffbe8ce2017-05-04 12:08:54 -0500142
143Post Test Case Execution
144 [Documentation] Do the post test teardown.
145 # 1. Shut down HTX exerciser if test Failed.
146 # 2. Capture FFDC on test failure.
147 # 3. Close all open SSH connections.
148
George Keishing1a23b692017-05-06 12:19:41 -0500149 # Keep HTX running if user set HTX_KEEP_RUNNING to 1.
150 Run Keyword If '${TEST_STATUS}' == 'FAIL' and ${HTX_KEEP_RUNNING} == ${0}
George Keishingffbe8ce2017-05-04 12:08:54 -0500151 ... Shutdown HTX Exerciser
152
153 FFDC On Test Case Fail
154 Close All Connections