|  | *** 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 |