blob: ad5a71bdbf1d2972a4ac443b1874905595cecae6 [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
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
George Keishingfbd67002022-08-01 11:24:03 -050026
27 Log To Console REST call request burst ${REST_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050028 ${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
Sridevi Rameshb0208f22025-02-17 04:38:17 -060037
George Keishingfbd67002022-08-01 11:24:03 -050038 Log To Console SSH call request burst ${SSH_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050039 ${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
Sridevi Rameshb0208f22025-02-17 04:38:17 -060048
George Keishingfbd67002022-08-01 11:24:03 -050049 Log To Console IPMI call request burst ${IPMI_BUSTER_MAX}
George Keishing84d089f2017-07-17 09:33:01 -050050 ${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
George Keishingfbd67002022-08-01 11:24:03 -050062 @{credentials}= Create List ${rest_username} ${rest_password}
George Keishing84d089f2017-07-17 09:33:01 -050063 ${data}= Create Dictionary data=@{credentials}
George Keishingfbd67002022-08-01 11:24:03 -050064 ${resp}= POST On Session openbmc /login json=${data} headers=${headers}
George Keishing84d089f2017-07-17 09:33:01 -050065 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
66
67 # Trigger GET REST enumeration.
ganesanb4d430282023-04-27 14:33:23 +000068 ${resp}= GET On Session openbmc /redfish/v1/Managers/${MANAGER_ID} expected_status=any
69 Log To Console GET Request /redfish/v1/Managers/${MANAGER_ID}
George Keishing84d089f2017-07-17 09:33:01 -050070 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.
Joy Onyerikwu2ef965a2018-05-24 15:23:27 -050076 BMC Execute Command df -h
George Keishing84d089f2017-07-17 09:33:01 -050077
78
79IPMI Check Status
80 [Documentation] Execute IPMI command execution operation.
81 Run IPMI Standard Command chassis status