1839bc29bSMarissa Garza*** Settings *** 2839bc29bSMarissa GarzaDocumentation Get the system power supply readings and power mode settings. 3839bc29bSMarissa Garza 4839bc29bSMarissa GarzaResource ../../lib/bmc_redfish_resource.robot 5839bc29bSMarissa GarzaResource ../../lib/bmc_redfish_utils.robot 6839bc29bSMarissa GarzaResource ../../lib/openbmc_ffdc.robot 7839bc29bSMarissa GarzaLibrary ../../lib/gen_robot_valid.py 8839bc29bSMarissa Garza 9839bc29bSMarissa GarzaSuite Setup Suite Setup Execution 10839bc29bSMarissa GarzaSuite Teardown Suite Teardown Execution 11839bc29bSMarissa GarzaTest Setup Printn 12839bc29bSMarissa GarzaTest Teardown Test Teardown Execution 13839bc29bSMarissa Garza 14839bc29bSMarissa Garza*** Variables *** 15839bc29bSMarissa Garza 16839bc29bSMarissa Garza# Power Mode Settings 17839bc29bSMarissa Garza@{VALID_POWER_MODES} Static PowerSaving MaximumPerformance 18839bc29bSMarissa Garza 19839bc29bSMarissa Garza 20839bc29bSMarissa Garza*** Test Cases *** 21839bc29bSMarissa Garza 22839bc29bSMarissa GarzaVerify Current Power Mode Setting 23839bc29bSMarissa Garza [Documentation] Verify the current power mode setting. 24839bc29bSMarissa Garza [Tags] Verify_Current_Power_Mode_Setting 25839bc29bSMarissa Garza 26839bc29bSMarissa Garza # Example: 27839bc29bSMarissa Garza # /redfish/v1/Systems/system 28839bc29bSMarissa Garza # 29839bc29bSMarissa Garza # "PartNumber": "", 30839bc29bSMarissa Garza # "PowerMode": "MaximumPerformance", 31839bc29bSMarissa Garza # "PowerMode@Redfish.AllowableValues": [ 32839bc29bSMarissa Garza # "Static", 33839bc29bSMarissa Garza # "MaximumPerformance", 34839bc29bSMarissa Garza # "PowerSaving" 35839bc29bSMarissa Garza # ], 36839bc29bSMarissa Garza 37839bc29bSMarissa Garza ${current_power_mode}= Redfish.Get Attribute ${SYSTEM_BASE_URI} PowerMode 38839bc29bSMarissa Garza Rprint Vars current_power_mode 39839bc29bSMarissa Garza 40839bc29bSMarissa Garza Valid Value current_power_mode valid_values=${VALID_POWER_MODES} 41839bc29bSMarissa Garza 42839bc29bSMarissa Garza 43839bc29bSMarissa GarzaVerify Allowable Power Mode Settings 44839bc29bSMarissa Garza [Documentation] Verify the allowable power mode settings. 45839bc29bSMarissa Garza [Tags] Verify_Allowable_Power_Mode_Settings 46839bc29bSMarissa Garza 47839bc29bSMarissa Garza ${allowed_power_modes}= Redfish.Get Attribute ${SYSTEM_BASE_URI} PowerMode@Redfish.AllowableValues 48839bc29bSMarissa Garza Rprint Vars allowed_power_modes 49839bc29bSMarissa Garza 50839bc29bSMarissa Garza Valid List allowed_power_modes valid_values=${VALID_POWER_MODES} 51839bc29bSMarissa Garza 52839bc29bSMarissa Garza 535236ec54SGeorge KeishingVerify Allowable Power Mode Settings Switch At Runtime 54839bc29bSMarissa Garza [Documentation] Check the allowable power modes are set successfully at runtime. 55839bc29bSMarissa Garza [Tags] Verify_Allowable_Power_Mode_Settings_Switch_At_Runtime 56839bc29bSMarissa Garza [Template] Set and Verify Power Mode Switches 57839bc29bSMarissa Garza 58839bc29bSMarissa Garza # power_mode_type 59839bc29bSMarissa Garza Static 60839bc29bSMarissa Garza PowerSaving 61839bc29bSMarissa Garza MaximumPerformance 62839bc29bSMarissa Garza 63839bc29bSMarissa Garza 64839bc29bSMarissa GarzaVerify State Of PowerSubsystem PowerSupplies 65839bc29bSMarissa Garza [Documentation] Verify the state of the system's powersupplies is ok and enabled. 66839bc29bSMarissa Garza [Tags] Verify_State_Of_PowerSubsystem_PowerSupplies 67839bc29bSMarissa Garza 68839bc29bSMarissa Garza ${total_num_supplies}= Get Total Number Of PowerSupplies 69839bc29bSMarissa Garza Rprint Vars total_num_supplies 70839bc29bSMarissa Garza 71839bc29bSMarissa Garza ${resp}= Redfish.Get ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}/PowerSubsystem/PowerSupplies 72839bc29bSMarissa Garza FOR ${entry} IN RANGE 0 ${total_num_supplies} 73839bc29bSMarissa Garza ${resp_resource}= Redfish.Get ${resp.dict["Members"][${entry}]["@odata.id"]} 74839bc29bSMarissa Garza # Example: 75839bc29bSMarissa Garza # "Status": { 76839bc29bSMarissa Garza # "Health": "OK", 77839bc29bSMarissa Garza # "State": "Enabled" 78839bc29bSMarissa Garza # }, 79839bc29bSMarissa Garza Should Be Equal As Strings ${resp_resource.dict["Status"]["Health"]} OK 80839bc29bSMarissa Garza Should Be Equal As Strings ${resp_resource.dict["Status"]["State"]} Enabled 81839bc29bSMarissa Garza END 82839bc29bSMarissa Garza 83839bc29bSMarissa Garza 84839bc29bSMarissa GarzaVerify PowerSubsystem Efficiency Percent For All PowerSupplies 85839bc29bSMarissa Garza [Documentation] Verify the efficiency percent for all powersupplies. 865236ec54SGeorge Keishing [Tags] Verify_PowerSubsystem_Efficiency_Percent_For_All_PowerSupplies 87839bc29bSMarissa Garza 88839bc29bSMarissa Garza ${total_num_supplies}= Get Total Number Of PowerSupplies 89839bc29bSMarissa Garza Rprint Vars total_num_supplies 90839bc29bSMarissa Garza 91839bc29bSMarissa Garza # Example output: 92839bc29bSMarissa Garza # - Executing: get('/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0') 93839bc29bSMarissa Garza # resp_resource: 94839bc29bSMarissa Garza # [0]: 95839bc29bSMarissa Garza # [EfficiencyPercent]: 90 96839bc29bSMarissa Garza # - Executing: get('/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply1') 97839bc29bSMarissa Garza # resp_resource: 98839bc29bSMarissa Garza # [0]: 99839bc29bSMarissa Garza # [EfficiencyPercent]: 90 100839bc29bSMarissa Garza 101839bc29bSMarissa Garza ${resp}= Redfish.Get ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}/PowerSubsystem/PowerSupplies 102839bc29bSMarissa Garza FOR ${entry} IN RANGE 0 ${total_num_supplies} 103839bc29bSMarissa Garza ${resp_resource}= Redfish.Get Attribute 104839bc29bSMarissa Garza ... ${resp.dict["Members"][${entry}]["@odata.id"]} EfficiencyRatings 105839bc29bSMarissa Garza Rprint Vars resp_resource 106839bc29bSMarissa Garza ${efficiency_percentages}= Nested Get EfficiencyPercent ${resp_resource} 107839bc29bSMarissa Garza Valid List efficiency_percentages [90] 108839bc29bSMarissa Garza END 109839bc29bSMarissa Garza 110839bc29bSMarissa Garza 111839bc29bSMarissa Garza 112839bc29bSMarissa Garza*** Keywords *** 113839bc29bSMarissa Garza 114839bc29bSMarissa GarzaGet Total Number Of PowerSupplies 115839bc29bSMarissa Garza [Documentation] Return total number of powersupplies. 116839bc29bSMarissa Garza ${total_num_powersupplies}= Redfish.Get Attribute 117839bc29bSMarissa Garza ... ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}/PowerSubsystem/PowerSupplies Members@odata.count 118839bc29bSMarissa Garza 119839bc29bSMarissa Garza # Entries "Members@odata.count": 4, 120839bc29bSMarissa Garza # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply0'} 121839bc29bSMarissa Garza # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply1'} 122839bc29bSMarissa Garza # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply2'} 123839bc29bSMarissa Garza # {'@odata.id': '/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies/powersupply3'} 124*409df05dSGeorge Keishing RETURN ${total_num_powersupplies} 125839bc29bSMarissa Garza 126839bc29bSMarissa Garza 127839bc29bSMarissa GarzaSet and Verify Power Mode Switches 128839bc29bSMarissa Garza [Documentation] Verify the power mode switches successfully at standby or runtime. 129839bc29bSMarissa Garza [Arguments] ${power_mode} 130839bc29bSMarissa Garza 131839bc29bSMarissa Garza # Description of Arguments(s): 132839bc29bSMarissa Garza # power_mode Read the allowable power modes (e.g. "Static") 133839bc29bSMarissa Garza 134839bc29bSMarissa Garza Redfish.Login 135839bc29bSMarissa Garza 136839bc29bSMarissa Garza Redfish.patch ${SYSTEM_BASE_URI} 137839bc29bSMarissa Garza ... body={"PowerMode":"${power_mode}"} valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}] 138839bc29bSMarissa Garza ${current_power_mode}= Redfish.Get Attribute ${SYSTEM_BASE_URI} PowerMode 139839bc29bSMarissa Garza Should Be Equal As Strings ${power_mode} ${current_power_mode} 140839bc29bSMarissa Garza ... msg=The thermal mode does not match the current fan mode. 141839bc29bSMarissa Garza Rprint Vars current_power_mode 142839bc29bSMarissa Garza 143839bc29bSMarissa Garza 144839bc29bSMarissa GarzaSuite Teardown Execution 145839bc29bSMarissa Garza [Documentation] Do the post suite teardown. 146839bc29bSMarissa Garza 147839bc29bSMarissa Garza Redfish.Logout 148839bc29bSMarissa Garza 149839bc29bSMarissa Garza 150839bc29bSMarissa GarzaSuite Setup Execution 151839bc29bSMarissa Garza [Documentation] Do test case setup tasks. 152839bc29bSMarissa Garza 153839bc29bSMarissa Garza Printn 154839bc29bSMarissa Garza Redfish.Login 155839bc29bSMarissa Garza 156839bc29bSMarissa Garza 157839bc29bSMarissa GarzaTest Teardown Execution 158839bc29bSMarissa Garza [Documentation] Do the post test teardown. 159839bc29bSMarissa Garza 160839bc29bSMarissa Garza FFDC On Test Case Fail 161