| *** Settings *** |
| Documentation This suite verifies the power restore policy supported by |
| ... REST Interfaces. |
| ... Refer here for documentation on the REST interfaces |
| ... https://github.com/openbmc/docs/blob/master/rest-api.md |
| |
| Resource ../lib/rest_client.robot |
| Resource ../lib/pdu/pdu.robot |
| Resource ../lib/utils.robot |
| Resource ../lib/openbmc_ffdc.robot |
| Resource ../lib/state_manager.robot |
| |
| |
| Library SSHLibrary |
| |
| Test Teardown FFDC On Test Case Fail |
| Force Tags chassisboot bmcreboot |
| |
| *** Variables *** |
| |
| *** Test Cases *** |
| |
| Set the power restore policy |
| #Policy Expected System State Next System State |
| |
| LEAVE_OFF Off Off |
| LEAVE_OFF Running Off |
| ALWAYS_POWER_ON Off Running |
| ALWAYS_POWER_ON Running Running |
| RESTORE_LAST_STATE Running Running |
| RESTORE_LAST_STATE Off Off |
| |
| [Documentation] Test to validate restore policy attribute functionality. |
| ... Policy: |
| ... System policy to restore on power cycle |
| ... Expected System State: |
| ... State where system should be before running the |
| ... test case |
| ... Next System State: |
| ... After power cycle, system should reach this |
| ... specific state |
| |
| [Template] Set Restore Policy |
| |
| *** Keywords *** |
| |
| Set Restore Policy |
| [Arguments] ${policy} ${expectedState} ${nextState} |
| |
| Set BMC Power Policy ${policy} |
| |
| ${currentState}= Get Host State |
| |
| Log Current System State= ${currentState} |
| Log Expected System State= ${expectedState} |
| Log Next System State= ${nextState} |
| |
| Run Keyword If |
| ... '${currentState}' != '${expectedState}' |
| ... Set Initial Test State ${expectedState} |
| |
| Log "Doing power cycle" |
| PDU Power Cycle |
| Check If BMC is Up 5 min 10 sec |
| Log "BMC is Online now" |
| |
| Wait Until Keyword Succeeds |
| ... 5 min 10 sec Is BMC Ready |
| |
| |
| Set Initial Test State |
| [Documentation] Poweron if ON expected, Poweroff if OFF expected |
| ... to initial state of the test. |
| [Arguments] ${expectedState} |
| |
| Run Keyword If |
| ... '${expectedState}' == 'Running' |
| ... Initiate Host Boot |
| |
| Run Keyword If |
| ... '${expectedState}' == 'Off' |
| ... Initiate Host PowerOff |