blob: 33d9a4af290e5283593a1cf209f5c98e939380c5 [file] [log] [blame]
Marissa Garza270a4112019-10-08 11:36:58 -05001*** Settings ***
2Documentation Check the indicator LEDs on the system can set the assert
3... property to the correct state.
4
5Resource ../../lib/rest_client.robot
6Resource ../../lib/bmc_redfish_resource.robot
7Resource ../../lib/bmc_redfish_utils.robot
8Resource ../../lib/openbmc_ffdc.robot
9Resource ../../lib/resource.robot
10Resource ../../lib/boot_utils.robot
11Library ../../lib/gen_robot_valid.py
12Library ../../lib/gen_robot_keyword.py
13
14Suite Setup Suite Setup Execution
15Suite Teardown Suite Teardown Execution
16Test Setup Printn
17Test Teardown Test Teardown Execution
18
19
20*** Test Cases ***
21
22Verify LED Lamp Test Asserted At Standby
23 [Documentation] Verify the LED asserted at standby is set to off or blinking.
24 [Tags] Verify_LED_Lamp_Test_Asserted_At_Standby
25 [Template] Set and Verify Lamp LED Indicator
26
27 # pre_req_state asserted expected_indicator_led
28 Off 1 Blinking
29 Off 0 Off
30
31
32Verify LED Lamp Test Asserted At Runtime
33 [Documentation] Verify the LED asserted at runtime is set to off or blinking.
34 [Tags] Verify_LED_Lamp_Test_Asserted_At_Runtime
35 [Template] Set and Verify Lamp LED Indicator
36
37 # pre_req_state asserted expected_indicator_led
38 On 1 Blinking
39 On 0 Off
40
41
42Verify LED Power Supply Units Asserted At Standby
43 [Documentation] Verify the power supply units are asserted at standby to lit or off.
44 [Tags] Verify_LED_Power_Supply_Units_Asserted_At_Standby
45 [Template] Set and Verify LED Indicator
46
47 # pre_req_state asserted expected_indicator_led
48 Off "xyz.openbmc_project.Led.Physical.Action.On" Lit
49 Off "xyz.openbmc_project.Led.Physical.Action.Off" Off
50
51
52Verify LED Power Supply Units Asserted At Runtime
53 [Documentation] Verify the power supply units are asserted at runtime to lit or off.
54 [Tags] Verify_LED_Power_Supply_Units_Asserted_At_Runtime
55 [Template] Set and Verify LED Indicator
56
57 # pre_req_state asserted expected_indicator_led
58 On "xyz.openbmc_project.Led.Physical.Action.On" Lit
59 On "xyz.openbmc_project.Led.Physical.Action.Off" Off
60
61
Marissa Garza3fc34052019-10-28 14:13:13 -050062Verify LED Fans Asserted At Standby
63 [Documentation] Verify the fans are asserted at standby to lit or off.
64 [Tags] Verify_LED_Fans_Asserted_At_Standby
65 [Template] Set and Verify Fan LED Indicators
66
67 # pre_req_state asserted expected_indicator_led
68 Off "xyz.openbmc_project.Led.Physical.Action.On" Lit
69 Off "xyz.openbmc_project.Led.Physical.Action.Off" Off
70
71
72Verify LED Fans Asserted At Runtime
73 [Documentation] Verify the fans are asserted at runtime to lit or off.
74 [Tags] Verify_LED_Fans_Asserted_At_Runtime
75 [Template] Set and Verify Fan LED Indicators
76
77 # pre_req_state asserted expected_indicator_led
78 On "xyz.openbmc_project.Led.Physical.Action.On" Lit
79 On "xyz.openbmc_project.Led.Physical.Action.Off" Off
80
81
Marissa Garza270a4112019-10-08 11:36:58 -050082*** Keywords ***
83
84Set and Verify Lamp LED Indicator
85 [Documentation] Verify the indicator LED for the group lamp test is asserted.
86 [Arguments] ${pre_req_state} ${asserted} ${expected_indicator_led}
87
88 # Description of Arguments(s):
89 # pre_req_state The pre-requisite state of the host to perform the test (e.g. "On")
90 # asserted The assert property that sets the value to 0 - Off or 1 - Blinking (e.g. "1")
91 # expected_indicator_led The expected value of the IndicatorLED attribute for all the
92 # LEDs after the lamp test is initiated (e.g. "Blinking")
93
94 Run Key U Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
95 Redfish.Login
96
97 Redfish.Put ${LED_LAMP_TEST_ASSERTED_URI}attr/Asserted body={"data":${asserted}}
98
99 # Example result:
100 # power_supplies:
101 # [0]:
102 # [MemberId]: powersupply0
103 # [PartNumber]: 02CL396
104 # [IndicatorLED]: Blinking
105 # [EfficiencyPercent]: 90
106 # [Status]:
107 # [Health]: OK
108 # [State]: Enabled
109
110 Verify Indicator LEDs ${expected_indicator_led}
111
112
113Set and Verify LED Indicator
114 [Documentation] Verify the indicator LED for the power supply units are asserted.
115 [Arguments] ${pre_req_state} ${asserted} ${expected_indicator_led}
116
117 # Description of Arguments(s):
118 # pre_req_state The pre-requisite state of the host to perform the test (e.g. "On")
119 # asserted The assert property that sets the value (e.g. "xyz.openbmc_project.Led.Physical.Action.On")
120 # expected_indicator_led The expected value of the IndicatorLED attribute for all the
121 # power supplies units are initiated (e.g. "Lit")
122
123 Run Key U Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
124 Redfish.Login
125
126 # Put both power supply LEDs On/Off to check all units are asserted
127 Redfish.Put ${LED_PHYSICAL_PS0_URI}attr/State body={"data":${asserted}}
128 Redfish.Put ${LED_PHYSICAL_PS1_URI}attr/State body={"data":${asserted}}
129
130 # Example output:
131 # power_supplies:
132 # [0]:
133 # [MemberId]: powersupply0
134 # [IndicatorLED]: Lit
135 # [Status]:
136 # [Health]: OK
137 # [State]: Enabled
138 # [1]:
139 # [MemberId]: powersupply1
140 # [IndicatorLED]: Lit
141 # [Status]:
142 # [Health]: OK
143 # [State]: Enabled
144
145 Verify Indicator LEDs ${expected_indicator_led}
146
147
148Verify Indicator LEDs
149 [Documentation] Verify the LEDs on the power supply units are set according to caller's expectation.
150 [Arguments] ${expected_indicator_led}
151
152 # Description of Arguments(s):
153 # expected_indicator_led The expected value of the IndicatorLED attribute for all the
154 # LEDs after the lamp test is initiated (e.g. "Blinking")
155
156 ${power_supplies}= Redfish.Get Attribute ${REDFISH_CHASSIS_POWER_URI} PowerSupplies
157 Rprint Vars power_supplies
158 FOR ${power_supply_leds} IN @{power_supplies}
159 Valid Value power_supply_leds['IndicatorLED'] [${expected_indicator_led}]
160 END
161
162
Marissa Garza3fc34052019-10-28 14:13:13 -0500163Set and Verify Fan LED Indicators
164 [Documentation] Verify the indicator LED for the fans are asserted.
165 [Arguments] ${pre_req_state} ${asserted} ${expected_indicator_led}
166
167 # Description of Arguments(s):
168 # pre_req_state The pre-requisite state of the host to perform the test (e.g. "On")
169 # asserted The assert property that sets the value (e.g. "xyz.openbmc_project.Led.Physical.Action.On")
170 # expected_indicator_led The expected value of the IndicatorLED attribute for all the fans are initiated (e.g. "Lit")
171
172 Run Key U Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
173 Redfish.Login
174
175 # Put all the fan LEDs On/Off to check all are asserted
176 Redfish.Put ${LED_PHYSICAL_FAN0_URI}attr/State body={"data":${asserted}}
177 Redfish.Put ${LED_PHYSICAL_FAN2_URI}attr/State body={"data":${asserted}}
178 Redfish.Put ${LED_PHYSICAL_FAN3_URI}attr/State body={"data":${asserted}}
179
180 # Example output:
181 # fans:
182 # [0]:
183 # [@odata.id]: /redfish/v1/Chassis/chassis/Thermal#/Fans/0
184 # [@odata.type]: #Thermal.v1_3_0.Fan
185 # [IndicatorLED]: Lit
186 # [MemberId]: fan0_0
187 # [Name]: fan0 0
188 # [Status]:
189 # [Health]: OK
190 # [State]: Enabled
191
192 ${fans}= Redfish.Get Attribute ${REDFISH_CHASSIS_THERMAL_URI} Fans
193 Rprint Vars fans
194 FOR ${fan_leds} IN @{fans}
195 Valid Value fan_leds['IndicatorLED'] [${expected_indicator_led}]
196 END
197
198
Marissa Garza270a4112019-10-08 11:36:58 -0500199Suite Teardown Execution
200 [Documentation] Do the post suite teardown.
201
202 Redfish.Logout
203
204
205Suite Setup Execution
206 [Documentation] Do test case setup tasks.
207
208 Printn
209 Redfish.Login
210
211
212Test Teardown Execution
213 [Documentation] Do the post test teardown.
214
215 FFDC On Test Case Fail