blob: 862d4587cc81ab3e893f5658acb5901674ed7941 [file] [log] [blame]
Chris Austenb29d2e82016-06-07 12:25:35 -05001*** Settings ***
2Documentation This example demonstrates executing commands on a remote machine
3... and getting their output and the return code.
4...
5... Notice how connections are handled as part of the suite setup and
6... teardown. This saves some time when executing several test cases.
7
Rahul Maheshwari06174f22017-03-06 03:17:09 -06008Resource ../lib/rest_client.robot
9Resource ../lib/ipmi_client.robot
10Resource ../lib/openbmc_ffdc.robot
George Keishinga7433222017-03-23 23:47:11 -050011Resource ../lib/state_manager.robot
Rahul Maheshwari06174f22017-03-06 03:17:09 -060012Library ../data/model.py
Sweta Potthuriaf741cb2017-07-04 09:41:17 -050013Resource ../lib/boot_utils.robot
Steven Sombaraaf72c42017-09-05 12:02:00 -050014Resource ../lib/utils.robot
Chris Austenb29d2e82016-06-07 12:25:35 -050015
Sweta Potthuri7e5dc592017-07-03 06:10:02 -050016Suite Setup Setup The Suite
Rahul Maheshwari06174f22017-03-06 03:17:09 -060017Test Setup Open Connection And Log In
18Test Teardown Post Test Case Execution
Chris Austenb29d2e82016-06-07 12:25:35 -050019
20*** Variables ***
Sweta Potthuriaf741cb2017-07-04 09:41:17 -050021
22${stack_mode} skip
23${model}= ${OPENBMC_MODEL}
Chris Austenb29d2e82016-06-07 12:25:35 -050024
25*** Test Cases ***
26Verify connection
27 Execute new Command echo "hello"
28 Response Should Be Equal "hello"
29
30Execute ipmi BT capabilities command
George Keishingcac24c72016-09-23 04:44:19 -050031 [Tags] Execute_ipmi_BT_capabilities_command
Chris Austenb29d2e82016-06-07 12:25:35 -050032 Run IPMI command 0x06 0x36
33 response Should Be Equal " 01 40 40 0a 01"
34
Sridevi Ramesh83f5c592017-01-20 04:35:13 -060035Execute Set Sensor Boot Count
36 [Tags] Execute_Set_Sensor_Boot_Count
37
Gunnar Mills1cd544d2016-12-06 11:19:22 -060038 ${uri}= Get System component BootCount
39 ${x}= Get Sensor Number ${uri}
Chris Austenb29d2e82016-06-07 12:25:35 -050040
41 Run IPMI command 0x04 0x30 ${x} 0x01 0x00 0x35 0x00 0x00 0x00 0x00 0x00 0x00
42 Read the Attribute ${uri} value
Gunnar Mills1cd544d2016-12-06 11:19:22 -060043 ${val}= convert to integer 53
Chris Austenb29d2e82016-06-07 12:25:35 -050044 Response Should Be Equal ${val}
45
Sridevi Ramesh83f5c592017-01-20 04:35:13 -060046OCC Active Sensor On Enabled
47 [Tags] OCC_Active_Sensor_On_Enabled
48
Gunnar Mills1cd544d2016-12-06 11:19:22 -060049 ${uri}= Get System component OccStatus
50 ${x}= Get Sensor Number ${uri}
Chris Austenb29d2e82016-06-07 12:25:35 -050051
52 Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 0x00
53 Read The Attribute ${uri} value
54 Response Should Be Equal Enabled
55
Sridevi Ramesh83f5c592017-01-20 04:35:13 -060056OCC Active Sensor On Disabled
57 [Tags] OCC_Active_Sensor_On_Disabled
58
Gunnar Mills1cd544d2016-12-06 11:19:22 -060059 ${uri}= Get System component OccStatus
60 ${x}= Get Sensor Number ${uri}
Chris Austenb29d2e82016-06-07 12:25:35 -050061
62 Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
63 Read The Attribute ${uri} value
64 Response Should Be Equal Disabled
65
Rahul Maheshwarieb1f6db2017-04-27 06:32:53 -050066Verify OCC Power Supply Redundancy
67 [Documentation] Check if OCC's power supply is set to not redundant.
68 [Tags] Verify_OCC_Power_Supply_Redundancy
69 ${uri}= Get System Component PowerSupplyRedundancy
70
71 Read The Attribute ${uri} value
72 Response Should Be Equal Disabled
73
74Verify OCC Power Supply Derating Value
75 [Documentation] Check if OCC's power supply derating value
76 ... is set correctly to a constant value 10.
77 [Tags] Verify_OCC_Power_Supply_Derating_Value
78
79 ${uri}= Get System Component PowerSupplyDerating
80
81 Read The Attribute ${uri} value
82 Response Should Be Equal ${10}
83
Rahul Maheshwarica368e52017-05-04 05:01:49 -050084
85Verify Enabling OCC Turbo Setting Via IPMI
86 [Documentation] Set and verify OCC's turbo allowed on enable.
87 # The allowed value for turbo allowed:
88 # True - To enable turbo allowed.
89 # False - To disable turbo allowed.
Sweta Potthuri7e5dc592017-07-03 06:10:02 -050090 [Setup] Turbo Setting Test Case Setup
Rahul Maheshwarica368e52017-05-04 05:01:49 -050091 [Tags] Verify_Enabling_OCC_Turbo_Setting_Via_IPMI
Sweta Potthuri7e5dc592017-07-03 06:10:02 -050092 [Teardown] Restore System Configuration
Rahul Maheshwarica368e52017-05-04 05:01:49 -050093
94 ${uri}= Get System Component TurboAllowed
95 ${sensor_num}= Get Sensor Number ${uri}
96
97 ${ipmi_cmd}= Catenate SEPARATOR= 0x04 0x30 ${sensor_num} 0x00${SPACE}
98 ... 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
99 Run IPMI Command ${ipmi_cmd}
100
101 Read The Attribute ${uri} value
102 Response Should Be Equal True
103
104
105Verify Disabling OCC Turbo Setting Via IPMI
106 [Documentation] Set and verify OCC's turbo allowed on disable.
107 # The allowed value for turbo allowed:
108 # True - To enable turbo allowed.
109 # False - To disable turbo allowed.
Sweta Potthuri7e5dc592017-07-03 06:10:02 -0500110 [Setup] Turbo Setting Test Case Setup
Rahul Maheshwarica368e52017-05-04 05:01:49 -0500111 [Tags] Verify_Disabling_OCC_Turbo_Setting_Via_IPMI
Sweta Potthuri7e5dc592017-07-03 06:10:02 -0500112 [Teardown] Restore System Configuration
Rahul Maheshwarica368e52017-05-04 05:01:49 -0500113
114 ${uri}= Get System Component TurboAllowed
115 ${sensor_num}= Get Sensor Number ${uri}
116
117 ${ipmi_cmd}= Catenate SEPARATOR= 0x04 0x30 ${sensor_num} 0x00${SPACE}
118 ... 0x00 0x00 0x00 0x01 0x00 0x00 0x20 0x00
119 Run IPMI Command ${ipmi_cmd}
120
121 Read The Attribute ${uri} value
122 Response Should Be Equal False
123
124
Rahul Maheshwaria3fdba42017-05-30 06:44:04 -0500125Verify Setting OCC Turbo Via REST
126 [Documentation] Verify enabling and disabling OCC's turbo allowed
127 ... via REST.
128 # The allowed value for turbo allowed:
129 # True - To enable turbo allowed.
130 # False - To disable turbo allowed.
131
Sweta Potthuri7e5dc592017-07-03 06:10:02 -0500132 [Setup] Turbo Setting Test Case Setup
Rahul Maheshwaria3fdba42017-05-30 06:44:04 -0500133 [Tags] Verify_Setting_OCC_Turbo_Via_REST
Sweta Potthuri7e5dc592017-07-03 06:10:02 -0500134 [Teardown] Restore System Configuration
Rahul Maheshwaria3fdba42017-05-30 06:44:04 -0500135
136 Set Turbo Setting Via REST False
137 ${setting}= Read Turbo Setting Via REST
138 Should Be Equal ${setting} False
139
140 Set Turbo Setting Via REST True
141 ${setting}= Read Turbo Setting Via REST
142 Should Be Equal ${setting} True
143
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500144io_board Present
Rahul Maheshwarif8119102016-10-05 01:15:56 -0500145 [Tags] io_board_Present
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600146 ${uri}= Get System component io_board
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500147 Read The Attribute ${uri} present
148 Response Should Be Equal True
149
150io_board Fault
Rahul Maheshwarif8119102016-10-05 01:15:56 -0500151 [Tags] io_board_Fault
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600152 ${uri}= Get System component io_board
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500153 Read The Attribute ${uri} fault
154 Response Should Be Equal False
Chris Austenb29d2e82016-06-07 12:25:35 -0500155
156*** Keywords ***
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500157
158Setup The Suite
Steven Sombaraaf72c42017-09-05 12:02:00 -0500159 [Documentation] Initial suite setup.
George Keishingf1426682017-07-12 23:17:17 -0500160
Sweta Potthuriaf741cb2017-07-04 09:41:17 -0500161 # Boot Host.
162 REST Power On
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500163
164 Open Connection And Log In
George Keishingab1bd922016-12-05 05:29:59 -0600165 ${resp}= Read Properties ${OPENBMC_BASE_URI}enumerate timeout=30
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500166 Set Suite Variable ${SYSTEM_INFO} ${resp}
167 log Dictionary ${resp}
168
Sweta Potthuri7e5dc592017-07-03 06:10:02 -0500169Turbo Setting Test Case Setup
170 [Documentation] Open Connection and turbo settings
171
172 Open Connection And Log In
Rahul Maheshwarica368e52017-05-04 05:01:49 -0500173 ${setting}= Read Turbo Setting Via REST
174 Set Global Variable ${TURBO_SETTING} ${setting}
175
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500176Get System component
177 [Arguments] ${type}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600178 ${list}= Get Dictionary Keys ${SYSTEM_INFO}
179 ${resp}= Get Matches ${list} regexp=^.*[0-9a-z_].${type}[0-9]*$
180 ${url}= Get From List ${resp} 0
Gunnar Millsc9ea9362016-12-13 16:21:13 -0600181 [Return] ${url}
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500182
Chris Austenb29d2e82016-06-07 12:25:35 -0500183Execute new Command
Gunnar Mills38032802016-12-12 13:43:40 -0600184 [Arguments] ${args}
Chris Austenb29d2e82016-06-07 12:25:35 -0500185 ${output}= Execute Command ${args}
186 set test variable ${OUTPUT} "${output}"
187
188response Should Be Equal
Gunnar Mills38032802016-12-12 13:43:40 -0600189 [Arguments] ${args}
Chris Austenb29d2e82016-06-07 12:25:35 -0500190 Should Be Equal ${OUTPUT} ${args}
191
192Response Should Be Empty
193 Should Be Empty ${OUTPUT}
194
Gunnar Mills56b32892016-11-14 13:56:17 -0600195Read the Attribute
Gunnar Mills38032802016-12-12 13:43:40 -0600196 [Arguments] ${uri} ${parm}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600197 ${output}= Read Attribute ${uri} ${parm}
Chris Austenb29d2e82016-06-07 12:25:35 -0500198 set test variable ${OUTPUT} ${output}
199
200Get Sensor Number
Gunnar Mills38032802016-12-12 13:43:40 -0600201 [Arguments] ${name}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600202 ${x}= get sensor ${OPENBMC_MODEL} ${name}
Gunnar Millsc9ea9362016-12-13 16:21:13 -0600203 [Return] ${x}
Chris Austenb29d2e82016-06-07 12:25:35 -0500204
205Get Inventory Sensor Number
Gunnar Mills38032802016-12-12 13:43:40 -0600206 [Arguments] ${name}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600207 ${x}= get inventory sensor ${OPENBMC_MODEL} ${name}
Gunnar Millsc9ea9362016-12-13 16:21:13 -0600208 [Return] ${x}
Rahul Maheshwari06174f22017-03-06 03:17:09 -0600209
210Post Test Case Execution
211 [Documentation] Do the post test teardown.
212 ... 1. Capture FFDC on test failure.
213 ... 2. Close all open SSH connections.
214
215 FFDC On Test Case Fail
216 Close All Connections
Rahul Maheshwarica368e52017-05-04 05:01:49 -0500217
218Restore System Configuration
219 [Documentation] Restore System Configuration.
220
221 Open Connection And Log In
222 Set Turbo Setting Via REST ${TURBO_SETTING}
223 Close All Connections