| *** Settings *** | 
 | Documentation     Test BMC code update on a target BMC. | 
 | ...               Execution Command: | 
 | ...               python -m robot -v OPENBMC_HOST:<hostname> -v OS_HOST:<OS IP> | 
 | ...               -v OS_USERNAME:<OS username> -v OS_PASSWORD:<OS password> | 
 | ...               -v IMAGE_FILE_PATH:<path/*.tar> ipmi_bmc_code_update.robot | 
 |  | 
 | Resource          ../../lib/code_update_utils.robot | 
 | Resource          ../../lib/ipmi_client.robot | 
 |  | 
 | Suite Setup       Suite Setup Execution | 
 |  | 
 |  | 
 | *** Variables *** | 
 |  | 
 | ${IMAGE_FILE_PATH}                ${EMPTY} | 
 | ${SKIP_UPDATE_IF_ACTIVE}          false | 
 |  | 
 |  | 
 | *** Test Cases *** | 
 |  | 
 | Verify IPMI Disable Policy Post BMC Code Update | 
 |     [Documentation]  Disable IPMI, update BMC and verify post-update. | 
 |     [Tags]  Verify_IPMI_Disable_Policy_Post_BMC_Code_Update | 
 |     [Teardown]  Run Keywords  FFDC On Test Case Fail | 
 |     ...  AND  Run Inband IPMI Standard Command  lan set 1 access on | 
 |  | 
 |     Run Inband IPMI Standard Command  lan set 1 access off | 
 |     Run Keyword and Expect Error  *Unable to establish IPMI* | 
 |     ...  Run External IPMI Standard Command  lan print | 
 |  | 
 |     Upload And Activate Image  ${IMAGE_FILE_PATH} | 
 |     ...  skip_if_active=${SKIP_UPDATE_IF_ACTIVE} | 
 |     OBMC Reboot (off) | 
 |     Verify Running BMC Image  ${IMAGE_FILE_PATH} | 
 |  | 
 |     Run Keyword and Expect Error  *Unable to establish IPMI* | 
 |     ...  Run External IPMI Standard Command  lan print | 
 |  | 
 |  | 
 | *** Keywords *** | 
 |  | 
 | Suite Setup Execution | 
 |     [Documentation]  Do code update test case setup. | 
 |  | 
 |     # Check if image file is provided. | 
 |     OperatingSystem.File Should Exist  ${IMAGE_FILE_PATH} | 
 |  | 
 |     # - Clean up all existing BMC dumps. | 
 |     Run Key  Delete All Dumps  ignore=1 | 
 |     Run Keyword And Ignore Error  Smart Power Off | 
 |  |