*** Settings *** Documentation Module to test network stability. ... By default running HTX mdt.bu profile for stress test. Resource ../syslib/utils_os.robot Library ../syslib/utils_keywords.py Test Setup Test Setup Execution Test Teardown Test Teardown Execution *** Variables **** ${stack_mode} skip *** Test Cases *** Network Stability Test [Documentation] Execute network stress in loop. [Tags] Network_Stability_Test # Run the network stress test HTX_LOOP times in loop. Repeat Keyword ${HTX_LOOP} times Execute Network Test *** Keywords *** Execute Network Test [Documentation] Execute network stress test. # Test Flow: # - Power on # - Establish SSH connection session # - Create HTX mdt profile # - Run HTX exerciser # - Inject network activity on BMC # - Check HTX status for errors # - Shutdown HTX if no error when timer expires REST Power On stack_mode=skip # Post Power off and on, the OS SSH session needs to be established. Login To OS Run Keyword If '${HTX_MDT_PROFILE}' == 'mdt.bu' ... Create Default MDT Profile Run MDT Profile # HTX is running, inject network traffic and check every HTX_INTERVAL ${status}= Run Until Keyword Fails ${HTX_DURATION} ${HTX_INTERVAL} ... Start Network Test Run Keyword If '${status}' == 'False' ... Fail Network is unstable. Please check for errors. Shutdown HTX Exerciser Rprint Timen HTX Test ran for: ${HTX_DURATION} Start Network Test [Documentation] Start network stress test. BMC Network Payload Check HTX Run Status BMC Network Payload [Documentation] Start creating network activity over BMC network. # REST GET enumerate call. OpenBMC Get Request ... /xyz/openbmc_project/inventory/enumerate timeout=${20} quiet=${1} # Upload 32 MB data via REST to BMC. REST Upload File To BMC Test Setup Execution [Documentation] Do the initial test setup. REST Power On stack_mode=skip Delete All Error Logs Tool Exist htxcmdline # Shutdown if HTX is running. ${status}= Is HTX Running Run Keyword If '${status}' == 'True' ... Shutdown HTX Exerciser Test Teardown Execution [Documentation] Do the post test teardown. # 1. Shut down HTX exerciser if test Failed. # 2. Capture FFDC on test failure. # 3. Close all open SSH connections. # Keep HTX running if user set HTX_KEEP_RUNNING to 1. Run Keyword If '${TEST_STATUS}' == 'FAIL' and ${HTX_KEEP_RUNNING} == ${0} ... Shutdown HTX Exerciser FFDC On Test Case Fail Close All Connections