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 ${dict}= Execute Process 27 ... ${REST_BUSTER_MAX} REST Enumerate Request On BMC 28 Dictionary Should Not Contain Value ${dict} False 29 ... msg=One or more REST operations has failed. 30 31 32Stress BMC SSH Server 33 [Documentation] Execute maximum allowed SSH operation. 34 [Tags] Stress_BMC_SSH_Server 35 ${dict}= Execute Process 36 ... ${SSH_BUSTER_MAX} SSH Connect And Execute Command 37 Dictionary Should Not Contain Value ${dict} False 38 ... msg=One or more SSH operations has failed. 39 40 41Stress BMC IPMI Server 42 [Documentation] Execute maximum allowed IPMI operation. 43 [Tags] Stress_BMC_IPMI_Server 44 ${dict}= Execute Process ${IPMI_BUSTER_MAX} IPMI Check Status 45 Dictionary Should Not Contain Value ${dict} False 46 ... msg=One or more IPMI operations has failed. 47 48***Keywords*** 49 50REST Enumerate Request On BMC 51 [Documentation] Execute REST GET operation. 52 53 # Create REST session. 54 Create Session openbmc ${AUTH_URI} 55 ${headers}= Create Dictionary Content-Type=application/json 56 @{credentials}= Create List ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} 57 ${data}= Create Dictionary data=@{credentials} 58 ${resp}= Post Request openbmc /login data=${data} headers=${headers} 59 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 60 61 # Trigger GET REST enumeration. 62 ${resp}= Get Request openbmc /xyz/openbmc_project/software/enumerate 63 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 64 Delete All Sessions 65 66 67SSH Connect And Execute Command 68 [Documentation] Execute SSH command execution operation. 69 BMC Execute Command df -h 70 71 72IPMI Check Status 73 [Documentation] Execute IPMI command execution operation. 74 Run IPMI Standard Command chassis status 75