blob: 21e96ba63dbea62dc6c4247e743f521cf3f433fb [file] [log] [blame]
Sushil Singhcdebdd52019-08-14 15:29:24 -05001*** 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