1*** Settings *** 2Documentation Getting the systems thermal records for temperature. 3 4Resource ../../lib/bmc_redfish_resource.robot 5Resource ../../lib/bmc_redfish_utils.robot 6Resource ../../lib/logging_utils.robot 7Resource ../../lib/boot_utils.robot 8Resource ../../lib/openbmc_ffdc.robot 9Library ../../lib/gen_robot_valid.py 10Library ../../lib/logging_utils.py 11 12Suite Setup Suite Setup Execution 13Suite Teardown Suite Teardown Execution 14Test Setup Printn 15Test Teardown Test Teardown Execution 16 17 18*** Test Cases *** 19 20Get Ambient Temperature Records 21 [Documentation] Get the ambient temperature records. 22 [Tags] Get_Ambient_Temperature_Records 23 [Template] Get Thermal Records and Verify 24 25 # record_type reading_type 26 Temperatures ReadingCelsius 27 28 29Reboot And Check Ambient Temperature Records Are Valid 30 [Documentation] Check the ambient temperature records are valid after a reboot. 31 [Tags] Reboot_And_Check_Ambient_Temperature_Records_Are_Valid 32 33 Redfish OBMC Reboot (run) 34 Redfish.Login 35 36 Get Thermal Records and Verify Temperatures ReadingCelsius 37 38 39*** Keywords *** 40 41Get Thermal Records and Verify 42 [Documentation] Get the thermal records for temperatures. 43 [Arguments] ${record_type} ${reading_type} 44 45 # Description of Arguments(s): 46 # record_type The thermal record type (e.g. "Temperatures") 47 # reading_type The thermal temperature readings (e.g. "ReadingCelsius") 48 49 ${records}= Verify Valid Records ${record_type} 50 ... ${REDFISH_CHASSIS_URI}/${CHASSIS_ID}/Thermal ${reading_type} 51 52 ${num_records}= Get Length ${records} 53 Rprint Vars num_records records 54 55 ${cmd} Catenate [x for x in ${records} 56 ... if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']] 57 ${invalid_records}= Evaluate ${cmd} 58 59 ${num_invalid_records}= Get Length ${invalid_records} 60 Run Keyword If ${num_invalid_records} > ${0} 61 ... Rprint Vars num_invalid_records invalid_records 62 Valid Value num_invalid_records valid_values=[0] 63 64 Error Logs Should Not Exist 65 66 67Suite Teardown Execution 68 [Documentation] Do the post suite teardown. 69 70 Redfish.Logout 71 72 73Suite Setup Execution 74 [Documentation] Do test case setup tasks. 75 76 Printn 77 Redfish.Login 78 Redfish Purge Event Log 79 80 81Test Teardown Execution 82 [Documentation] Do the post test teardown. 83 84 FFDC On Test Case Fail 85