| *** Settings *** |
| Documentation Get the system power supply voltage readings. |
| |
| Resource ../../lib/bmc_redfish_resource.robot |
| Resource ../../lib/bmc_redfish_utils.robot |
| Resource ../../lib/openbmc_ffdc.robot |
| Library ../../lib/gen_robot_valid.py |
| |
| Suite Setup Suite Setup Execution |
| Suite Teardown Suite Teardown Execution |
| Test Setup Printn |
| Test Teardown Test Teardown Execution |
| |
| |
| *** Test Cases *** |
| |
| Verify Power Supplies Input Watts |
| [Documentation] Verify there are no invalid power supply input watt records. |
| [Tags] Verify_Power_Supplies_Input_Watts |
| [Template] Verify Watts Record |
| |
| # record_type redfish_uri reading_type |
| PowerSupplies ${REDFISH_CHASSIS_POWER_URI} PowerInputWatts |
| |
| |
| Verify Power Supplies Input Output Voltages |
| [Documentation] Verify there are no invalid power supply voltage records. |
| [Tags] Verify_Power_Supplies_Input_Output_Voltages |
| [Template] Verify Voltage Records |
| |
| # record_type redfish_uri reading_type |
| Voltages ${REDFISH_CHASSIS_POWER_URI} ReadingVolts |
| |
| |
| Verify Power Supplies Efficiency Percentage |
| [Documentation] Verify the efficiency percentage is set to correct value. |
| [Tags] Verify_Power_Supplies_Efficiency_Percentage |
| |
| # Example output: |
| # records: |
| # [0]: |
| # [@odata.id]: /redfish/v1/Chassis/chassis/Power#/PowerSupplies/0 |
| # [EfficiencyPercent]: 90 |
| # [IndicatorLED]: Off |
| # [Manufacturer]: |
| # [MemberId]: powersupply0 |
| # [Model]: 2B1D |
| # [Name]: powersupply0 |
| # [PartNumber]: 01KL779 |
| # [PowerInputWatts]: 106.0 |
| # [SerialNumber]: 75B1C2 |
| # [Status]: |
| # [Health]: OK |
| # [State]: Enabled |
| |
| ${records}= Verify Valid Records PowerSupplies ${REDFISH_CHASSIS_POWER_URI} EfficiencyPercent |
| ${efficiency_percentages}= Nested Get EfficiencyPercent ${records} |
| Valid List efficiency_percentages [90] |
| |
| |
| *** Keywords *** |
| |
| Verify Watts Record |
| [Documentation] Verify the power watt records. |
| [Arguments] ${record_type} ${redfish_uri} ${reading_type} |
| |
| # Description of Arguments(s): |
| # record_type The sensor record type (e.g. "PowerSupplies") |
| # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power) |
| # reading_type The power watt readings (e.g. "PowerInputWatts") |
| |
| Verify Valid Records ${record_type} ${redfish_uri} ${reading_type} |
| |
| |
| Verify Voltage Records |
| [Documentation] Verify the power voltage records. |
| [Arguments] ${record_type} ${redfish_uri} ${reading_type} |
| |
| # Description of Arguments(s): |
| # record_type The sensor record type (e.g. "Voltages") |
| # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power) |
| # reading_type The power voltage readings (e.g. "ReadingVolts") |
| |
| Verify Valid Records ${record_type} ${redfish_uri} ${reading_type} |
| |
| ${records}= Redfish.Get Attribute ${redfish_uri} ${record_type} |
| |
| ${cmd} Catenate [x for x in ${records} |
| ... if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']] |
| ${invalid_records}= Evaluate ${cmd} |
| |
| Valid Length invalid_records max_length=0 |
| |
| |
| Suite Teardown Execution |
| [Documentation] Do the post suite teardown. |
| |
| Redfish.Logout |
| |
| |
| Suite Setup Execution |
| [Documentation] Do test case setup tasks. |
| |
| Printn |
| Redfish Power On stack_mode=skip |
| Redfish.Login |
| |
| |
| Test Teardown Execution |
| [Documentation] Do the post test teardown. |
| |
| FFDC On Test Case Fail |