Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 1 | *** Settings *** |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 2 | Documentation This suite verifies the power restore policy supported by |
| 3 | ... REST Interfaces. |
| 4 | ... Refer here for documentation on the REST interfaces |
| 5 | ... https://github.com/openbmc/docs/blob/master/rest-api.md |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 6 | |
| 7 | Resource ../lib/rest_client.robot |
| 8 | Resource ../lib/pdu/pdu.robot |
| 9 | Resource ../lib/utils.robot |
George Keishing | d55a4be | 2016-08-26 03:28:17 -0500 | [diff] [blame] | 10 | Resource ../lib/openbmc_ffdc.robot |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 11 | Resource ../lib/state_manager.robot |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 12 | |
| 13 | |
| 14 | Library SSHLibrary |
| 15 | |
Gunnar Mills | eac1af2 | 2016-11-14 15:30:09 -0600 | [diff] [blame] | 16 | Test Teardown FFDC On Test Case Fail |
causten | 147f575 | 2016-08-11 16:24:45 -0500 | [diff] [blame] | 17 | Force Tags chassisboot bmcreboot |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 18 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 19 | *** Variables *** |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 20 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 21 | *** Test Cases *** |
George Keishing | d277f83 | 2016-10-07 12:04:50 -0500 | [diff] [blame] | 22 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 23 | Set the power restore policy |
| 24 | #Policy Expected System State Next System State |
George Keishing | d277f83 | 2016-10-07 12:04:50 -0500 | [diff] [blame] | 25 | |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 26 | LEAVE_OFF Off Off |
| 27 | LEAVE_OFF Running Off |
| 28 | ALWAYS_POWER_ON Off Running |
| 29 | ALWAYS_POWER_ON Running Running |
| 30 | RESTORE_LAST_STATE Running Running |
| 31 | RESTORE_LAST_STATE Off Off |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 32 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 33 | [Documentation] Test to validate restore policy attribute functionality. |
| 34 | ... Policy: |
| 35 | ... System policy to restore on power cycle |
| 36 | ... Expected System State: |
| 37 | ... State where system should be before running the |
| 38 | ... test case |
| 39 | ... Next System State: |
| 40 | ... After power cycle, system should reach this |
| 41 | ... specific state |
| 42 | |
| 43 | [Template] Set Restore Policy |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 44 | |
Gunnar Mills | 7c8923f | 2016-12-12 21:19:52 -0600 | [diff] [blame] | 45 | *** Keywords *** |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 46 | |
| 47 | Set Restore Policy |
Gunnar Mills | 3803280 | 2016-12-12 13:43:40 -0600 | [diff] [blame] | 48 | [Arguments] ${policy} ${expectedState} ${nextState} |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 49 | |
Sridevi Ramesh | 1699d37 | 2016-12-06 00:20:22 -0600 | [diff] [blame] | 50 | Set BMC Power Policy ${policy} |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 51 | |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 52 | ${currentState}= Get Host State |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 53 | |
| 54 | Log Current System State= ${currentState} |
| 55 | Log Expected System State= ${expectedState} |
| 56 | Log Next System State= ${nextState} |
| 57 | |
| 58 | Run Keyword If |
| 59 | ... '${currentState}' != '${expectedState}' |
| 60 | ... Set Initial Test State ${expectedState} |
| 61 | |
| 62 | Log "Doing power cycle" |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 63 | PDU Power Cycle |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 64 | Check If BMC is Up 5 min 10 sec |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 65 | Log "BMC is Online now" |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 66 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 67 | Wait Until Keyword Succeeds |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 68 | ... 5 min 10 sec Is BMC Ready |
Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 69 | |
| 70 | |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 71 | Set Initial Test State |
| 72 | [Documentation] Poweron if ON expected, Poweroff if OFF expected |
| 73 | ... to initial state of the test. |
Gunnar Mills | 3803280 | 2016-12-12 13:43:40 -0600 | [diff] [blame] | 74 | [Arguments] ${expectedState} |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 75 | |
| 76 | Run Keyword If |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 77 | ... '${expectedState}' == 'Running' |
| 78 | ... Initiate Host Boot |
George Keishing | 6b59f1d | 2016-10-12 04:14:53 -0500 | [diff] [blame] | 79 | |
| 80 | Run Keyword If |
George Keishing | 129f38a | 2017-01-06 01:43:40 -0600 | [diff] [blame] | 81 | ... '${expectedState}' == 'Off' |
| 82 | ... Initiate Host PowerOff |