1*** Settings *** 2Documentation Update firmware on a target BMC via Redifsh. 3 4# Test Parameters: 5# IMAGE_FILE_PATH The path to the BMC image file. 6# 7# Firmware update states: 8# Enabled Image is installed and either functional or active. 9# Disabled Image installation failed or ready for activation. 10# Updating Image installation currently in progress. 11 12Resource ../../lib/resource.robot 13Resource ../../lib/bmc_redfish_resource.robot 14Resource ../../lib/openbmc_ffdc.robot 15Resource ../../lib/common_utils.robot 16Resource ../../lib/code_update_utils.robot 17Resource ../../lib/dump_utils.robot 18Resource ../../lib/logging_utils.robot 19Resource ../../lib/redfish_code_update_utils.robot 20Library ../../lib/gen_robot_valid.py 21Library ../../lib/tftp_update_utils.py 22 23Suite Setup Suite Setup Execution 24Suite Teardown Redfish.Logout 25Test Setup Printn 26Test Teardown FFDC On Test Case Fail 27 28Force Tags BMC_Code_Update 29 30*** Test Cases *** 31 32Redfish Code Update With ApplyTime OnReset 33 [Documentation] Update the firmaware image with ApplyTime of OnReset. 34 [Tags] Redfish_Code_Update_With_ApplyTime_OnReset 35 [Template] Redfish Update Firmware 36 37 # policy 38 OnReset 39 40 41Redfish Code Update With ApplyTime Immediate 42 [Documentation] Update the firmaware image with ApplyTime of Immediate. 43 [Tags] Redfish_Code_Update_With_ApplyTime_Immediate 44 [Template] Redfish Update Firmware 45 46 # policy 47 Immediate 48 49 50*** Keywords *** 51 52Suite Setup Execution 53 [Documentation] Do the suite setup. 54 55 # Checking for file existence. 56 Valid File Path IMAGE_FILE_PATH 57 Redfish.Login 58 # Delete BMC dump and Error logs. 59 Delete All BMC Dump 60 Redfish Purge Event Log 61 62 63Redfish Update Firmware 64 [Documentation] Update the BMC firmware via redfish interface. 65 [Arguments] ${apply_time} 66 67 # Description of argument(s): 68 # policy ApplyTime allowed values (e.g. "OnReset", "Immediate"). 69 70 ${state}= Get Pre Reboot State 71 Rprint Vars state 72 73 Redfish Upload Image And Check Progress State ${apply_time} 74 Reboot BMC And Verify BMC Image 75 ... ${apply_time} start_boot_seconds=${state['epoch_seconds']} 76 77