blob: 4f9eb8d3ac71fd616dd80e15f6725b55d007e696 [file] [log] [blame]
*** Settings ***
Documentation Test reset reload functionality of BMC.
Resource ../lib/rest_client.robot
Resource ../lib/state_manager.robot
Resource ../lib/openbmc_ffdc.robot
Resource ../lib/utils.robot
Resource ../lib/boot_utils.robot
Resource ../lib/open_power_utils.robot
Library ../lib/bmc_ssh_utils.py
Test Setup Open Connection And Log In
Test Teardown Test Teardown Execution
*** Variables ***
${LOOP_COUNT} ${1}
*** Test Cases ***
Verify BMC Reset Reload With System On
[Documentation] Validate chassis "ON" and host "Running" state is
... unchanged after BMC reset reload.
[Tags] Verify_BMC_Reset_Reload_With_System_On
Initiate Host Boot
Trigger Reset Reload via BMC Reboot
${rr_status}= Check Reset Reload Status
Should Be Equal ${rr_status} Yes
Wait Until Keyword Succeeds 5 min 10 sec Is OS Booted
Test Reset Reload When Host Booted
[Documentation] Reset reload when host is booted.
[Tags] Test_Reset_Reload_When_Host_Booted
Repeat Keyword ${LOOP_COUNT} times Reboot BMC And Check For Errors
*** Keywords ***
Reboot BMC And Check For Errors
[Documentation] Boot to OS, reboot BMC and verify OCC and logs.
OBMC Reboot (run)
Verify OCC State ${1}
${journal_log}= BMC Execute Command
... journalctl -b --no-pager | egrep 'SEGV|core-dump' ignore_err=1
Should Be Empty ${journal_log[0]}
Check Reset Reload Status
[Documentation] Returns reset reload status based on file presence.
${rr_status} ${stderr} ${rc}= BMC Execute Command
... test -e /run/openbmc/chassis@0-on && echo "Yes" || echo "No"
[Return] ${rr_status}
Trigger Reset Reload via BMC Reboot
[Documentation] Initiate Reset reload using BMC Reboot.
Initiate BMC Reboot
Wait Until Keyword Succeeds 10 min 10 sec Is BMC Ready
Test Teardown Execution
[Documentation] Do the post test teardown.
... 1. Capture FFDC on test failure.
... 2. Close all open SSH connections.
FFDC On Test Case Fail
Close All Connections