| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 1 | *** Settings *** | 
|  | 2 | Documentation   Power cycle loop. This is to test where network service | 
|  | 3 | ...             becomes unavailable during AC-Cycle stress test. | 
|  | 4 |  | 
|  | 5 | Resource        ../lib/rest_client.robot | 
|  | 6 | Resource        ../lib/pdu/pdu.robot | 
|  | 7 | Resource        ../lib/utils.robot | 
|  | 8 | Resource        ../lib/openbmc_ffdc.robot | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 9 | Resource        ../lib/state_manager.robot | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 10 | Resource        ../lib/boot_utils.robot | 
| George Keishing | c26e74d | 2017-11-17 00:45:20 -0600 | [diff] [blame] | 11 | Resource        ../lib/code_update_utils.robot | 
| George Keishing | 9867bed | 2018-02-04 22:31:36 -0600 | [diff] [blame] | 12 | Library         ../lib/bmc_ssh_utils.py | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 13 |  | 
| George Keishing | 94659a2 | 2017-11-17 00:03:05 -0600 | [diff] [blame] | 14 | Test Teardown   Test Teardown Execution | 
| George Keishing | c26e74d | 2017-11-17 00:45:20 -0600 | [diff] [blame] | 15 | Suite Setup     Suite Setup Execution | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 16 |  | 
|  | 17 | *** Variables *** | 
|  | 18 | ${LOOP_COUNT}    ${50} | 
|  | 19 |  | 
| George Keishing | 2c89173 | 2018-09-18 07:39:59 -0500 | [diff] [blame] | 20 | # Error strings to check from journald. | 
| George Keishing | 5b8ff52 | 2019-09-05 11:15:41 -0500 | [diff] [blame] | 21 | ${ERROR_REGEX}     SEGV|core-dump|FAILURE|Failed to start | 
| George Keishing | 2c89173 | 2018-09-18 07:39:59 -0500 | [diff] [blame] | 22 |  | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 23 | *** Test Cases *** | 
|  | 24 |  | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 25 | Run Multiple Power Cycle | 
|  | 26 | [Documentation]  Execute multiple power cycles. | 
|  | 27 | [Setup]  Validate Parameters | 
|  | 28 | [Tags]  Run_Multiple_Power_Cycle | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 29 |  | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 30 | # By default run test for 50 loops, else user input iteration. | 
|  | 31 | # Fails immediately if any of the execution rounds fail and | 
|  | 32 | # check if BMC is still pinging and FFDC is collected. | 
|  | 33 | Repeat Keyword  ${LOOP_COUNT} times  Power Cycle System Via PDU | 
|  | 34 |  | 
|  | 35 |  | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 36 | Run Multiple BMC Reset Via Redfish | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 37 | [Documentation]  Execute multiple reboots via REST. | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 38 | [Tags]  Run_Multiple_BMC_Reset_Via_Redfish | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 39 |  | 
|  | 40 | # By default run test for 50 loops, else user input iteration. | 
|  | 41 | # Fails immediately if any of the execution rounds fail and | 
|  | 42 | # check if BMC is still pinging and FFDC is collected. | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 43 | Repeat Keyword  ${LOOP_COUNT} times  BMC Redfish Reset Cycle | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 44 |  | 
|  | 45 |  | 
|  | 46 | Run Multiple BMC Reset Via Reboot | 
|  | 47 | [Documentation]  Execute multiple reboots via "reboot" command. | 
|  | 48 | [Tags]  Run_Multiple_BMC_Reset_Via_Reboot | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 49 |  | 
|  | 50 | # By default run test for 50 loops, else user input iteration. | 
|  | 51 | # Fails immediately if any of the execution rounds fail and | 
|  | 52 | # check if BMC is still pinging and FFDC is collected. | 
|  | 53 | Repeat Keyword  ${LOOP_COUNT} times  BMC Reboot Cycle | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 54 |  | 
|  | 55 |  | 
|  | 56 | *** Keywords *** | 
|  | 57 |  | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 58 | Power Cycle System Via PDU | 
|  | 59 | [Documentation]  Power cycle system and wait for BMC to reach Ready state. | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 60 |  | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 61 | PDU Power Cycle | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 62 | Check If BMC Is Up  5 min  10 sec | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 63 |  | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 64 | Wait Until Keyword Succeeds  10 min  10 sec  Is BMC Ready | 
| George Keishing | b39a679 | 2017-11-10 22:58:52 -0600 | [diff] [blame] | 65 | Verify BMC RTC And UTC Time Drift | 
| George Keishing | ca709b0 | 2017-02-02 11:38:19 -0600 | [diff] [blame] | 66 |  | 
|  | 67 |  | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 68 | BMC Redfish Reset Cycle | 
|  | 69 | [Documentation]  Reset BMC via Redfish and verify required states. | 
|  | 70 |  | 
|  | 71 | Redfish OBMC Reboot (off) | 
|  | 72 | ${bmc_version}=  Get BMC Version | 
| George Keishing | 9aa2f0b | 2019-09-18 09:49:48 -0500 | [diff] [blame] | 73 | Valid Value  bmc_version  ["${initial_bmc_version}"] | 
| George Keishing | 5b8ff52 | 2019-09-05 11:15:41 -0500 | [diff] [blame] | 74 | Check For Regex In Journald  ${ERROR_REGEX}  error_check=${0}  boot=-b | 
| George Keishing | b39a679 | 2017-11-10 22:58:52 -0600 | [diff] [blame] | 75 | Verify BMC RTC And UTC Time Drift | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 76 | ${boot_side}=  Get BMC Flash Chip Boot Side | 
|  | 77 | Valid Value  boot_side  ['0'] | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 78 |  | 
|  | 79 |  | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 80 | BMC Reboot Cycle | 
|  | 81 | [Documentation]  Reboot BMC and wait for ready state. | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 82 |  | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 83 | OBMC Reboot (off)  stack_mode=normal | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 84 | ${bmc_version}=  Get BMC Version | 
| George Keishing | 9aa2f0b | 2019-09-18 09:49:48 -0500 | [diff] [blame] | 85 | Valid Value  bmc_version  ["${initial_bmc_version}"] | 
| George Keishing | b39a679 | 2017-11-10 22:58:52 -0600 | [diff] [blame] | 86 | Verify BMC RTC And UTC Time Drift | 
| George Keishing | ef3308b | 2019-09-28 10:50:33 -0500 | [diff] [blame] | 87 | Check For Regex In Journald  ${ERROR_REGEX}  error_check=${0}  boot=-b | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 88 | ${boot_side}=  Get BMC Flash Chip Boot Side | 
|  | 89 | Valid Value  boot_side  ['0'] | 
| George Keishing | bf1500d | 2017-10-30 12:47:47 -0500 | [diff] [blame] | 90 |  | 
|  | 91 |  | 
| George Keishing | 94659a2 | 2017-11-17 00:03:05 -0600 | [diff] [blame] | 92 | Test Teardown Execution | 
|  | 93 | [Documentation]  Do test case tear-down. | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 94 | Ping Host  ${OPENBMC_HOST} | 
| Gunnar Mills | eac1af2 | 2016-11-14 15:30:09 -0600 | [diff] [blame] | 95 | FFDC On Test Case Fail | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 96 |  | 
|  | 97 |  | 
|  | 98 | Validate Parameters | 
| George Keishing | 94659a2 | 2017-11-17 00:03:05 -0600 | [diff] [blame] | 99 | [Documentation]  Validate PDU parameters. | 
| George Keishing | 92abc99 | 2016-10-18 13:29:25 -0500 | [diff] [blame] | 100 | Should Not Be Empty   ${PDU_IP} | 
|  | 101 | Should Not Be Empty   ${PDU_TYPE} | 
|  | 102 | Should Not Be Empty   ${PDU_SLOT_NO} | 
|  | 103 | Should Not Be Empty   ${PDU_USERNAME} | 
|  | 104 | Should Not Be Empty   ${PDU_PASSWORD} | 
|  | 105 |  | 
| George Keishing | c26e74d | 2017-11-17 00:45:20 -0600 | [diff] [blame] | 106 |  | 
|  | 107 | Suite Setup Execution | 
| George Keishing | 5d5b8a2 | 2019-09-11 13:48:54 -0500 | [diff] [blame] | 108 | [Documentation]  Do suite setup. | 
|  | 109 |  | 
|  | 110 | ${bmc_version}=  Get BMC Version | 
|  | 111 | Set Suite Variable  ${initial_bmc_version}  ${bmc_version} |