xref: /openbmc/openbmc-test-automation/redfish/systems/test_alternate_fan_settings.robot (revision f188e4a000fcdd44911be59af0b0419725f08e36)
19f3d3aadSMarissa Garza*** Settings ***
29f3d3aadSMarissa Garza
326912629SGeorge KeishingDocumentation  Test Suite for Supported Fan Modules.
49f3d3aadSMarissa Garza
59f3d3aadSMarissa GarzaResource         ../../lib/rest_client.robot
69f3d3aadSMarissa GarzaResource         ../../lib/bmc_redfish_resource.robot
79f3d3aadSMarissa GarzaResource         ../../lib/bmc_redfish_utils.robot
89f3d3aadSMarissa GarzaResource         ../../lib/openbmc_ffdc.robot
99f3d3aadSMarissa GarzaResource         ../../lib/resource.robot
109f3d3aadSMarissa GarzaResource         ../../lib/boot_utils.robot
119f3d3aadSMarissa GarzaLibrary          ../../lib/gen_robot_valid.py
129f3d3aadSMarissa GarzaLibrary          ../../lib/gen_robot_keyword.py
139f3d3aadSMarissa Garza
149f3d3aadSMarissa GarzaSuite Setup      Suite Setup Execution
159f3d3aadSMarissa GarzaSuite Teardown   Suite Teardown Execution
169f3d3aadSMarissa GarzaTest Setup       Printn
179f3d3aadSMarissa GarzaTest Teardown    Test Teardown Execution
189f3d3aadSMarissa Garza
199f3d3aadSMarissa Garza
209f3d3aadSMarissa Garza*** Variables ***
219f3d3aadSMarissa Garza
229f3d3aadSMarissa Garza@{VALID_MODE_VALUES}   DEFAULT  CUSTOM  HEAVY_IO  MAX_BASE_FAN_FLOOR
239f3d3aadSMarissa Garza
249f3d3aadSMarissa Garza
259f3d3aadSMarissa Garza*** Test Cases ***
269f3d3aadSMarissa Garza
279f3d3aadSMarissa GarzaVerify Current Fan Thermal Mode
289f3d3aadSMarissa Garza    [Documentation]  Check current thermal fan mode is a valid mode value.
299f3d3aadSMarissa Garza    [Tags]  Verify_Current_Fan_Thermal_Mode
309f3d3aadSMarissa Garza
319f3d3aadSMarissa Garza    # Example:
329f3d3aadSMarissa Garza    #  /xyz/openbmc_project/control/thermal/0
339f3d3aadSMarissa Garza    #
349f3d3aadSMarissa Garza    # Response code:200, Content: {
359f3d3aadSMarissa Garza    # "data": {
369f3d3aadSMarissa Garza    #         "Current": "DEFAULT",
379f3d3aadSMarissa Garza    #         "Supported": [
389f3d3aadSMarissa Garza    #           "DEFAULT",
399f3d3aadSMarissa Garza    #           "CUSTOM",
409f3d3aadSMarissa Garza    #           "HEAVY_IO",
419f3d3aadSMarissa Garza    #           "MAX_BASE_FAN_FLOOR"
429f3d3aadSMarissa Garza    #         },
439f3d3aadSMarissa Garza    #         },
449f3d3aadSMarissa Garza    # "message": "200 OK",
459f3d3aadSMarissa Garza    # "status": "ok"
469f3d3aadSMarissa Garza    # }
479f3d3aadSMarissa Garza
489f3d3aadSMarissa Garza    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
499f3d3aadSMarissa Garza    Rprint Vars  current
509f3d3aadSMarissa Garza
519f3d3aadSMarissa Garza    Valid Value  current  valid_values=${VALID_MODE_VALUES}
529f3d3aadSMarissa Garza
539f3d3aadSMarissa Garza
549f3d3aadSMarissa GarzaVerify Supported Fan Thermal Modes Available
559f3d3aadSMarissa Garza    [Documentation]  Check supported fan thermal modes are valid mode values.
569f3d3aadSMarissa Garza    [Tags]  Verify_Supported_Fan_Thermal_Modes_Available
579f3d3aadSMarissa Garza
589f3d3aadSMarissa Garza    ${supported}=  Read Attribute  ${THERMAL_CONTROL_URI}  Supported
599f3d3aadSMarissa Garza    Rprint Vars  supported
609f3d3aadSMarissa Garza
619f3d3aadSMarissa Garza    Valid List  supported  valid_values=${VALID_MODE_VALUES}
629f3d3aadSMarissa Garza
639f3d3aadSMarissa Garza
649f3d3aadSMarissa GarzaVerify Supported Fan Thermal Modes Switch At Standby
659f3d3aadSMarissa Garza    [Documentation]  Check that supported modes are set successfully at standby.
669f3d3aadSMarissa Garza    [Tags]  Verify_Supported_Fan_Thermal_Modes_Switch_At_Standby
679f3d3aadSMarissa Garza    [Template]  Set and Verify Thermal Mode Switches
689f3d3aadSMarissa Garza
699f3d3aadSMarissa Garza    # pre_req_state      thermal_mode_type
709f3d3aadSMarissa Garza    Off                  DEFAULT
719f3d3aadSMarissa Garza    Off                  CUSTOM
729f3d3aadSMarissa Garza    Off                  HEAVY_IO
739f3d3aadSMarissa Garza    Off                  MAX_BASE_FAN_FLOOR
749f3d3aadSMarissa Garza
759f3d3aadSMarissa Garza
769f3d3aadSMarissa GarzaVerify Supported Fan Thermal Modes Switch At Runtime
779f3d3aadSMarissa Garza    [Documentation]  Check that supported modes are set successfully at runtime.
789f3d3aadSMarissa Garza    [Tags]  Verify_Supported_Fan_Thermal_Modes_Switch_At_Runtime
799f3d3aadSMarissa Garza    [Template]  Set and Verify Thermal Mode Switches
809f3d3aadSMarissa Garza
819f3d3aadSMarissa Garza    # pre_req_state      thermal_mode
829f3d3aadSMarissa Garza    On                   DEFAULT
839f3d3aadSMarissa Garza    On                   CUSTOM
849f3d3aadSMarissa Garza    On                   HEAVY_IO
859f3d3aadSMarissa Garza    On                   MAX_BASE_FAN_FLOOR
869f3d3aadSMarissa Garza
879f3d3aadSMarissa Garza
88*f188e4a0SGeorge KeishingVerify Supported Fan Thermal Mode Remains Set After Boot
899f3d3aadSMarissa Garza    [Documentation]  Check that supported modes remain set at runtime.
90*f188e4a0SGeorge Keishing    [Tags]  Verify_Supported_Fan_Thermal_Mode_Remains_Set_After_Boot
91*f188e4a0SGeorge Keishing    [Template]  Set and Verify Thermal Mode After Boot
929f3d3aadSMarissa Garza
939f3d3aadSMarissa Garza    # pre_req_state      thermal_mode_type
949f3d3aadSMarissa Garza    Off                  DEFAULT
959f3d3aadSMarissa Garza    Off                  CUSTOM
969f3d3aadSMarissa Garza    Off                  HEAVY_IO
979f3d3aadSMarissa Garza    Off                  MAX_BASE_FAN_FLOOR
989f3d3aadSMarissa Garza
999f3d3aadSMarissa Garza
1009f3d3aadSMarissa Garza*** Keywords ***
1019f3d3aadSMarissa Garza
1029f3d3aadSMarissa GarzaSet and Verify Thermal Mode Switches
1039f3d3aadSMarissa Garza    [Documentation]  Verify the thermal mode switches successfully at standby or runtime.
1049f3d3aadSMarissa Garza    [Arguments]  ${pre_req_state}  ${thermal_mode}
1059f3d3aadSMarissa Garza
1069f3d3aadSMarissa Garza    # Description of Arguments(s):
1079f3d3aadSMarissa Garza    # thermal_mode       Read the supported thermal mode (e.g. "CUSTOM")
1089f3d3aadSMarissa Garza    # pre_req_state      Set the state of the host to Standby or Runtime (e.g. "Running")
1099f3d3aadSMarissa Garza
1109f3d3aadSMarissa Garza    Run Key U  Redfish Power ${pre_req_state} \ stack_mode=skip \ quiet=1
1119f3d3aadSMarissa Garza    Redfish.Login
1129f3d3aadSMarissa Garza
1139f3d3aadSMarissa Garza    ${mode}=  Redfish.Put  ${THERMAL_CONTROL_URI}/attr/Current  body={"data": "${thermal_mode}"}
1149f3d3aadSMarissa Garza
1159f3d3aadSMarissa Garza    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
1169f3d3aadSMarissa Garza    Should Be Equal As Strings  ${thermal_mode}  ${current}
1179f3d3aadSMarissa Garza    ...  msg=The thermal mode does not match the current fan mode.
1189f3d3aadSMarissa Garza    Rprint Vars  current
1199f3d3aadSMarissa Garza
1209f3d3aadSMarissa Garza
121*f188e4a0SGeorge KeishingSet and Verify Thermal Mode After Boot
1229f3d3aadSMarissa Garza    [Documentation]  Verify the thermal mode remains set at runtime.
1239f3d3aadSMarissa Garza    [Arguments]  ${pre_req_state}  ${thermal_mode}
1249f3d3aadSMarissa Garza
1259f3d3aadSMarissa Garza    Set and Verify Thermal Mode Switches  ${pre_req_state}  ${thermal_mode}
1269f3d3aadSMarissa Garza
1279f3d3aadSMarissa Garza    Run Key U  Redfish Power On \ stack_mode=normal \ quiet=1
1289f3d3aadSMarissa Garza    Redfish.Login
1299f3d3aadSMarissa Garza
1309f3d3aadSMarissa Garza    ${current}=  Read Attribute  ${THERMAL_CONTROL_URI}  Current
1319f3d3aadSMarissa Garza    Should Be Equal As Strings  ${thermal_mode}  ${current}
1329f3d3aadSMarissa Garza    ...  msg=The current thermal fan mode switched successfully.
1339f3d3aadSMarissa Garza    Rprint Vars  current
1349f3d3aadSMarissa Garza
1359f3d3aadSMarissa Garza
1369f3d3aadSMarissa GarzaSuite Teardown Execution
1379f3d3aadSMarissa Garza    [Documentation]  Do the post suite teardown.
1389f3d3aadSMarissa Garza
1399f3d3aadSMarissa Garza    Redfish.Logout
1409f3d3aadSMarissa Garza
1419f3d3aadSMarissa Garza
1429f3d3aadSMarissa GarzaSuite Setup Execution
1439f3d3aadSMarissa Garza    [Documentation]  Do test case setup tasks.
1449f3d3aadSMarissa Garza
1459f3d3aadSMarissa Garza    Printn
1469f3d3aadSMarissa Garza    Redfish.Login
1479f3d3aadSMarissa Garza
1489f3d3aadSMarissa Garza
1499f3d3aadSMarissa GarzaTest Teardown Execution
1509f3d3aadSMarissa Garza    [Documentation]  Do the post test teardown.
1519f3d3aadSMarissa Garza
1529f3d3aadSMarissa Garza    FFDC On Test Case Fail
153