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 Log To Console SSH call request burst ${SSH_BUSTER_MAX} 38 ${dict}= Execute Process 39 ... ${SSH_BUSTER_MAX} SSH Connect And Execute Command 40 Dictionary Should Not Contain Value ${dict} False 41 ... msg=One or more SSH operations has failed. 42 43 44Stress BMC IPMI Server 45 [Documentation] Execute maximum allowed IPMI operation. 46 [Tags] Stress_BMC_IPMI_Server 47 Log To Console IPMI call request burst ${IPMI_BUSTER_MAX} 48 ${dict}= Execute Process ${IPMI_BUSTER_MAX} IPMI Check Status 49 Dictionary Should Not Contain Value ${dict} False 50 ... msg=One or more IPMI operations has failed. 51 52***Keywords*** 53 54REST Enumerate Request On BMC 55 [Documentation] Execute REST GET operation. 56 57 # Create REST session. 58 Create Session openbmc ${AUTH_URI} 59 ${headers}= Create Dictionary Content-Type=application/json 60 @{credentials}= Create List ${rest_username} ${rest_password} 61 ${data}= Create Dictionary data=@{credentials} 62 ${resp}= POST On Session openbmc /login json=${data} headers=${headers} 63 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 64 65 # Trigger GET REST enumeration. 66 ${resp}= GET On Session openbmc /redfish/v1/Managers/${MANAGER_ID} expected_status=any 67 Log To Console GET Request /redfish/v1/Managers/${MANAGER_ID} 68 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 69 Delete All Sessions 70 71 72SSH Connect And Execute Command 73 [Documentation] Execute SSH command execution operation. 74 BMC Execute Command df -h 75 76 77IPMI Check Status 78 [Documentation] Execute IPMI command execution operation. 79 Run IPMI Standard Command chassis status 80