blob: e6370f9d4aade8303b9bd9aad9ce100670d53413 [file] [log] [blame]
George Keishing84d089f2017-07-17 09:33:01 -05001***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
Igor Kanyukafeb79d62025-10-20 21:24:03 +010013Test Tags BMC_Stress_Buster
14
George Keishing84d089f2017-07-17 09:33:01 -050015***Variables***
16
17# Caller can specify a value for the following using -v parms
18# Currently REST/SSH/IPMI session allowed.
19${REST_BUSTER_MAX} ${16}
20${SSH_BUSTER_MAX} ${16}
21${IPMI_BUSTER_MAX} ${5}
22
23***Test Cases***
24
25Stress BMC REST Server
26 [Documentation] Execute maximum allowed REST operation.
27 [Tags] Stress_BMC_REST_Server
George Keishingfbd67002022-08-01 11:24:03 -050028
29 Log To Console REST call request burst ${REST_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050030 ${dict}= Execute Process
31 ... ${REST_BUSTER_MAX} REST Enumerate Request On BMC
32 Dictionary Should Not Contain Value ${dict} False
33 ... msg=One or more REST operations has failed.
34
35
36Stress BMC SSH Server
37 [Documentation] Execute maximum allowed SSH operation.
38 [Tags] Stress_BMC_SSH_Server
Sridevi Rameshb0208f22025-02-17 04:38:17 -060039
George Keishingfbd67002022-08-01 11:24:03 -050040 Log To Console SSH call request burst ${SSH_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050041 ${dict}= Execute Process
42 ... ${SSH_BUSTER_MAX} SSH Connect And Execute Command
43 Dictionary Should Not Contain Value ${dict} False
44 ... msg=One or more SSH operations has failed.
45
46
47Stress BMC IPMI Server
48 [Documentation] Execute maximum allowed IPMI operation.
49 [Tags] Stress_BMC_IPMI_Server
Sridevi Rameshb0208f22025-02-17 04:38:17 -060050
George Keishingfbd67002022-08-01 11:24:03 -050051 Log To Console IPMI call request burst ${IPMI_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050052 ${dict}= Execute Process ${IPMI_BUSTER_MAX} IPMI Check Status
53 Dictionary Should Not Contain Value ${dict} False
54 ... msg=One or more IPMI operations has failed.
55
56***Keywords***
57
58REST Enumerate Request On BMC
59 [Documentation] Execute REST GET operation.
60
61 # Create REST session.
62 Create Session openbmc ${AUTH_URI}
63 ${headers}= Create Dictionary Content-Type=application/json
George Keishingfbd67002022-08-01 11:24:03 -050064 @{credentials}= Create List ${rest_username} ${rest_password}
George Keishing84d089f2017-07-17 09:33:01 -050065 ${data}= Create Dictionary data=@{credentials}
George Keishingfbd67002022-08-01 11:24:03 -050066 ${resp}= POST On Session openbmc /login json=${data} headers=${headers}
George Keishing84d089f2017-07-17 09:33:01 -050067 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
68
69 # Trigger GET REST enumeration.
ganesanb4d430282023-04-27 14:33:23 +000070 ${resp}= GET On Session openbmc /redfish/v1/Managers/${MANAGER_ID} expected_status=any
71 Log To Console GET Request /redfish/v1/Managers/${MANAGER_ID}
George Keishing84d089f2017-07-17 09:33:01 -050072 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
73 Delete All Sessions
74
75
76SSH Connect And Execute Command
77 [Documentation] Execute SSH command execution operation.
Joy Onyerikwu2ef965a2018-05-24 15:23:27 -050078 BMC Execute Command df -h
George Keishing84d089f2017-07-17 09:33:01 -050079
80
81IPMI Check Status
82 [Documentation] Execute IPMI command execution operation.
83 Run IPMI Standard Command chassis status