xref: /openbmc/openbmc-test-automation/redfish/systems/test_led_indicator_asserted.robot (revision c32434a3acd8f72de9cbcdd20c90669e8d507609)
1270a4118SMarissa Garza*** Settings ***
2270a4118SMarissa GarzaDocumentation       Check the indicator LEDs on the system can set the assert
3270a4118SMarissa Garza...                 property to the correct state.
4270a4118SMarissa Garza
5270a4118SMarissa GarzaResource            ../../lib/rest_client.robot
6270a4118SMarissa GarzaResource            ../../lib/bmc_redfish_resource.robot
7270a4118SMarissa GarzaResource            ../../lib/bmc_redfish_utils.robot
8270a4118SMarissa GarzaResource            ../../lib/openbmc_ffdc.robot
9270a4118SMarissa GarzaResource            ../../lib/resource.robot
10270a4118SMarissa GarzaResource            ../../lib/boot_utils.robot
11270a4118SMarissa GarzaLibrary             ../../lib/gen_robot_valid.py
12270a4118SMarissa GarzaLibrary             ../../lib/gen_robot_keyword.py
13270a4118SMarissa Garza
14270a4118SMarissa GarzaSuite Setup         Suite Setup Execution
15270a4118SMarissa GarzaSuite Teardown      Suite Teardown Execution
16270a4118SMarissa GarzaTest Setup          Printn
17270a4118SMarissa GarzaTest Teardown       Test Teardown Execution
18270a4118SMarissa Garza
19270a4118SMarissa Garza
20270a4118SMarissa Garza*** Test Cases ***
21270a4118SMarissa Garza
22270a4118SMarissa GarzaVerify LED Lamp Test Asserted At Standby
23270a4118SMarissa Garza    [Documentation]  Verify the LED asserted at standby is set to off or blinking.
24270a4118SMarissa Garza    [Tags]  Verify_LED_Lamp_Test_Asserted_At_Standby
25270a4118SMarissa Garza    [Template]  Set and Verify Lamp LED Indicator
26270a4118SMarissa Garza
27270a4118SMarissa Garza    # pre_req_state     asserted     expected_indicator_led
28270a4118SMarissa Garza    Off                 1            Blinking
29270a4118SMarissa Garza    Off                 0            Off
30270a4118SMarissa Garza
31270a4118SMarissa Garza
32270a4118SMarissa GarzaVerify LED Lamp Test Asserted At Runtime
33270a4118SMarissa Garza    [Documentation]  Verify the LED asserted at runtime is set to off or blinking.
34270a4118SMarissa Garza    [Tags]  Verify_LED_Lamp_Test_Asserted_At_Runtime
35270a4118SMarissa Garza    [Template]  Set and Verify Lamp LED Indicator
36270a4118SMarissa Garza
37270a4118SMarissa Garza    # pre_req_state     asserted     expected_indicator_led
38270a4118SMarissa Garza    On                  1            Blinking
39270a4118SMarissa Garza    On                  0            Off
40270a4118SMarissa Garza
41270a4118SMarissa Garza
42270a4118SMarissa GarzaVerify LED Power Supply Units Asserted At Standby
43270a4118SMarissa Garza    [Documentation]  Verify the power supply units are asserted at standby to lit or off.
44270a4118SMarissa Garza    [Tags]  Verify_LED_Power_Supply_Units_Asserted_At_Standby
45270a4118SMarissa Garza    [Template]  Set and Verify LED Indicator
46270a4118SMarissa Garza
47270a4118SMarissa Garza    # pre_req_state     asserted                                        expected_indicator_led
48270a4118SMarissa Garza    Off                 "xyz.openbmc_project.Led.Physical.Action.On"    Lit
49270a4118SMarissa Garza    Off                 "xyz.openbmc_project.Led.Physical.Action.Off"   Off
50270a4118SMarissa Garza
51270a4118SMarissa Garza
52270a4118SMarissa GarzaVerify LED Power Supply Units Asserted At Runtime
53270a4118SMarissa Garza    [Documentation]  Verify the power supply units are asserted at runtime to lit or off.
54270a4118SMarissa Garza    [Tags]  Verify_LED_Power_Supply_Units_Asserted_At_Runtime
55270a4118SMarissa Garza    [Template]  Set and Verify LED Indicator
56270a4118SMarissa Garza
57270a4118SMarissa Garza    # pre_req_state     asserted                                        expected_indicator_led
58270a4118SMarissa Garza    On                  "xyz.openbmc_project.Led.Physical.Action.On"    Lit
59270a4118SMarissa Garza    On                  "xyz.openbmc_project.Led.Physical.Action.Off"   Off
60270a4118SMarissa Garza
61270a4118SMarissa Garza
623fc34054SMarissa GarzaVerify LED Fans Asserted At Standby
633fc34054SMarissa Garza    [Documentation]  Verify the fans are asserted at standby to lit or off.
643fc34054SMarissa Garza    [Tags]  Verify_LED_Fans_Asserted_At_Standby
653fc34054SMarissa Garza    [Template]  Set and Verify Fan LED Indicators
663fc34054SMarissa Garza
673fc34054SMarissa Garza    # pre_req_state     asserted                                        expected_indicator_led
683fc34054SMarissa Garza    Off                 "xyz.openbmc_project.Led.Physical.Action.On"    Lit
693fc34054SMarissa Garza    Off                 "xyz.openbmc_project.Led.Physical.Action.Off"   Off
703fc34054SMarissa Garza
713fc34054SMarissa Garza
723fc34054SMarissa GarzaVerify LED Fans Asserted At Runtime
733fc34054SMarissa Garza    [Documentation]  Verify the fans are asserted at runtime to lit or off.
743fc34054SMarissa Garza    [Tags]  Verify_LED_Fans_Asserted_At_Runtime
753fc34054SMarissa Garza    [Template]  Set and Verify Fan LED Indicators
763fc34054SMarissa Garza
773fc34054SMarissa Garza    # pre_req_state     asserted                                        expected_indicator_led
783fc34054SMarissa Garza    On                  "xyz.openbmc_project.Led.Physical.Action.On"    Lit
793fc34054SMarissa Garza    On                  "xyz.openbmc_project.Led.Physical.Action.Off"   Off
803fc34054SMarissa Garza
813fc34054SMarissa Garza
822643e59aSAlagiridhilipankVerify Location Indicator Active status
832643e59aSAlagiridhilipank    [Documentation]  Verify the Location Indicator Active status to true or false.
842643e59aSAlagiridhilipank    [Tags]  Verify_Location_Indicator_Active_status
852643e59aSAlagiridhilipank    [setup]     Set Suite LED Indicator Initial Value
86c63bfe64SGeorge Keishing    [Teardown]  Set Initial Value  ${value}
872643e59aSAlagiridhilipank
882643e59aSAlagiridhilipank
892643e59aSAlagiridhilipank   Set And Verify LED Location Indicator Active  ${set_value}
902643e59aSAlagiridhilipank
912643e59aSAlagiridhilipank
92270a4118SMarissa Garza*** Keywords ***
93270a4118SMarissa Garza
94270a4118SMarissa GarzaSet and Verify Lamp LED Indicator
95270a4118SMarissa Garza    [Documentation]  Verify the indicator LED for the group lamp test is asserted.
96270a4118SMarissa Garza    [Arguments]  ${pre_req_state}  ${asserted}  ${expected_indicator_led}
97270a4118SMarissa Garza
98270a4118SMarissa Garza    # Description of Arguments(s):
99270a4118SMarissa Garza    # pre_req_state           The pre-requisite state of the host to perform the test (e.g. "On")
100270a4118SMarissa Garza    # asserted                The assert property that sets the value to 0 - Off or 1 - Blinking (e.g. "1")
101270a4118SMarissa Garza    # expected_indicator_led  The expected value of the IndicatorLED attribute for all the
102270a4118SMarissa Garza    #                         LEDs after the lamp test is initiated (e.g. "Blinking")
103270a4118SMarissa Garza
104270a4118SMarissa Garza    Run Key U  Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
105270a4118SMarissa Garza    Redfish.Login
106270a4118SMarissa Garza
107270a4118SMarissa Garza    Redfish.Put  ${LED_LAMP_TEST_ASSERTED_URI}attr/Asserted  body={"data":${asserted}}
108270a4118SMarissa Garza
109270a4118SMarissa Garza    # Example result:
110270a4118SMarissa Garza    # power_supplies:
111270a4118SMarissa Garza    #   [0]:
112270a4118SMarissa Garza    #     [MemberId]:                                   powersupply0
113270a4118SMarissa Garza    #     [PartNumber]:                                 02CL396
114270a4118SMarissa Garza    #     [IndicatorLED]:                               Blinking
115270a4118SMarissa Garza    #     [EfficiencyPercent]:                          90
116270a4118SMarissa Garza    #     [Status]:
117270a4118SMarissa Garza    #       [Health]:                                   OK
118270a4118SMarissa Garza    #       [State]:                                    Enabled
119270a4118SMarissa Garza
120270a4118SMarissa Garza    Verify Indicator LEDs  ${expected_indicator_led}
121270a4118SMarissa Garza
122270a4118SMarissa Garza
123270a4118SMarissa GarzaSet and Verify LED Indicator
124270a4118SMarissa Garza    [Documentation]  Verify the indicator LED for the power supply units are asserted.
125270a4118SMarissa Garza    [Arguments]  ${pre_req_state}  ${asserted}  ${expected_indicator_led}
126270a4118SMarissa Garza
127270a4118SMarissa Garza    # Description of Arguments(s):
128270a4118SMarissa Garza    # pre_req_state           The pre-requisite state of the host to perform the test (e.g. "On")
129e4d41420SGeorge Keishing    # asserted                The assert property that sets the value
130e4d41420SGeorge Keishing    #                         (e.g. "xyz.openbmc_project.Led.Physical.Action.On")
131270a4118SMarissa Garza    # expected_indicator_led  The expected value of the IndicatorLED attribute for all the
132270a4118SMarissa Garza    #                         power supplies units are initiated (e.g. "Lit")
133270a4118SMarissa Garza
134270a4118SMarissa Garza    Run Key U  Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
135270a4118SMarissa Garza    Redfish.Login
136270a4118SMarissa Garza
137270a4118SMarissa Garza    # Put both power supply LEDs On/Off to check all units are asserted
138270a4118SMarissa Garza    Redfish.Put  ${LED_PHYSICAL_PS0_URI}attr/State  body={"data":${asserted}}
139270a4118SMarissa Garza    Redfish.Put  ${LED_PHYSICAL_PS1_URI}attr/State  body={"data":${asserted}}
140270a4118SMarissa Garza
141270a4118SMarissa Garza    # Example output:
142270a4118SMarissa Garza    # power_supplies:
143270a4118SMarissa Garza    #   [0]:
144270a4118SMarissa Garza    #     [MemberId]:                                   powersupply0
145270a4118SMarissa Garza    #     [IndicatorLED]:                               Lit
146270a4118SMarissa Garza    #     [Status]:
147270a4118SMarissa Garza    #       [Health]:                                   OK
148270a4118SMarissa Garza    #       [State]:                                    Enabled
149270a4118SMarissa Garza    #   [1]:
150270a4118SMarissa Garza    #     [MemberId]:                                   powersupply1
151270a4118SMarissa Garza    #     [IndicatorLED]:                               Lit
152270a4118SMarissa Garza    #     [Status]:
153270a4118SMarissa Garza    #       [Health]:                                   OK
154270a4118SMarissa Garza    #       [State]:                                    Enabled
155270a4118SMarissa Garza
156270a4118SMarissa Garza    Verify Indicator LEDs  ${expected_indicator_led}
157270a4118SMarissa Garza
158270a4118SMarissa Garza
159270a4118SMarissa GarzaVerify Indicator LEDs
160270a4118SMarissa Garza    [Documentation]  Verify the LEDs on the power supply units are set according to caller's expectation.
161270a4118SMarissa Garza    [Arguments]  ${expected_indicator_led}
162270a4118SMarissa Garza
163270a4118SMarissa Garza    # Description of Arguments(s):
164270a4118SMarissa Garza    # expected_indicator_led  The expected value of the IndicatorLED attribute for all the
165270a4118SMarissa Garza    #                         LEDs after the lamp test is initiated (e.g. "Blinking")
166270a4118SMarissa Garza
167270a4118SMarissa Garza    ${power_supplies}=  Redfish.Get Attribute  ${REDFISH_CHASSIS_POWER_URI}  PowerSupplies
168270a4118SMarissa Garza    Rprint Vars  power_supplies
169270a4118SMarissa Garza    FOR  ${power_supply_leds}  IN  @{power_supplies}
170396083b7SGeorge Keishing        Valid Value  power_supply_leds['IndicatorLED']  ['${expected_indicator_led}']
171270a4118SMarissa Garza    END
172270a4118SMarissa Garza
173270a4118SMarissa Garza
1743fc34054SMarissa GarzaSet and Verify Fan LED Indicators
1753fc34054SMarissa Garza    [Documentation]  Verify the indicator LED for the fans are asserted.
1763fc34054SMarissa Garza    [Arguments]  ${pre_req_state}  ${asserted}  ${expected_indicator_led}
1773fc34054SMarissa Garza
1783fc34054SMarissa Garza    # Description of Arguments(s):
1793fc34054SMarissa Garza    # pre_req_state           The pre-requisite state of the host to perform the test (e.g. "On")
180e4d41420SGeorge Keishing    # asserted                The assert property that sets the value
181e4d41420SGeorge Keishing    #                         (e.g. "xyz.openbmc_project.Led.Physical.Action.On")
182e4d41420SGeorge Keishing    # expected_indicator_led  The expected value of the IndicatorLED attribute for all the fans
183e4d41420SGeorge Keishing    #                         are initiated (e.g. "Lit")
1843fc34054SMarissa Garza
1853fc34054SMarissa Garza    Run Key U  Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
1863fc34054SMarissa Garza    Redfish.Login
1873fc34054SMarissa Garza
1883fc34054SMarissa Garza    # Put all the fan LEDs On/Off to check all are asserted
1893fc34054SMarissa Garza    Redfish.Put  ${LED_PHYSICAL_FAN0_URI}attr/State  body={"data":${asserted}}
1903fc34054SMarissa Garza    Redfish.Put  ${LED_PHYSICAL_FAN2_URI}attr/State  body={"data":${asserted}}
1913fc34054SMarissa Garza    Redfish.Put  ${LED_PHYSICAL_FAN3_URI}attr/State  body={"data":${asserted}}
1923fc34054SMarissa Garza
1933fc34054SMarissa Garza    # Example output:
1943fc34054SMarissa Garza    # fans:
1953fc34054SMarissa Garza    #   [0]:
1963fc34054SMarissa Garza    #     [@odata.id]:                                  /redfish/v1/Chassis/chassis/Thermal#/Fans/0
1973fc34054SMarissa Garza    #     [@odata.type]:                                #Thermal.v1_3_0.Fan
1983fc34054SMarissa Garza    #     [IndicatorLED]:                               Lit
1993fc34054SMarissa Garza    #     [MemberId]:                                   fan0_0
2003fc34054SMarissa Garza    #     [Name]:                                       fan0 0
2013fc34054SMarissa Garza    #     [Status]:
2023fc34054SMarissa Garza    #       [Health]:                                   OK
2033fc34054SMarissa Garza    #       [State]:                                    Enabled
2043fc34054SMarissa Garza
2053fc34054SMarissa Garza    ${fans}=  Redfish.Get Attribute  ${REDFISH_CHASSIS_THERMAL_URI}  Fans
2063fc34054SMarissa Garza    Rprint Vars  fans
2073fc34054SMarissa Garza    FOR  ${fan_leds}  IN  @{fans}
208396083b7SGeorge Keishing        Valid Value  fan_leds['IndicatorLED']  ['${expected_indicator_led}']
2093fc34054SMarissa Garza    END
2103fc34054SMarissa Garza
2113fc34054SMarissa Garza
212270a4118SMarissa GarzaSuite Teardown Execution
213270a4118SMarissa Garza    [Documentation]  Do the post suite teardown.
214270a4118SMarissa Garza
215270a4118SMarissa Garza    Redfish.Logout
216270a4118SMarissa Garza
217270a4118SMarissa Garza
218270a4118SMarissa GarzaSuite Setup Execution
219270a4118SMarissa Garza    [Documentation]  Do test case setup tasks.
220270a4118SMarissa Garza
221270a4118SMarissa Garza    Printn
222270a4118SMarissa Garza    Redfish.Login
223270a4118SMarissa Garza
224270a4118SMarissa Garza
225270a4118SMarissa GarzaTest Teardown Execution
226270a4118SMarissa Garza    [Documentation]  Do the post test teardown.
227270a4118SMarissa Garza
228270a4118SMarissa Garza    FFDC On Test Case Fail
2292643e59aSAlagiridhilipank
2302643e59aSAlagiridhilipank
2312643e59aSAlagiridhilipankSet Suite LED Indicator Initial Value
2322643e59aSAlagiridhilipank    [Documentation]  set suite For LED Initial value.
2332643e59aSAlagiridhilipank
234*c32434a3SYi Hu    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
2352643e59aSAlagiridhilipank    Set Suite Variable  ${value}
2362643e59aSAlagiridhilipank
2372643e59aSAlagiridhilipank    IF  ${value} == False
2382643e59aSAlagiridhilipank        Set Suite Variable  ${set_value}  ${True}
2392643e59aSAlagiridhilipank    ELSE
2402643e59aSAlagiridhilipank        Set Suite Variable  ${set_value}  ${False}
2412643e59aSAlagiridhilipank    END
2422643e59aSAlagiridhilipank
2432643e59aSAlagiridhilipank
2442643e59aSAlagiridhilipankSet And Verify LED Location Indicator Active
2452643e59aSAlagiridhilipank    [Documentation]  Set And Verify LED Location Indicator State.
2462643e59aSAlagiridhilipank    [Arguments]  ${set_value}
2472643e59aSAlagiridhilipank
2482643e59aSAlagiridhilipank    ${payload}=  Create Dictionary    LocationIndicatorActive=${set_value}
249*c32434a3SYi Hu    Redfish.Patch      /redfish/v1/Systems/${SYSTEM_ID}    body=&{payload}
2502643e59aSAlagiridhilipank    ...  valid_status_codes=[${HTTP_NO_CONTENT}]
2512643e59aSAlagiridhilipank
252*c32434a3SYi Hu    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
2532643e59aSAlagiridhilipank
2542643e59aSAlagiridhilipank    Should Be Equal As Strings  ${value}    ${set_value}
2552643e59aSAlagiridhilipank
2562643e59aSAlagiridhilipank
257c63bfe64SGeorge KeishingSet Initial Value
2582643e59aSAlagiridhilipank    [Documentation]  setting back Initial value.
2592643e59aSAlagiridhilipank    [Arguments]  ${value}
2602643e59aSAlagiridhilipank
2612643e59aSAlagiridhilipank    ${payload}=  Create Dictionary    LocationIndicatorActive=${value}
262*c32434a3SYi Hu    Redfish.Patch      /redfish/v1/Systems/${SYSTEM_ID}    body=&{payload}
2632643e59aSAlagiridhilipank    ...  valid_status_codes=[${HTTP_NO_CONTENT}]
2642643e59aSAlagiridhilipank
265*c32434a3SYi Hu    ${intial_value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
2662643e59aSAlagiridhilipank    Should Be Equal As Strings  ${intial_value}  ${value}
267