blob: d9b9d08f86d36098f30066010d79fb34dbdf8d1e [file] [log] [blame]
Sushil Singh32e2b582019-08-16 04:58:24 -05001*** Settings ***
2Documentation Update firmware on a target Host via Redifsh.
3
4# Test Parameters:
5# IMAGE_FILE_PATH The path to the Host 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/boot_utils.robot
15Resource ../../lib/openbmc_ffdc.robot
16Resource ../../lib/common_utils.robot
17Resource ../../lib/code_update_utils.robot
18Resource ../../lib/dump_utils.robot
19Resource ../../lib/logging_utils.robot
20Resource ../../lib/redfish_code_update_utils.robot
21Library ../../lib/gen_robot_valid.py
22Library ../../lib/tftp_update_utils.py
23
24Suite Setup Suite Setup Execution
25Suite Teardown Redfish.Logout
26Test Setup Printn
27Test Teardown FFDC On Test Case Fail
28
29Force Tags Host_Code_Update
30
31*** Test Cases ***
32
33Redfish Code Update With ApplyTime OnReset
34 [Documentation] Update the firmaware image with ApplyTime of OnReset.
35 [Tags] Redfish_Code_Update_With_ApplyTime_OnReset
36 [Template] Redfish Update Firmware
37
38 # policy
39 OnReset
40
41
42Redfish Code Update With ApplyTime Immediate
43 [Documentation] Update the firmaware image with ApplyTime of Immediate.
44 [Tags] Redfish_Code_Update_With_ApplyTime_Immediate
45 [Template] Redfish Update Firmware
46
47 # policy
48 Immediate
49
Sushil Singh1620cfb2019-10-10 06:07:53 -050050
Sivas SRRbf2d10e2019-10-22 23:25:35 -050051BMC Reboot When PNOR Update Goes On
52 [Documentation] Trigger PNOR update and do BMC reboot.
53 [Tags] BMC_Reboot_When_PNOR_Update_Goes_On
54
55 ${bios_version_before}= Redfish.Get Attribute /redfish/v1/Systems/system/ BiosVersion
56 Redfish Firmware Update And Do BMC Reboot
57 ${bios_version_after}= Redfish.Get Attribute /redfish/v1/Systems/system/ BiosVersion
58 Valid Value bios_version_after ['${bios_version_before}']
59
60
Sushil Singh32e2b582019-08-16 04:58:24 -050061*** Keywords ***
62
63Suite Setup Execution
64 [Documentation] Do the suite setup.
65
66 Valid File Path IMAGE_FILE_PATH
67 Redfish.Login
68 Delete All BMC Dump
69 Redfish Purge Event Log
Sushil Singh1620cfb2019-10-10 06:07:53 -050070 Redfish Power On stack_mode=skip
Sushil Singh32e2b582019-08-16 04:58:24 -050071
72
73Redfish Update Firmware
74 [Documentation] Update the BMC firmware via redfish interface.
75 [Arguments] ${apply_time}
76
77 # Description of argument(s):
78 # policy ApplyTime allowed values (e.g. "OnReset", "Immediate").
79
80 Redfish.Login
Sushil Singh6f86f172019-10-30 11:36:25 -050081 Set ApplyTime policy=${apply_Time}
82 Redfish Upload Image And Check Progress State
Sushil Singh1620cfb2019-10-10 06:07:53 -050083 Poweron Host And Verify Host Image ${apply_time}
Sushil Singh811ffae2019-10-23 05:16:22 -050084 Verify Get ApplyTime ${apply_time}
Sushil Singh32e2b582019-08-16 04:58:24 -050085
Sivas SRRbf2d10e2019-10-22 23:25:35 -050086
87Redfish Firmware Update And Do BMC Reboot
88 [Documentation] Update the firmware via redfish interface and do BMC reboot.
89
90 Set ApplyTime policy="Immediate"
91 Redfish Upload Image ${REDFISH_BASE_URI}UpdateService ${IMAGE_FILE_PATH}
92 ${image_id}= Get Latest Image ID
93 Wait Until Keyword Succeeds 1 min 10 sec
94 ... Check Image Update Progress State match_state='Updating' image_id=${image_id}
95
96 # BMC reboot while PNOR update is in progress.
97 Redfish OBMC Reboot (off)