196bd1224SGeorge Keishing*** Settings *** 296bd1224SGeorge KeishingDocumentation Power cycle loop. This is to test where network service 396bd1224SGeorge Keishing... becomes unavailable during AC-Cycle stress test. 496bd1224SGeorge Keishing 596bd1224SGeorge KeishingResource ../lib/rest_client.robot 696bd1224SGeorge KeishingResource ../lib/pdu/pdu.robot 796bd1224SGeorge KeishingResource ../lib/utils.robot 896bd1224SGeorge KeishingResource ../lib/openbmc_ffdc.robot 996bd1224SGeorge KeishingResource ../lib/state_manager.robot 1096bd1224SGeorge KeishingResource ../lib/boot_utils.robot 1196bd1224SGeorge Keishing 1296bd1224SGeorge KeishingTest Teardown Test Exit Logs 1396bd1224SGeorge Keishing 1496bd1224SGeorge Keishing*** Variables *** 1596bd1224SGeorge Keishing${LOOP_COUNT} ${50} 1696bd1224SGeorge Keishing 1796bd1224SGeorge Keishing*** Test Cases *** 1896bd1224SGeorge Keishing 1996bd1224SGeorge KeishingRun Multiple Power Cycle 2096bd1224SGeorge Keishing [Documentation] Execute multiple power cycles. 2196bd1224SGeorge Keishing [Setup] Validate Parameters 2296bd1224SGeorge Keishing [Tags] Run_Multiple_Power_Cycle 2396bd1224SGeorge Keishing 2496bd1224SGeorge Keishing # By default run test for 50 loops, else user input iteration. 2596bd1224SGeorge Keishing # Fails immediately if any of the execution rounds fail and 2696bd1224SGeorge Keishing # check if BMC is still pinging and FFDC is collected. 2796bd1224SGeorge Keishing Repeat Keyword ${LOOP_COUNT} times Power Cycle System Via PDU 2896bd1224SGeorge Keishing 2996bd1224SGeorge Keishing 3096bd1224SGeorge KeishingRun Multiple BMC Reset Via REST 3196bd1224SGeorge Keishing [Documentation] Execute multiple reboots via REST. 3296bd1224SGeorge Keishing [Tags] Run_Multiple_BMC_Reset_Via_REST 3396bd1224SGeorge Keishing 3496bd1224SGeorge Keishing # By default run test for 50 loops, else user input iteration. 3596bd1224SGeorge Keishing # Fails immediately if any of the execution rounds fail and 3696bd1224SGeorge Keishing # check if BMC is still pinging and FFDC is collected. 3796bd1224SGeorge Keishing Repeat Keyword ${LOOP_COUNT} times BMC REST Reset Cycle 3896bd1224SGeorge Keishing 3996bd1224SGeorge Keishing 4096bd1224SGeorge KeishingRun Multiple BMC Reset Via Reboot 4196bd1224SGeorge Keishing [Documentation] Execute multiple reboots via "reboot" command. 4296bd1224SGeorge Keishing [Tags] Run_Multiple_BMC_Reset_Via_Reboot 4396bd1224SGeorge Keishing 4496bd1224SGeorge Keishing # By default run test for 50 loops, else user input iteration. 4596bd1224SGeorge Keishing # Fails immediately if any of the execution rounds fail and 4696bd1224SGeorge Keishing # check if BMC is still pinging and FFDC is collected. 4796bd1224SGeorge Keishing Repeat Keyword ${LOOP_COUNT} times BMC Reboot Cycle 4896bd1224SGeorge Keishing 4996bd1224SGeorge Keishing 5096bd1224SGeorge Keishing*** Keywords *** 5196bd1224SGeorge Keishing 5296bd1224SGeorge KeishingPower Cycle System Via PDU 5396bd1224SGeorge Keishing [Documentation] Power cycle system and wait for BMC to reach Ready state. 5496bd1224SGeorge Keishing Log "Doing power cycle" 5596bd1224SGeorge Keishing PDU Power Cycle 5696bd1224SGeorge Keishing Check If BMC Is Up 5 min 10 sec 5796bd1224SGeorge Keishing 5896bd1224SGeorge Keishing Wait Until Keyword Succeeds 10 min 10 sec Is BMC Ready 59*b39a679dSGeorge Keishing Verify BMC RTC And UTC Time Drift 6096bd1224SGeorge Keishing 6196bd1224SGeorge Keishing 6296bd1224SGeorge KeishingBMC REST Reset Cycle 6396bd1224SGeorge Keishing [Documentation] Reset BMC via REST and wait for ready state. 6496bd1224SGeorge Keishing Log "Doing Reboot cycle" 6596bd1224SGeorge Keishing ${bmc_version_before}= Get BMC Version 6696bd1224SGeorge Keishing Initiate BMC Reboot 6796bd1224SGeorge Keishing Wait Until Keyword Succeeds 10 min 10 sec Is BMC Ready 6896bd1224SGeorge Keishing ${bmc_version_after}= Get BMC Version 6996bd1224SGeorge Keishing Should Be Equal ${bmc_version_before} ${bmc_version_after} 70*b39a679dSGeorge Keishing Verify BMC RTC And UTC Time Drift 7196bd1224SGeorge Keishing 7296bd1224SGeorge Keishing 7396bd1224SGeorge KeishingBMC Reboot Cycle 7496bd1224SGeorge Keishing [Documentation] Reboot BMC and wait for ready state. 7596bd1224SGeorge Keishing Log "Doing Reboot cycle" 7696bd1224SGeorge Keishing ${bmc_version_before}= Get BMC Version 7796bd1224SGeorge Keishing OBMC Reboot (off) stack_mode=normal 7896bd1224SGeorge Keishing ${bmc_version_after}= Get BMC Version 7996bd1224SGeorge Keishing Should Be Equal ${bmc_version_before} ${bmc_version_after} 80*b39a679dSGeorge Keishing Verify BMC RTC And UTC Time Drift 8196bd1224SGeorge Keishing 8296bd1224SGeorge Keishing 8396bd1224SGeorge KeishingTest Exit Logs 8496bd1224SGeorge Keishing Ping Host ${OPENBMC_HOST} 8596bd1224SGeorge Keishing FFDC On Test Case Fail 8696bd1224SGeorge Keishing 8796bd1224SGeorge Keishing 8896bd1224SGeorge KeishingValidate Parameters 8996bd1224SGeorge Keishing Should Not Be Empty ${PDU_IP} 9096bd1224SGeorge Keishing Should Not Be Empty ${PDU_TYPE} 9196bd1224SGeorge Keishing Should Not Be Empty ${PDU_SLOT_NO} 9296bd1224SGeorge Keishing Should Not Be Empty ${PDU_USERNAME} 9396bd1224SGeorge Keishing Should Not Be Empty ${PDU_PASSWORD} 9496bd1224SGeorge Keishing 95