1*** Settings *** 2Documentation Module to test network stability. 3... By default running HTX mdt.bu profile for stress test. 4 5Resource ../syslib/utils_os.robot 6Library ../syslib/utils_keywords.py 7 8Test Setup Test Setup Execution 9Test Teardown Test Teardown Execution 10 11*** Variables **** 12 13${stack_mode} skip 14 15*** Test Cases *** 16 17Network Stability Test 18 [Documentation] Execute network stress in loop. 19 [Tags] Network_Stability_Test 20 21 # Run the network stress test HTX_LOOP times in loop. 22 Repeat Keyword ${HTX_LOOP} times Execute Network Test 23 24 25*** Keywords *** 26 27Execute Network Test 28 [Documentation] Execute network stress test. 29 # Test Flow: 30 # - Power on 31 # - Establish SSH connection session 32 # - Create HTX mdt profile 33 # - Run HTX exerciser 34 # - Inject network activity on BMC 35 # - Check HTX status for errors 36 # - Shutdown HTX if no error when timer expires 37 38 REST Power On stack_mode=skip 39 40 # Post Power off and on, the OS SSH session needs to be established. 41 Login To OS 42 43 Run Keyword If '${HTX_MDT_PROFILE}' == 'mdt.bu' 44 ... Create Default MDT Profile 45 46 Run MDT Profile 47 48 # HTX is running, inject network traffic and check every HTX_INTERVAL 49 ${status}= Run Until Keyword Fails ${HTX_DURATION} ${HTX_INTERVAL} 50 ... Start Network Test 51 52 Run Keyword If '${status}' == 'False' 53 ... Fail Network is unstable. Please check for errors. 54 55 Shutdown HTX Exerciser 56 57 Rprint Timen HTX Test ran for: ${HTX_DURATION} 58 59 60Start Network Test 61 [Documentation] Start network stress test. 62 BMC Network Payload 63 Check HTX Run Status 64 65 66BMC Network Payload 67 [Documentation] Start creating network activity over BMC network. 68 69 # REST GET enumerate call. 70 OpenBMC Get Request 71 ... /xyz/openbmc_project/inventory/enumerate timeout=${20} quiet=${1} 72 73 # Upload 32 MB data via REST to BMC. 74 REST Upload File To BMC 75 76 77Test Setup Execution 78 [Documentation] Do the initial test setup. 79 80 REST Power On stack_mode=skip 81 Delete All Error Logs 82 Tool Exist htxcmdline 83 84 # Shutdown if HTX is running. 85 ${status}= Is HTX Running 86 Run Keyword If '${status}' == 'True' 87 ... Shutdown HTX Exerciser 88 89 90Test Teardown Execution 91 [Documentation] Do the post test teardown. 92 # 1. Shut down HTX exerciser if test Failed. 93 # 2. Capture FFDC on test failure. 94 # 3. Close all open SSH connections. 95 96 # Keep HTX running if user set HTX_KEEP_RUNNING to 1. 97 Run Keyword If '${TEST_STATUS}' == 'FAIL' and ${HTX_KEEP_RUNNING} == ${0} 98 ... Shutdown HTX Exerciser 99 100 FFDC On Test Case Fail 101 Close All Connections 102