1***Settings*** 2Documentation Generic REST/SSH/IPMI stress buster program. 3 4Library ../lib/jobs_processing.py 5Resource ../lib/rest_client.robot 6Resource ../lib/connection_client.robot 7Resource ../lib/ipmi_client.robot 8Resource ../lib/utils.robot 9Resource ../lib/openbmc_ffdc.robot 10 11Test Teardown FFDC On Test Case Fail 12 13***Variables*** 14 15# Caller can specify a value for the following using -v parms 16# Currently REST/SSH/IPMI session allowed. 17${REST_BUSTER_MAX} ${16} 18${SSH_BUSTER_MAX} ${16} 19${IPMI_BUSTER_MAX} ${5} 20 21***Test Cases*** 22 23Stress BMC REST Server 24 [Documentation] Execute maximum allowed REST operation. 25 [Tags] Stress_BMC_REST_Server 26 27 Log To Console REST call request burst ${REST_BUSTER_MAX} 28 ${dict}= Execute Process 29 ... ${REST_BUSTER_MAX} REST Enumerate Request On BMC 30 Dictionary Should Not Contain Value ${dict} False 31 ... msg=One or more REST operations has failed. 32 33 34Stress BMC SSH Server 35 [Documentation] Execute maximum allowed SSH operation. 36 [Tags] Stress_BMC_SSH_Server 37 38 Log To Console SSH call request burst ${SSH_BUSTER_MAX} 39 ${dict}= Execute Process 40 ... ${SSH_BUSTER_MAX} SSH Connect And Execute Command 41 Dictionary Should Not Contain Value ${dict} False 42 ... msg=One or more SSH operations has failed. 43 44 45Stress BMC IPMI Server 46 [Documentation] Execute maximum allowed IPMI operation. 47 [Tags] Stress_BMC_IPMI_Server 48 49 Log To Console IPMI call request burst ${IPMI_BUSTER_MAX} 50 ${dict}= Execute Process ${IPMI_BUSTER_MAX} IPMI Check Status 51 Dictionary Should Not Contain Value ${dict} False 52 ... msg=One or more IPMI operations has failed. 53 54***Keywords*** 55 56REST Enumerate Request On BMC 57 [Documentation] Execute REST GET operation. 58 59 # Create REST session. 60 Create Session openbmc ${AUTH_URI} 61 ${headers}= Create Dictionary Content-Type=application/json 62 @{credentials}= Create List ${rest_username} ${rest_password} 63 ${data}= Create Dictionary data=@{credentials} 64 ${resp}= POST On Session openbmc /login json=${data} headers=${headers} 65 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 66 67 # Trigger GET REST enumeration. 68 ${resp}= GET On Session openbmc /redfish/v1/Managers/${MANAGER_ID} expected_status=any 69 Log To Console GET Request /redfish/v1/Managers/${MANAGER_ID} 70 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 71 Delete All Sessions 72 73 74SSH Connect And Execute Command 75 [Documentation] Execute SSH command execution operation. 76 BMC Execute Command df -h 77 78 79IPMI Check Status 80 [Documentation] Execute IPMI command execution operation. 81 Run IPMI Standard Command chassis status 82