xref: /openbmc/openbmc-test-automation/extended/code_update/bmc_code_update.robot (revision c1fa2bc9fc0b973102fa478a0329f1b1c94064a3)
19f74d3afSCharles Paul Hofer*** Settings ***
29f74d3afSCharles Paul HoferDocumentation     Update the BMC code on a target BMC.
39f74d3afSCharles Paul Hofer...               Execution Method:
49f74d3afSCharles Paul Hofer...               python -m robot -v OPENBMC_HOST:<hostname>
59f74d3afSCharles Paul Hofer...               -v IMAGE_FILE_PATH:<path/*.tar>  bmc_code_update.robot
69f74d3afSCharles Paul Hofer
79f74d3afSCharles Paul HoferLibrary           ../../lib/code_update_utils.py
89f74d3afSCharles Paul HoferVariables         ../../data/variables.py
99f74d3afSCharles Paul HoferResource          ../../lib/boot_utils.robot
109f74d3afSCharles Paul HoferResource          code_update_utils.robot
119f74d3afSCharles Paul HoferResource          ../../lib/code_update_utils.robot
129f74d3afSCharles Paul HoferResource          ../lib/openbmc_ffdc.robot
139f74d3afSCharles Paul Hofer
149f74d3afSCharles Paul HoferTest Teardown     FFDC On Test Case Fail
159f74d3afSCharles Paul Hofer
169f74d3afSCharles Paul Hofer*** Variables ***
179f74d3afSCharles Paul Hofer
189f74d3afSCharles Paul Hofer${QUIET}                          ${1}
199f74d3afSCharles Paul Hofer${IMAGE_FILE_PATH}                ${EMPTY}
20*c1fa2bc9SCharles Paul Hofer${ALTERNATE_IMAGE_FILE_PATH}      ${EMPTY}
219f74d3afSCharles Paul Hofer
229f74d3afSCharles Paul Hofer*** Test Cases ***
239f74d3afSCharles Paul Hofer
249f74d3afSCharles Paul HoferREST BMC Code Update
259f74d3afSCharles Paul Hofer    [Documentation]  Do a BMC code update by uploading image on BMC via REST.
269f74d3afSCharles Paul Hofer    [Tags]  REST_BMC_Code_Update
279f74d3afSCharles Paul Hofer
289f74d3afSCharles Paul Hofer    Upload And Activate Image  ${IMAGE_FILE_PATH}
299f74d3afSCharles Paul Hofer    OBMC Reboot (off)
309f74d3afSCharles Paul Hofer
319f74d3afSCharles Paul Hofer
32*c1fa2bc9SCharles Paul HoferUpload And Activate Multiple BMC Images
33*c1fa2bc9SCharles Paul Hofer    [Documentation]  Upload another BMC image and verify that its state is
34*c1fa2bc9SCharles Paul Hofer    ...              different from all others.
35*c1fa2bc9SCharles Paul Hofer    [Tags]  Upload_And_Activate_Multiple_BMC_Images
36*c1fa2bc9SCharles Paul Hofer    [Template]  Activate Image And Verify No Duplicate Priorities
37*c1fa2bc9SCharles Paul Hofer    [Setup]  Upload And Activate Multiple BMC Images Setup
38*c1fa2bc9SCharles Paul Hofer
39*c1fa2bc9SCharles Paul Hofer    # Image File Path              Image Purpose
40*c1fa2bc9SCharles Paul Hofer    ${ALTERNATE_IMAGE_FILE_PATH}   ${VERSION_PURPOSE_BMC}
41*c1fa2bc9SCharles Paul Hofer
42*c1fa2bc9SCharles Paul Hofer
439f74d3afSCharles Paul HoferDelete BMC Image
449f74d3afSCharles Paul Hofer    [Documentation]  Delete a BMC image from the BMC flash chip.
459f74d3afSCharles Paul Hofer    [Tags]  Delete_BMC_Image
469f74d3afSCharles Paul Hofer
479f74d3afSCharles Paul Hofer    ${software_object}=  Get Non Running BMC Software Object
489f74d3afSCharles Paul Hofer    Delete Image And Verify  ${software_object}  ${VERSION_PURPOSE_BMC}
49*c1fa2bc9SCharles Paul Hofer
50*c1fa2bc9SCharles Paul Hofer
51*c1fa2bc9SCharles Paul Hofer*** Keywords ***
52*c1fa2bc9SCharles Paul Hofer
53*c1fa2bc9SCharles Paul HoferUpload And Activate Multiple BMC Images Setup
54*c1fa2bc9SCharles Paul Hofer    [Documentation]  Check that the ALTERNATE_FILE_PATH variable is set.
55*c1fa2bc9SCharles Paul Hofer
56*c1fa2bc9SCharles Paul Hofer    Should Not Be Empty  ${ALTERNATE_IMAGE_FILE_PATH}