blob: cb68a33c41feed5c979a89df65cf96f3974857c8 [file] [log] [blame]
*** Settings ***
Documentation Verify that the host boots between code updates of different
... PNOR version. Verify with N, the current version, downgrade
... and verify with N-1, update and verify N again, and finally
... update and verify with N+1.
Library ../../lib/code_update_utils.py
Variables ../../data/variables.py
Resource ../../lib/boot_utils.robot
Resource ../../lib/code_update_utils.robot
Resource ../../lib/openbmc_ffdc.robot
Suite Setup Suite Setup Execution
Test Teardown FFDC On Test Case Fail
*** Variables ***
${QUIET} ${1}
${IMAGE_FILE_PATH} ${EMPTY}
${N_MINUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
${N_PLUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
*** Test Cases ***
Host Multi Code Update
[Documentation] Do four code updates in a row. Update to N, N-1, N, and
... then N+1.
[Tags] Host_Multi_Code_Update
[Template] Code Update And Power On Host
# Image File Path
${IMAGE_FILE_PATH}
${N_MINUS_ONE_IMAGE_FILE_PATH}
${IMAGE_FILE_PATH}
${N_PLUS_ONE_IMAGE_FILE_PATH}
*** Keywords ***
Suite Setup Execution
[Documentation] Do test suite setup tasks.
Should Not Be Empty ${IMAGE_FILE_PATH} msg=Must set IMAGE_FILE_PATH.
Should Not Be Empty ${N_MINUS_ONE_IMAGE_FILE_PATH}
... msg=Must set N_MINUS_ONE_IMAGE_FILE_PATH.
Should Not Be Empty ${N_PLUS_ONE_IMAGE_FILE_PATH}
... msg=N_PLUS_ONE_IMAGE_FILE_PATH.
Should Not Be Empty ${OS_HOST} msg=Must set OS_HOST.
Should Not Be Empty ${OS_USERNAME} msg=Must set OS_USERNAME.
Should Not Be Empty ${OS_PASSWORD} msg=Must set OS_PASSWORD.
Code Update And Power On Host
[Documentation] Shutdown the host, update to the given image, and then
... verify that the host is able to power on.
[Arguments] ${image_file_path}
# Description of argument(s):
# image_file_path Path to the host image file.
REST Power Off stack_mode=skip quiet=${1}
Delete All PNOR Images
Upload And Activate Image ${image_file_path}
REST Power On