blob: 6066f5575df49eeba4c0dbaa7243ac8538e1e910 [file] [log] [blame]
Chris Austenb29d2e82016-06-07 12:25:35 -05001*** Settings ***
George Keishing6b59f1d2016-10-12 04:14:53 -05002Documentation 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 Austenb29d2e82016-06-07 12:25:35 -05006
7Resource ../lib/rest_client.robot
8Resource ../lib/pdu/pdu.robot
9Resource ../lib/utils.robot
George Keishingd55a4be2016-08-26 03:28:17 -050010Resource ../lib/openbmc_ffdc.robot
George Keishing129f38a2017-01-06 01:43:40 -060011Resource ../lib/state_manager.robot
Chris Austenb29d2e82016-06-07 12:25:35 -050012
13
14Library SSHLibrary
15
Gunnar Millseac1af22016-11-14 15:30:09 -060016Test Teardown FFDC On Test Case Fail
causten147f5752016-08-11 16:24:45 -050017Force Tags chassisboot bmcreboot
Chris Austenb29d2e82016-06-07 12:25:35 -050018
George Keishing6b59f1d2016-10-12 04:14:53 -050019*** Variables ***
Chris Austenb29d2e82016-06-07 12:25:35 -050020
George Keishing6b59f1d2016-10-12 04:14:53 -050021*** Test Cases ***
George Keishingd277f832016-10-07 12:04:50 -050022
George Keishing6b59f1d2016-10-12 04:14:53 -050023Set the power restore policy
24 #Policy Expected System State Next System State
George Keishingd277f832016-10-07 12:04:50 -050025
George Keishing129f38a2017-01-06 01:43:40 -060026 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 Austenb29d2e82016-06-07 12:25:35 -050032
George Keishing6b59f1d2016-10-12 04:14:53 -050033 [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 Austenb29d2e82016-06-07 12:25:35 -050044
Gunnar Mills7c8923f2016-12-12 21:19:52 -060045*** Keywords ***
George Keishing6b59f1d2016-10-12 04:14:53 -050046
47Set Restore Policy
Gunnar Mills38032802016-12-12 13:43:40 -060048 [Arguments] ${policy} ${expectedState} ${nextState}
George Keishing6b59f1d2016-10-12 04:14:53 -050049
Sridevi Ramesh1699d372016-12-06 00:20:22 -060050 Set BMC Power Policy ${policy}
George Keishing6b59f1d2016-10-12 04:14:53 -050051
George Keishing129f38a2017-01-06 01:43:40 -060052 ${currentState}= Get Host State
George Keishing6b59f1d2016-10-12 04:14:53 -050053
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 Austenb29d2e82016-06-07 12:25:35 -050063 PDU Power Cycle
George Keishing129f38a2017-01-06 01:43:40 -060064 Check If BMC is Up 5 min 10 sec
George Keishing6b59f1d2016-10-12 04:14:53 -050065 Log "BMC is Online now"
Chris Austenb29d2e82016-06-07 12:25:35 -050066
George Keishing6b59f1d2016-10-12 04:14:53 -050067 Wait Until Keyword Succeeds
George Keishing129f38a2017-01-06 01:43:40 -060068 ... 5 min 10 sec Is BMC Ready
Chris Austenb29d2e82016-06-07 12:25:35 -050069
70
George Keishing6b59f1d2016-10-12 04:14:53 -050071Set Initial Test State
72 [Documentation] Poweron if ON expected, Poweroff if OFF expected
73 ... to initial state of the test.
Gunnar Mills38032802016-12-12 13:43:40 -060074 [Arguments] ${expectedState}
George Keishing6b59f1d2016-10-12 04:14:53 -050075
76 Run Keyword If
George Keishing129f38a2017-01-06 01:43:40 -060077 ... '${expectedState}' == 'Running'
78 ... Initiate Host Boot
George Keishing6b59f1d2016-10-12 04:14:53 -050079
80 Run Keyword If
George Keishing129f38a2017-01-06 01:43:40 -060081 ... '${expectedState}' == 'Off'
82 ... Initiate Host PowerOff