blob: 87df8c0bb4dca19b795a24e38493e14ee39a022e [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 Keishing6b59f1d2016-10-12 04:14:53 -050011Resource ../lib/boot/boot_resource_master.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 ***
Sridevi Ramesh1699d372016-12-06 00:20:22 -060020${HOST_SETTING} ${SETTINGS_URI}host0
Chris Austenb29d2e82016-06-07 12:25:35 -050021
George Keishing6b59f1d2016-10-12 04:14:53 -050022*** Test Cases ***
George Keishingd277f832016-10-07 12:04:50 -050023
George Keishing6b59f1d2016-10-12 04:14:53 -050024Set the power restore policy
25 #Policy Expected System State Next System State
George Keishingd277f832016-10-07 12:04:50 -050026
George Keishing6b59f1d2016-10-12 04:14:53 -050027 LEAVE_OFF HOST_POWERED_OFF HOST_POWERED_OFF
28 LEAVE_OFF HOST_BOOTED HOST_POWERED_OFF
29 ALWAYS_POWER_ON HOST_POWERED_OFF HOST_BOOTED
30 ALWAYS_POWER_ON HOST_BOOTED HOST_BOOTED
31 RESTORE_LAST_STATE HOST_BOOTED HOST_BOOTED
32 RESTORE_LAST_STATE HOST_POWERED_OFF HOST_POWERED_OFF
Chris Austenb29d2e82016-06-07 12:25:35 -050033
George Keishing6b59f1d2016-10-12 04:14:53 -050034 [Documentation] Test to validate restore policy attribute functionality.
35 ... Policy:
36 ... System policy to restore on power cycle
37 ... Expected System State:
38 ... State where system should be before running the
39 ... test case
40 ... Next System State:
41 ... After power cycle, system should reach this
42 ... specific state
43
44 [Template] Set Restore Policy
Chris Austenb29d2e82016-06-07 12:25:35 -050045
Gunnar Mills7c8923f2016-12-12 21:19:52 -060046*** Keywords ***
George Keishing6b59f1d2016-10-12 04:14:53 -050047
48Set Restore Policy
Gunnar Mills38032802016-12-12 13:43:40 -060049 [Arguments] ${policy} ${expectedState} ${nextState}
George Keishing6b59f1d2016-10-12 04:14:53 -050050
Sridevi Ramesh1699d372016-12-06 00:20:22 -060051 Set BMC Power Policy ${policy}
George Keishing6b59f1d2016-10-12 04:14:53 -050052
53 ${currentState}=
54 ... Read Attribute ${HOST_SETTING} system_state
55
56 Log Current System State= ${currentState}
57 Log Expected System State= ${expectedState}
58 Log Next System State= ${nextState}
59
60 Run Keyword If
61 ... '${currentState}' != '${expectedState}'
62 ... Set Initial Test State ${expectedState}
63
64 Log "Doing power cycle"
Chris Austenb29d2e82016-06-07 12:25:35 -050065 PDU Power Cycle
George Keishingd277f832016-10-07 12:04:50 -050066 Check If BMC is Up 5 min 10 sec
George Keishing6b59f1d2016-10-12 04:14:53 -050067 Log "BMC is Online now"
Chris Austenb29d2e82016-06-07 12:25:35 -050068
George Keishing6b59f1d2016-10-12 04:14:53 -050069 Wait Until Keyword Succeeds
70 ... 5 min 10 sec System State ${nextState}
Chris Austenb29d2e82016-06-07 12:25:35 -050071
72
George Keishing6b59f1d2016-10-12 04:14:53 -050073Set Initial Test State
74 [Documentation] Poweron if ON expected, Poweroff if OFF expected
75 ... to initial state of the test.
Gunnar Mills38032802016-12-12 13:43:40 -060076 [Arguments] ${expectedState}
George Keishing6b59f1d2016-10-12 04:14:53 -050077
78 Run Keyword If
79 ... '${expectedState}' == 'HOST_BOOTED'
80 ... BMC Power On
81
82 Run Keyword If
83 ... '${expectedState}' == 'HOST_POWERED_OFF'
84 ... BMC Power Off
85
86
87System State
Gunnar Mills38032802016-12-12 13:43:40 -060088 [Arguments] ${nextState}
George Keishing6b59f1d2016-10-12 04:14:53 -050089 ${afterPduSystemState}=
90 ... Read Attribute ${HOST_SETTING} system_state
91 Should be equal ${afterPduSystemState} ${nextState}
Chris Austenb29d2e82016-06-07 12:25:35 -050092