blob: 4586e66995ce31d97d21583650011a6e816be4ad [file] [log] [blame]
Rahul Maheshwarie95622c2017-02-24 10:04:29 -06001*** Settings ***
2
3Documentation Test auto reboot functionality of host.
4
5Resource ../lib/openbmc_ffdc.robot
6Resource ../lib/rest_client.robot
7Resource ../lib/state_manager.robot
George Keishingeac2eb22017-10-03 05:24:17 -05008Resource ../lib/boot_utils.robot
Rahul Maheshwarie95622c2017-02-24 10:04:29 -06009
10Test Setup Open Connection And Log In
11Test Teardown Post Testcase Execution
George Keishingeac2eb22017-10-03 05:24:17 -050012Suite Teardown Smart Power Off
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060013
14*** Variables ***
15
16
17*** Test Cases ***
18
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060019Verify Host Quiesce State Without Auto Reboot During Boot
20 # Description of template fields:
Rahul Maheshwariffd30de2017-06-27 05:57:45 -050021 # Auto Reboot Initial Host State Expected Host Action
Sweta Potthuri62a23572017-07-28 04:05:13 -050022 ${0} Booting No Reboot
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060023 [Documentation] Validate "Quiesce" state during IPL.
24 [Tags] Verify_Host_Quiesce_State_Without_Auto_Reboot_During_Boot
25 [Template] Verify Host Quiesce State
26
George Keishing37cfa6b2017-06-15 10:25:55 -050027
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060028Verify Host Quiesce State With Auto Reboot During Boot
29 # Description of template fields:
Rahul Maheshwariffd30de2017-06-27 05:57:45 -050030 # Auto Reboot Initial Host State Expected Host Action
Sweta Potthuri62a23572017-07-28 04:05:13 -050031 ${1} Booting Reboot
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060032 [Documentation] Validate "Quiesce" state during IPL.
33 [Tags] Verify_Host_Quiesce_State_With_Auto_Reboot_During_Boot
34 [Template] Verify Host Quiesce State
35
36
37*** Keywords ***
38
39Verify Host Quiesce State
40 [Documentation] Inject watchdog error on host to reach "Quiesce" state.
41 ... Later recover host from this state.
Rahul Maheshwariffd30de2017-06-27 05:57:45 -050042 [Arguments] ${auto_reboot} ${initial_host_state} ${action}
43 # Description of argument(s):
Sweta Potthuri62a23572017-07-28 04:05:13 -050044 # auto_reboot Auto reboot setting
45 # i.e 1 for enabling and 0 for disabling.
Rahul Maheshwariffd30de2017-06-27 05:57:45 -050046 # initial_host_state State of host before injecting error.
47 # action Action of host due to error ("No Reboot" or
Sweta Potthurie0c02892017-07-31 00:43:40 -050048 # "Reboot").
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060049
50 Set Auto Reboot ${auto_reboot}
51
Rahul Maheshwariffd30de2017-06-27 05:57:45 -050052 Run Keyword If '${initial_host_state}' == 'Booting'
53 # Booting refers to host OS starting in progress.
54 ... Run Keywords Get Boot Progress To OS Starting State
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060055
56 Trigger Host Watchdog Error
57 ${resp}= Run Keyword And Return Status Is Host Rebooted
58
59 Run Keyword If '${action}' == 'No Reboot'
60 ... Run Keywords Should Be Equal ${resp} ${False} AND
61 ... Wait Until Keyword Succeeds 3 min 5 sec Is Host Quiesced AND
62 ... Recover Quiesced Host
63 ... ELSE IF '${action}' == 'Reboot'
64 ... Wait Until Keyword Succeeds 3 min 5 sec Is Host Rebooted
65
66
67Post Testcase Execution
68 [Documentation] Do the post test teardown.
69 ... 1. Capture FFDC on test failure.
70 ... 2. Set default value for auto reboot.
71 ... 3. Close all open SSH connections.
72
73 FFDC On Test Case Fail
Sweta Potthuri62a23572017-07-28 04:05:13 -050074 Set Auto Reboot ${1}
Rahul Maheshwarie95622c2017-02-24 10:04:29 -060075 Close All Connections