| *** Settings *** |
| |
| Documentation Test auto reboot functionality of host. |
| |
| Resource ../lib/openbmc_ffdc.robot |
| Resource ../lib/rest_client.robot |
| Resource ../lib/state_manager.robot |
| |
| Test Setup Open Connection And Log In |
| Test Teardown Post Testcase Execution |
| |
| *** Variables *** |
| |
| |
| *** Test Cases *** |
| |
| Verify Host Quiesce State Without Auto Reboot |
| # Description of template fields: |
| # Auto Reboot Host State Expected Host Action |
| no Off No Reboot |
| [Documentation] Validate "Quiesce" state without auto reboot. |
| [Tags] Verify_Host_Quiesce_State_Without_Auto_Reboot |
| [Template] Verify Host Quiesce State |
| |
| Verify Host Quiesce State With Auto Reboot |
| # Description of template fields: |
| # Auto Reboot Host State Expected Host Action |
| yes Off Reboot |
| [Documentation] Validate "Quiesce" state with auto reboot. |
| [Tags] Verify_Host_Quiesce_State_With_Auto_Reboot |
| [Template] Verify Host Quiesce State |
| |
| Verify Host Quiesce State Without Auto Reboot During Boot |
| # Description of template fields: |
| # Auto Reboot Host State Expected Host Action |
| no Booting No Reboot |
| [Documentation] Validate "Quiesce" state during IPL. |
| [Tags] Verify_Host_Quiesce_State_Without_Auto_Reboot_During_Boot |
| [Template] Verify Host Quiesce State |
| |
| Verify Host Quiesce State With Auto Reboot During Boot |
| # Description of template fields: |
| # Auto Reboot Host State Expected Host Action |
| yes Booting Reboot |
| [Documentation] Validate "Quiesce" state during IPL. |
| [Tags] Verify_Host_Quiesce_State_With_Auto_Reboot_During_Boot |
| [Template] Verify Host Quiesce State |
| |
| |
| *** Keywords *** |
| |
| Verify Host Quiesce State |
| [Documentation] Inject watchdog error on host to reach "Quiesce" state. |
| ... Later recover host from this state. |
| [Arguments] ${auto_reboot} ${host_state} ${action} |
| # Description of Arguments: |
| # auto_reboot Auto reboot setting ("yes" or "no"). |
| # host_state State of host before injecting error. |
| # action Action of host due to error ("No Reboot" or "Reboot"). |
| |
| Set Auto Reboot ${auto_reboot} |
| |
| Run Keyword If '${host_state}' == 'Off' Initiate Host PowerOff |
| ... ELSE IF '${host_state}' == 'Booting' |
| ... Run Keywords Initiate Host PowerOff AND Initiate Host Boot |
| |
| Trigger Host Watchdog Error |
| ${resp}= Run Keyword And Return Status Is Host Rebooted |
| |
| Run Keyword If '${action}' == 'No Reboot' |
| ... Run Keywords Should Be Equal ${resp} ${False} AND |
| ... Wait Until Keyword Succeeds 3 min 5 sec Is Host Quiesced AND |
| ... Recover Quiesced Host |
| ... ELSE IF '${action}' == 'Reboot' |
| ... Wait Until Keyword Succeeds 3 min 5 sec Is Host Rebooted |
| |
| |
| Post Testcase Execution |
| [Documentation] Do the post test teardown. |
| ... 1. Capture FFDC on test failure. |
| ... 2. Set default value for auto reboot. |
| ... 3. Close all open SSH connections. |
| |
| FFDC On Test Case Fail |
| Set Auto Reboot yes |
| Close All Connections |