blob: 6c122d158b2704481f69a5780945ebff91f52619 [file] [log] [blame]
Vijayfcdadc52020-01-21 01:48:19 -06001*** Settings ***
2
Sushil Singhcbbce6a2020-09-07 00:57:37 -05003Documentation Test Save Area feature of Management Console on BMC.
Vijayfcdadc52020-01-21 01:48:19 -06004
5Resource ../../lib/rest_client.robot
6Resource ../../lib/openbmc_ffdc.robot
7Resource ../../lib/resource.robot
Vijay09839e22020-02-05 02:54:44 -06008Resource ../../lib/bmc_redfish_utils.robot
Vijayfcdadc52020-01-21 01:48:19 -06009Resource ../../lib/utils.robot
Sushil Singhcbbce6a2020-09-07 00:57:37 -050010Resource ../../lib/bmc_redfish_resource.robot
Vijayfcdadc52020-01-21 01:48:19 -060011
Vijay39373152020-02-14 08:08:20 -060012Suite Setup Suite Setup Execution
13Test Teardown Test Teardown Execution
14Suite Teardown Suite Teardown Execution
Vijayfcdadc52020-01-21 01:48:19 -060015
Vijayfcdadc52020-01-21 01:48:19 -060016*** Variables ***
17
Sushil Singhde1347d2022-07-13 02:54:26 -050018${MAXIMUM_FILE_SIZE_MESSAGE} File size exceeds maximum allowed size[25MB]
Sushil Singh1544c5e2021-11-03 07:56:37 -050019${MAXIMUM_DIR_SIZE_MESSAGE}
Sushil Singhde1347d2022-07-13 02:54:26 -050020... File size does not fit in the savearea directory maximum allowed size[25MB]
Sushil Singh251a0bc2021-08-24 01:12:14 -050021${FILE_UPLOAD_MESSAGE} File Created
22${FILE_DELETED_MESSAGE} File Deleted
23${FILE_UPDATED_MESSAGE} File Updated
24${FORBIDDEN_MESSAGE} Forbidden
25${ERROR_MESSAGE} Error while creating the file
26${RESOURCE_NOT_FOUND_MESSAGE} Resource Not Found
27${MINIMUM_FILE_SIZE_MESSAGE} File size is less than minimum allowed size[100B]
28${MAXIMUM_FILE_NAME_MESSAGE} Filename must be maximum 20 characters
29${UNSUPPORTED_FILE_NAME_MESSAGE} Unsupported character in filename
Vijayfcdadc52020-01-21 01:48:19 -060030
Sushil Singh251a0bc2021-08-24 01:12:14 -050031${content-1} Sample Content to test partition file upload
Sushil Singh85c381c2021-08-17 23:25:10 -050032... Sample Content to test partition file upload
33... Sample Content to test partition file upload
Sushil Singh251a0bc2021-08-24 01:12:14 -050034${content-2} Sample Content to test partition file upload after reboot
Sushil Singh85c381c2021-08-17 23:25:10 -050035... Sample Content to test partition file upload after reboot
36... Sample Content to test partition file upload after reboot
37
Sushil Singh44b8cf32021-11-17 06:57:09 -060038${LOOP_COUNT} 10
39
Vijayfcdadc52020-01-21 01:48:19 -060040*** Test Cases ***
41
Sushil Singh251a0bc2021-08-24 01:12:14 -050042Redfish Upload Lower Limit Partition File To BMC
43 [Documentation] Upload lower limit of allowed partition file to BMC using Redfish.
44 [Tags] Redfish_Upload_Lower_Limit_Partition_File_To_BMC
45 [Template] Redfish Upload Partition File
46
Sushil Singh255ec632021-08-26 08:08:21 -050047 # file_name
48 100-file
Sushil Singh251a0bc2021-08-24 01:12:14 -050049
50
Sushil Singhcbbce6a2020-09-07 00:57:37 -050051Redfish Upload Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050052 [Documentation] Upload partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050053 [Tags] Redfish_Upload_Partition_File_To_BMC
54 [Template] Redfish Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060055
Sushil Singhcbbce6a2020-09-07 00:57:37 -050056 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -050057 500KB-file
Sushil Singhde1347d2022-07-13 02:54:26 -050058 2000KB-file
Sushil Singh1544c5e2021-11-03 07:56:37 -050059 10000KB-file
Sushil Singhde1347d2022-07-13 02:54:26 -050060 25000KB-file
Vijayfcdadc52020-01-21 01:48:19 -060061
62
Sushil Singh255ec632021-08-26 08:08:21 -050063Test Upload Lower Limit Partition File To BMC And Expect Failure
64 [Documentation] Fail to upload partition file to BMC with file size
65 ... below the lower limit of allowed partition file size using Redfish.
66 [Tags] Test_Upload_Lower_Limit_Partition_File_To_BMC_And_Expect_Failure
67 [Template] Redfish Fail To Upload Partition File
68
Sushil Singh1544c5e2021-11-03 07:56:37 -050069 # file_name status_code partition_status response_message
70 99-file ${HTTP_BAD_REQUEST} 0 ${MINIMUM_FILE_SIZE_MESSAGE}
Sushil Singh255ec632021-08-26 08:08:21 -050071
72
Sushil Singh298d15d2021-12-14 07:21:09 -060073Test Upload Upper Limit Partition File To BMC And Expect Failure
74 [Documentation] Fail to upload partition file to BMC with file size
75 ... more than upper limit of allowed partition file size using Redfish.
76 [Tags] Test_Upload_Upper_Limit_Partition_File_To_BMC_And_Expect_Failure
Sushil Singhcbbce6a2020-09-07 00:57:37 -050077 [Template] Redfish Fail To Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060078
Sushil Singh1544c5e2021-11-03 07:56:37 -050079 # file_name status_code partition_status response_message
Sushil Singhde1347d2022-07-13 02:54:26 -050080 25001KB-file ${HTTP_BAD_REQUEST} 0 ${MAXIMUM_FILE_SIZE_MESSAGE}
Vijayfcdadc52020-01-21 01:48:19 -060081
82
Sushil Singhcbbce6a2020-09-07 00:57:37 -050083Redfish Upload Multiple Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050084 [Documentation] Upload multiple partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050085 [Tags] Redfish_Upload_Multiple_Partition_File_To_BMC
86 [Template] Redfish Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060087
Sushil Singhcbbce6a2020-09-07 00:57:37 -050088 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -050089 250KB-file,500KB-file
Vijayfcdadc52020-01-21 01:48:19 -060090
91
Sushil Singhf9eeec72021-12-14 08:31:59 -060092Test Upload Partition File When BMC Space Reach Max And Expect Failure
93 [Documentation] Fail to upload multiple partition file to BMC
94 ... as BMC directory reach to upper limit using Redfish.
95 [Tags] Test_Upload_Partition_File_When_BMC_Space_Reach_Max_And_Expect_Failure
Sushil Singhcbbce6a2020-09-07 00:57:37 -050096 [Template] Redfish Fail To Upload Partition File
Vijay09839e22020-02-05 02:54:44 -060097
Sushil Singh1544c5e2021-11-03 07:56:37 -050098 # file_name status_code partition_status response_message
Sushil Singhde1347d2022-07-13 02:54:26 -050099 15000KB-file ${HTTP_OK} 1 ${FILE_UPLOAD_MESSAGE}
100 16000KB-file ${HTTP_BAD_REQUEST} 0 ${MAXIMUM_DIR_SIZE_MESSAGE}
101 25000KB-file ${HTTP_OK} 1 ${FILE_UPLOAD_MESSAGE}
Sushil Singh1544c5e2021-11-03 07:56:37 -0500102 100-file ${HTTP_BAD_REQUEST} 0 ${MAXIMUM_DIR_SIZE_MESSAGE}
Vijay09839e22020-02-05 02:54:44 -0600103
104
Sushil Singhdf6ba522020-11-24 04:17:00 -0600105Redfish Upload Same Partition File To BMC In Loop
Sushil Singh251a0bc2021-08-24 01:12:14 -0500106 [Documentation] Upload same partition file to BMC using Redfish in loop.
Sushil Singhdf6ba522020-11-24 04:17:00 -0600107 [Tags] Redfish_Upload_Same_Partition_File_To_BMC_In_Loop
108 [Template] Redfish Upload Partition File In Loop
109
110 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500111 500KB-file
Sushil Singhdf6ba522020-11-24 04:17:00 -0600112
113
Sushil Singhf39629c2020-12-11 07:30:21 -0600114Redfish Upload And Delete Same Partition File To BMC In Loop
Sushil Singh251a0bc2021-08-24 01:12:14 -0500115 [Documentation] Upload same partition file to BMC using Redfish in loop.
Sushil Singhf39629c2020-12-11 07:30:21 -0600116 [Tags] Redfish_Upload_And_Delete_Same_Partition_File_To_BMC_In_Loop
117 [Template] Redfish Upload And Delete Partition File In Loop
118
119 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500120 500KB-file
Sushil Singhf39629c2020-12-11 07:30:21 -0600121
122
Sushil Singh5d0782f2020-11-23 06:35:35 -0600123Redfish Partition File Upload Post BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500124 [Documentation] Upload partition file to BMC using Redfish, after the BMC reboot.
Sushil Singh5d0782f2020-11-23 06:35:35 -0600125 [Tags] Redfish_Partition_File_Upload_Post_BMC_Reboot
126 [Template] Verify Partition File Upload Post BMC Reboot
127
128 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500129 500KB-file
Sushil Singh5d0782f2020-11-23 06:35:35 -0600130
131
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500132Redfish Partition File Persistency On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500133 [Documentation] Upload partition file to BMC using Redfish and is same after reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500134 [Tags] Redfish_Partition_File_Persistency_On_BMC_Reboot
135 [Template] Redfish Partition File Persistency
Vijay09839e22020-02-05 02:54:44 -0600136
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500137 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500138 500KB-file
Vijay09839e22020-02-05 02:54:44 -0600139
140
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500141Redfish Multiple Partition File Persistency On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500142 [Documentation] Upload multiple partition file to BMC using Redfish and is same after reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500143 [Tags] Redfish_Multiple_Partition_File_Persistency_On_BMC_Reboot
144 [Template] Redfish Partition File Persistency
Vijay09839e22020-02-05 02:54:44 -0600145
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500146 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500147 250KB-file,500KB-file
Vijay09839e22020-02-05 02:54:44 -0600148
149
Sushil Singhb22e4b62021-12-15 00:54:53 -0600150Redfish Read Partition File From BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500151 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhb22e4b62021-12-15 00:54:53 -0600152 [Tags] Redfish_Read_Partition_File_From_BMC
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500153 [Template] Redfish Read Partition File
Vijay09839e22020-02-05 02:54:44 -0600154
Sushil Singh85c381c2021-08-17 23:25:10 -0500155 # file_name reboot_flag
156 testfile01-file False
157 testfile01-file,testfile02-file False
Vijay09839e22020-02-05 02:54:44 -0600158
Vijay09839e22020-02-05 02:54:44 -0600159
Sushil Singhb22e4b62021-12-15 00:54:53 -0600160Redfish Read Partition File Post BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500161 [Documentation] Upload partition file to BMC using Redfish and verify the content after reboot.
Sushil Singhb22e4b62021-12-15 00:54:53 -0600162 [Tags] Redfish_Read_Partition_File_Post_BMC_Reboot
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500163 [Template] Redfish Read Partition File
Vijay09839e22020-02-05 02:54:44 -0600164
Sushil Singh85c381c2021-08-17 23:25:10 -0500165 # file_name reboot_flag
166 testfile01-file True
167 testfile01-file,testfile02-file True
Vijay09839e22020-02-05 02:54:44 -0600168
Vijay09839e22020-02-05 02:54:44 -0600169
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500170Redfish Update Partition File On BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500171 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500172 [Tags] Redfish_Update_Partition_File_On_BMC
173 [Template] Redfish Update Partition File With Different Content
Vijay09839e22020-02-05 02:54:44 -0600174
Sushil Singh85c381c2021-08-17 23:25:10 -0500175 # file_name reboot_flag
176 testfile01-file False
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500177
178
179Redfish Update Partition File On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500180 [Documentation] Upload partition file to BMC using Redfish and verify the content after the reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500181 [Tags] Redfish_Update_Partition_File_On_BMC_Reboot
182 [Template] Redfish Update Partition File With Different Content
183
Sushil Singh85c381c2021-08-17 23:25:10 -0500184 # file_name reboot_flag
185 testfile01-file True
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500186
187
188Redfish Persistency Update Partition File On BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500189 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500190 [Tags] Redfish_Persistency_Update_Partition_File_On_BMC
191 [Template] Redfish Update Partition File With Same Content
192
Sushil Singh85c381c2021-08-17 23:25:10 -0500193 # file_name reboot_flag
194 testfile01-file False
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500195
196
Sushil Singh692a2c92021-12-15 06:47:40 -0600197Redfish Persistency Update Partition File Post BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500198 [Documentation] Upload partition file to BMC using Redfish and verify the content after the reboot.
Sushil Singh692a2c92021-12-15 06:47:40 -0600199 [Tags] Redfish_Persistency_Update_Partition_File_Post_BMC_Reboot
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500200 [Template] Redfish Update Partition File With Same Content
201
Sushil Singh85c381c2021-08-17 23:25:10 -0500202 # file_name reboot_flag
203 testfile01-file True
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500204
205
206Redfish Delete Non Existence Of Partition File
207 [Documentation] Delete the partition file if do not exists.
208 [Tags] Redfish_Delete_Non_Existence_Of_Partition_File
209 [Template] Redfish Delete Non Existence Partition File
210
211 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500212 testfile01-file
Vijay09839e22020-02-05 02:54:44 -0600213
214
215Verify One Thousand Partitions File Upload
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500216 [Documentation] Upload 1000 partition file to BMC.
Vijay09839e22020-02-05 02:54:44 -0600217 [Tags] Verify_One_Thousand_Partitions_File_Upload
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500218 [Template] Redfish Upload Partition File With Range
Vijay09839e22020-02-05 02:54:44 -0600219
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500220 # range
221 1000
Vijay09839e22020-02-05 02:54:44 -0600222
Vijay09839e22020-02-05 02:54:44 -0600223
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500224Non Admin Users Fail To Upload Partition File
225 [Documentation] Non admin user will fail to upload the partition file.
226 [Tags] Non_Admin_Users_Fail_To_Upload_Partition_File
227 [Template] Non Admin User To Upload Partition File
Vijay09839e22020-02-05 02:54:44 -0600228
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500229 # file_name username password role_id
Sushil Singh85c381c2021-08-17 23:25:10 -0500230 500KB-file operator_user TestPwd123 Operator
Vijay09839e22020-02-05 02:54:44 -0600231
232
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500233Non Admin User Delete Non Existence Of Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600234 [Documentation] Delete the partition file if does not exists.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500235 [Tags] Non_Admin_User_Delete_Non_Existence_Of_Partition_File
236 [Template] Non Admin Delete Non Existence Partition File
237
238 # file_name username password role_id
Sushil Singh85c381c2021-08-17 23:25:10 -0500239 500KB-file operator_user TestPwd123 Operator
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500240
241
242Redfish Update Wrong Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500243 [Documentation] Upload partition file to BMC by wrong URI using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500244 [Tags] Redfish_Update_Wrong_Partition_File_To_BMC
245 [Template] Verify Update Wrong Partition File To BMC
246
247 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500248 500KB-file
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500249
Sushil Singh9942df52021-09-03 02:28:11 -0500250
251Test Redfish Upload Partition File Name With Character Limit To BMC
252 [Documentation] Upload partition file to BMC with file name character allowed limit
253 ... and above allowed limit using Redfish.
254 [Tags] Test_Redfish_Upload_Partition_File_Name_With_Character_Limit_To_BMC
255 [Template] Check Redfish Upload Partition File Name With Character Limit To BMC
256
257 # file_name status_code message
258 50KB-testfilesavfile ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
259 50KB-testsaveareafile ${HTTP_BAD_REQUEST} ${MAXIMUM_FILE_NAME_MESSAGE}
260
Sushil Singh2dbcbde2021-09-09 08:50:48 -0500261
262Test Redfish Fail To Upload Partition File Name With Special Character To BMC
263 [Documentation] Upload partition file to BMC with special character file name and
264 ... Redfish through an error.
265 [Tags] Test_Redfish_Fail_To_Upload_Partition_File_Name_With_Special_Character_To_BMC
266 [Template] Check Redfish Fail To Upload Partition File Name With Special Character To BMC
267
268 # file_name status_code message
269 1KB-*filename ${HTTP_BAD_REQUEST} ${UNSUPPORTED_FILE_NAME_MESSAGE}
270 1KB-!filename ${HTTP_BAD_REQUEST} ${UNSUPPORTED_FILE_NAME_MESSAGE}
271 1KB-@filename ${HTTP_BAD_REQUEST} ${UNSUPPORTED_FILE_NAME_MESSAGE}
272
Sushil Singh44b8cf32021-11-17 06:57:09 -0600273
274Redfish Upload Validated Partition File From Path To BMC
275 [Documentation] Upload valid partition file to BMC from file path define by user in loop.
276 ... By default loop count values is 10 times.
277 [Tags] Redfish_Upload_Validated_Partition_File_From_Path_To_BMC
278
279 Log To Console ${EMPTY}
280 FOR ${count} IN RANGE 1 ${LOOP_COUNT} + 1
281 Log To Console **************************************
282 Log To Console * The Current Loop Count is ${count} of ${LOOP_COUNT} *
283 Log To Console **************************************
284
285 Redfish Upload Partition File From Path ${PARTITION_FILE_PATH}
286 END
287
Vijayfcdadc52020-01-21 01:48:19 -0600288*** Keywords ***
289
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500290Suite Setup Execution
291 [Documentation] Suite setup execution.
Vijayfcdadc52020-01-21 01:48:19 -0600292
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500293 Redfish.Login
Vijayfcdadc52020-01-21 01:48:19 -0600294
295
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500296Test Teardown Execution
297 [Documentation] Test teardown execution.
Vijay09839e22020-02-05 02:54:44 -0600298
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500299 Delete All BMC Partition File ${HTTP_OK}
300 FFDC On Test Case Fail
301
302
303Suite Teardown Execution
304 [Documentation] Suite teardown execution.
Vijay09839e22020-02-05 02:54:44 -0600305
306 Delete All Sessions
Vijay09839e22020-02-05 02:54:44 -0600307
308
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500309Delete Local Partition File
310 [Documentation] Delete local partition file.
311 [Arguments] ${file_name}
Vijayfcdadc52020-01-21 01:48:19 -0600312
313 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500314 # file_name Partition file name.
Vijay09839e22020-02-05 02:54:44 -0600315
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500316 FOR ${conf_file} IN @{file_name}
317 ${file_exist}= Run Keyword And Return Status OperatingSystem.File Should Exist ${conf_file}
318 Run Keyword If 'True' == '${file_exist}' Remove File ${conf_file}
319 END
Vijayfcdadc52020-01-21 01:48:19 -0600320
Vijayfcdadc52020-01-21 01:48:19 -0600321
Sushil Singh1544c5e2021-11-03 07:56:37 -0500322Delete Local Server Partition File
323 [Documentation] Local partition files which is getting uploaded to BMC,
324 ... will get deleted after the uploads. If partition file name consist
325 ... of “-file then partition file gets deleted.
326
327 @{conf_file_list} = OperatingSystem.List Files In Directory ${EXECDIR}
328 ${match_conf_file_list}= Get Matches ${conf_file_list} regexp=.*-file case_insensitive=${True}
329
330 ${num_records}= Get Length ${match_conf_file_list}
331 Return From Keyword If ${num_records} == ${0} ${EMPTY}
332
333 FOR ${conf_file} IN @{match_conf_file_list}
334 ${file_exist}= Run Keyword And Return Status OperatingSystem.File Should Exist ${conf_file}
335 Run Keyword If 'True' == '${file_exist}' Remove File ${conf_file}
336 END
337
338
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500339Create Partition File
340 [Documentation] Create Partition file.
341 [Arguments] ${file_name}
342
343 # Description of argument(s):
344 # file_name Partition file name.
345
346 Delete Local Partition File ${file_name}
347
348 FOR ${conf_file} IN @{file_name}
Sushil Singh85c381c2021-08-17 23:25:10 -0500349 @{words}= Split String ${conf_file} -
Sushil Singh255ec632021-08-26 08:08:21 -0500350 Run dd if=/dev/zero of=${conf_file} bs=${words}[-0] count=1
Sushil Singh251a0bc2021-08-24 01:12:14 -0500351 OperatingSystem.File Should Exist ${conf_file}
352 END
353
354
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500355Delete BMC Partition File
Sushil Singh251a0bc2021-08-24 01:12:14 -0500356 [Documentation] Delete single partition file on BMC via Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500357 [Arguments] ${file_name} ${status_code} ${expected_message}
358
359 # Description of argument(s):
360 # file_name Partition file name.
361 # status_code HTTPS status code.
362 # expected_message Expected message of URI.
363
364 FOR ${conf_file} IN @{file_name}
365 ${data}= Create Dictionary
366 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN}
367 Set To Dictionary ${data} headers ${headers}
368
George Keishingfbd67002022-08-01 11:24:03 -0500369 ${resp}= DELETE On Session openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{data}
370 ... expected_status=any
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500371 Should Be Equal As Strings ${resp.status_code} ${status_code}
372
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500373 ${description}= Return Description Of Response ${resp.text}
374 Should Be Equal As Strings ${description} ${expected_message}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500375 END
376
377
378Delete All BMC Partition File
Sushil Singh251a0bc2021-08-24 01:12:14 -0500379 [Documentation] Delete multiple partition file on BMC via Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500380 [Arguments] ${status_code}
381
382 # Description of argument(s):
383 # status_code HTTPS status code.
384
385 Initialize OpenBMC
386 ${data}= Create Dictionary
Vijayfcdadc52020-01-21 01:48:19 -0600387 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN}
Vijayfcdadc52020-01-21 01:48:19 -0600388 Set To Dictionary ${data} headers ${headers}
Vijayfcdadc52020-01-21 01:48:19 -0600389
George Keishingfbd67002022-08-01 11:24:03 -0500390 ${resp}= POST On Session openbmc /ibm/v1/Host/ConfigFiles/Actions/IBMConfigFiles.DeleteAll &{data}
391 ... expected_status=any
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500392 Should Be Equal As Strings ${resp.status_code} ${status_code}
Vijay09839e22020-02-05 02:54:44 -0600393
394
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500395Return Description Of Response
Vijay09839e22020-02-05 02:54:44 -0600396 [Documentation] Return description of REST response.
397 [Arguments] ${resp_text}
398
399 # Description of argument(s):
400 # resp_text REST response body.
401
402 # resp_text after successful partition file upload looks like:
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500403 # {
404 # "Description": "File Created"
405 # }
Vijay09839e22020-02-05 02:54:44 -0600406
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500407 ${status}= Run Keyword And Return Status Evaluate isinstance(${resp_text}, dict)
408 Return From Keyword If '${status}' == 'False' ${resp_text}
Vijay09839e22020-02-05 02:54:44 -0600409 ${message}= Evaluate json.loads('''${resp_text}''') json
410
411 [Return] ${message["Description"]}
412
413
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500414Upload Partition File To BMC
415 [Documentation] Upload partition file to BMC.
Sushil Singh44b8cf32021-11-17 06:57:09 -0600416 [Arguments] ${file_name} ${status_code} ${expected_message} ${flag}=${True} ${path}=${EMPTY}
Vijay09839e22020-02-05 02:54:44 -0600417
418 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500419 # file_name Partition file name.
420 # status_code HTTPS status code.
421 # expected_message Expected message of URI.
422 # flag If True run part of program, else skip.
Sushil Singh44b8cf32021-11-17 06:57:09 -0600423 # path Partition file path.
Vijay09839e22020-02-05 02:54:44 -0600424
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500425 Run Keyword If '${flag}' == '${True}' Initialize OpenBMC
426 FOR ${conf_file} IN @{file_name}
427 # Get the content of the file and upload to BMC.
Sushil Singh44b8cf32021-11-17 06:57:09 -0600428 ${image_data}= OperatingSystem.Get Binary File ${path}${conf_file}
Sushil Singh85c381c2021-08-17 23:25:10 -0500429 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} Content-Type=application/octet-stream
Vijay09839e22020-02-05 02:54:44 -0600430
Sushil Singh85c381c2021-08-17 23:25:10 -0500431 ${kwargs}= Create Dictionary data=${image_data}
432 Set To Dictionary ${kwargs} headers ${headers}
George Keishingfbd67002022-08-01 11:24:03 -0500433 ${resp}= PUT On Session openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{kwargs} timeout=10
434 ... expected_status=any
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500435 Should Be Equal As Strings ${resp.status_code} ${status_code}
436
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500437 ${description}= Return Description Of Response ${resp.text}
438 Should Be Equal As Strings ${description} ${expected_message}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500439 END
Vijayfcdadc52020-01-21 01:48:19 -0600440
441
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500442Verify Partition File On BMC
443 [Documentation] Verify partition file on BMC.
444 [Arguments] ${file_name} ${Partition_status}
Vijayfcdadc52020-01-21 01:48:19 -0600445
446 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500447 # file_name Partition file name.
448 # Partition_status Partition file status on BMC.
Vijayfcdadc52020-01-21 01:48:19 -0600449
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500450 FOR ${conf_file} IN @{file_name}
451 ${status} ${stderr} ${rc}= BMC Execute Command
Sushil Singhe5f39ee2021-01-06 00:39:12 -0600452 ... ls -l /var/lib/bmcweb/ibm-management-console/configfiles/${conf_file} | wc -l
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500453 Valid Value ${status} [${Partition_status}]
454 END
Vijayfcdadc52020-01-21 01:48:19 -0600455
456
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500457Redfish Upload Partition File
458 [Documentation] Upload the partition file.
Sushil Singh251a0bc2021-08-24 01:12:14 -0500459 [Arguments] ${file_name} ${file_size}=${EMPTY}
Vijayfcdadc52020-01-21 01:48:19 -0600460
461 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500462 # file_name Partition file name.
Sushil Singh251a0bc2021-08-24 01:12:14 -0500463 # file_size By Default is set to EMPTY,
464 # if user pass small_file_size the create file with small
465 # size keyword gets executed.
Vijayfcdadc52020-01-21 01:48:19 -0600466
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500467 @{Partition_file_list} = Split String ${file_name} ,
468 ${num_records}= Get Length ${Partition_file_list}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500469
Sushil Singh255ec632021-08-26 08:08:21 -0500470 Create Partition File ${Partition_file_list}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500471
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500472 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
473 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
474 Run Keyword If ${num_records} == ${1}
475 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
476 ... ELSE
477 ... Delete All BMC Partition File ${HTTP_OK}
478 Delete Local Partition File ${Partition_file_list}
Vijayfcdadc52020-01-21 01:48:19 -0600479
480
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500481Redfish Fail To Upload Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600482 [Documentation] Fail to upload the partition file.
Sushil Singh1544c5e2021-11-03 07:56:37 -0500483 [Arguments] ${file_name} ${status_code} ${partition_status} ${response_message}=${EMPTY}
Vijay09839e22020-02-05 02:54:44 -0600484
485 # Description of argument(s):
Sushil Singh255ec632021-08-26 08:08:21 -0500486 # file_name Partition file name.
Sushil Singh1544c5e2021-11-03 07:56:37 -0500487 # status_code HTTPS status code.
488 # partition_status Partition status.
Sushil Singh255ec632021-08-26 08:08:21 -0500489 # response_message By default is set to EMPTY,
Sushil Singh1544c5e2021-11-03 07:56:37 -0500490 # else user provide the information when user upload the partition with file size
Sushil Singh255ec632021-08-26 08:08:21 -0500491 # below lower linit of allowed partition or more than of large allowed partition.
Vijay09839e22020-02-05 02:54:44 -0600492
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500493 @{Partition_file_list} = Split String ${file_name} ,
Sushil Singh255ec632021-08-26 08:08:21 -0500494
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500495 Create Partition File ${Partition_file_list}
Sushil Singh1544c5e2021-11-03 07:56:37 -0500496 Upload Partition File To BMC ${Partition_file_list} ${status_code} ${response_message}
497 Verify Partition File On BMC ${Partition_file_list} Partition_status=${partition_status}
Sushil Singh255ec632021-08-26 08:08:21 -0500498
Sushil Singh1544c5e2021-11-03 07:56:37 -0500499 Run Keyword If ${partition_status} == 0
500 ... Run Keywords
501 ... Delete BMC Partition File
502 ... ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND_MESSAGE} AND
503 ... Delete All BMC Partition File ${HTTP_OK} AND
504 ... Delete Local Server Partition File
505
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500506 Delete Local Partition File ${Partition_file_list}
Vijay09839e22020-02-05 02:54:44 -0600507
508
Sushil Singhdf6ba522020-11-24 04:17:00 -0600509Redfish Upload Partition File In Loop
510 [Documentation] Upload the same partition file multiple times in loop to BMC.
511 [Arguments] ${file_name}
512
513 # Description of argument(s):
514 # file_name Partition file name.
515
516 @{Partition_file_list} = Split String ${file_name} ,
517 Create Partition File ${Partition_file_list}
518
519 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
520 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
521
522 FOR ${count} IN RANGE 1 11
Sushil Singh251a0bc2021-08-24 01:12:14 -0500523 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhdf6ba522020-11-24 04:17:00 -0600524 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
525 END
526
527 Initialize OpenBMC
528 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
529 Delete Local Partition File ${Partition_file_list}
530
531
Sushil Singhf39629c2020-12-11 07:30:21 -0600532Redfish Upload And Delete Partition File In Loop
533 [Documentation] Upload the same partition file multiple times in loop to BMC.
534 [Arguments] ${file_name}
535
536 # Description of argument(s):
537 # file_name Partition file name.
538
539 FOR ${count} IN RANGE 1 11
540 Redfish Upload Partition File ${file_name}
541 END
542
543
Sushil Singh5d0782f2020-11-23 06:35:35 -0600544Verify Partition File Upload Post BMC Reboot
545 [Documentation] Upload the partition file, after BMC reboot.
546 [Arguments] ${file_name}
547
548 # Description of argument(s):
549 # file_name Partition file name.
550
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600551 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
552 Redfish BMC Reset Operation
553 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token}
554
555 Is BMC Standby
Sushil Singh5d0782f2020-11-23 06:35:35 -0600556
557 Redfish Upload Partition File ${file_name}
558
559
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500560Redfish Partition File Persistency
561 [Documentation] Upload the partition file and check for persistency after reboot.
562 [Arguments] ${file_name}
Vijayfcdadc52020-01-21 01:48:19 -0600563
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500564 # Description of argument(s):
565 # file_name Partition file name.
566
567 @{Partition_file_list} = Split String ${file_name} ,
568 ${num_records}= Get Length ${Partition_file_list}
569 Create Partition File ${Partition_file_list}
570 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
571 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600572
573 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
574 Redfish BMC Reset Operation
575 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token}
576
577 Is BMC Standby
578
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500579 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
Vijayfcdadc52020-01-21 01:48:19 -0600580 Initialize OpenBMC
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500581 Run Keyword If ${num_records} == ${1}
582 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
583 ... ELSE
584 ... Delete All BMC Partition File ${HTTP_OK}
585 Delete Local Partition File ${Partition_file_list}
Vijayfcdadc52020-01-21 01:48:19 -0600586
587
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500588Verify Redfish Partition File Content
589 [Documentation] Verify partition file content.
590 [Arguments] ${file_name} ${content_dict} ${status_code}
Vijayfcdadc52020-01-21 01:48:19 -0600591
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500592 # Description of argument(s):
593 # file_name Partition file name.
594 # content_dict Dict contain the content.
595 # status_code HTTPS status code.
596
597 FOR ${conf_file} IN @{file_name}
George Keishingfbd67002022-08-01 11:24:03 -0500598 ${resp}= GET On Session openbmc /ibm/v1/Host/ConfigFiles/${conf_file}
599 ... expected_status=any
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500600 Should Be Equal As Strings ${resp.status_code} ${status_code}
601
602 ${Partition_file_data}= Remove String ${resp.text} \\n
603 ${Partition_file_data}= Evaluate json.loads('''${Partition_file_data}''') json
604 Should Be Equal As Strings ${Partition_file_data["Data"]} ${content_dict['${conf_file}']}
605 END
Vijayfcdadc52020-01-21 01:48:19 -0600606
Vijay39373152020-02-14 08:08:20 -0600607
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500608Add Content To Files
609 [Documentation] Add defined content in partition file.
610 [Arguments] ${file_name} ${index}=${0}
Vijay39373152020-02-14 08:08:20 -0600611
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500612 # Description of argument(s):
613 # file_name Partition file name.
614 # index Index
615
616 ${num_records}= Get Length ${file_name}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500617 &{content_dict}= Create Dictionary
Sushil Singh85c381c2021-08-17 23:25:10 -0500618
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500619 FOR ${conf_file} IN @{file_name}
620 ${index}= Get Index From List ${file_name} ${conf_file}
621 ${index}= Evaluate ${index} + 1
622
623 Run echo "${content-${index}}" > ${conf_file}
624 OperatingSystem.File Should Exist ${conf_file}
625
626 Set To Dictionary ${content_dict} ${conf_file} ${content-${index}}
627 END
628
629 [Return] &{content_dict}
630
631
632Redfish Read Partition File
633 [Documentation] Read partition file content.
634 [Arguments] ${file_name} ${reboot_flag}=False
635
636 # Description of argument(s):
637 # file_name Partition file name.
638 # reboot_flag Reboot flag.
639
640 @{Partition_file_list} = Split String ${file_name} ,
641 ${content_dict}= Add Content To Files ${Partition_file_list}
642
643 ${num_records}= Get Length ${Partition_file_list}
644
645 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
646 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
647 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
648
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600649 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
650
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500651 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600652 ... Run Keywords Redfish BMC Reset Operation AND
653 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
654 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500655 ... Initialize OpenBMC AND
656 ... Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600657
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500658 Run Keyword If ${num_records} == ${1}
659 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
660 ... ELSE
661 ... Delete All BMC Partition File ${HTTP_OK}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600662
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500663 Delete Local Partition File ${Partition_file_list}
664
665
666Redfish Update Partition File With Same Content
667 [Documentation] Update partition file with same content.
668 [Arguments] ${file_name} ${reboot_flag}=False
669
670 # Description of argument(s):
671 # file_name Partition file name.
672 # reboot_flag Reboot flag.
673
674 @{Partition_file_list} = Split String ${file_name} ,
675 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
676
677 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
678 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
679 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
680
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600681 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
682
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500683 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600684 ... Run Keywords Redfish BMC Reset Operation AND
685 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
686 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500687 ... Initialize OpenBMC
688
689 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500690 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500691 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
692 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
693
694 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
695 Delete Local Partition File ${Partition_file_list}
696
697
698Redfish Update Partition File With Different Content
699 [Documentation] Update partition file with different content.
700 [Arguments] ${file_name} ${reboot_flag}=False
701
702 # Description of argument(s):
703 # file_name Partition file name.
704 # reboot_flag Reboot flag.
705
706 @{Partition_file_list} = Split String ${file_name} ,
707 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
708
709 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
710 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
711 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
712
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600713 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
714
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500715 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600716 ... Run Keywords Redfish BMC Reset Operation AND
717 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
718 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500719 ... Initialize OpenBMC
720
721 ${content_dict}= Add Content To Files ${Partition_file_list} ${1}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500722 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500723 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
724 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
725
726 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
727 Delete Local Partition File ${Partition_file_list}
728
729
730Create File Names
731 [Documentation] Create partition file names.
732 [Arguments] ${range}
733
734 # Description of argument(s):
735 # range Range in numbers.
736
737 @{file_name_list}= Create List
738 Set Test Variable ${file_name} rangefile
739 FOR ${count} IN RANGE ${range}
Sushil Singh85c381c2021-08-17 23:25:10 -0500740 Append To List ${file_name_list} 1KB-file${count}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500741 END
742 [Return] ${file_name_list}
743
744
745Redfish Upload Partition File With Range
746 [Documentation] Upload the partition file with the range of files.
747 [Arguments] ${range}
748
749 # Description of argument(s):
750 # range Range in numbers.
751
752 ${Partition_file_list}= Create File Names ${range}
Sushil Singh85c381c2021-08-17 23:25:10 -0500753 Delete Local Partition File ${Partition_file_list}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500754 Create Partition File ${Partition_file_list}
755 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
756 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
757 Delete All BMC Partition File ${HTTP_OK}
758 Delete Local Partition File ${Partition_file_list}
759
760
761Redfish Delete Non Existence Partition File
762 [Documentation] Delete the partition file if do not exists.
763 [Arguments] ${file_name}
764
765 # Description of argument(s):
766 # file_name Partition file name.
767
768 @{Partition_file_list} = Split String ${file_name} ,
Sushil Singh251a0bc2021-08-24 01:12:14 -0500769 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500770
771
772Non Admin User To Upload Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600773 [Documentation] Non admin user to upload the partition file.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500774 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True}
775
776 # Description of argument(s):
777 # file_name Partition file name.
778 # username Username.
779 # password Password.
780 # role Role of user.
781 # enabled Value can be True or False.
782
783 Redfish Create User ${username} ${password} ${role} ${enabled}
Vijay39373152020-02-14 08:08:20 -0600784 Delete All Sessions
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500785 Initialize OpenBMC rest_username=${username} rest_password=${password}
786 @{Partition_file_list} = Split String ${file_name} ,
787 Create Partition File ${Partition_file_list}
788 Upload Partition File To BMC ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} ${False}
789 Delete Local Partition File ${Partition_file_list}
790 Redfish.Delete /redfish/v1/AccountService/Accounts/${username}
791
792
793Non Admin Delete Non Existence Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600794 [Documentation] Non admin user to upload the partition file.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500795 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True}
796
797 # Description of argument(s):
798 # file_name Partition file name.
799 # username Username.
800 # password Password.
801 # role Role of user.
802 # enabled Value can be True or False.
803
804 Redfish Create User ${username} ${password} ${role} ${enabled}
805 Delete All Sessions
806 Initialize OpenBMC rest_username=${username} rest_password=${password}
807 @{Partition_file_list} = Split String ${file_name} ,
808 Delete BMC Partition File ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE}
809
810
811Verify Update Wrong Partition File To BMC
812 [Documentation] Upload the wrong partition file to BMC.
813 [Arguments] ${file_name}
814
815 # Description of argument(s):
816 # file_name Partition file name.
817
818 Redfish.Login
819 ${resp}= Run Keyword And Return Status
820 ... Redfish.Put /ibm/v1/Host/ConfigFiles/../../../../../etc/resolv.conf body={"data": "test string"}
821 Should Be Equal As Strings ${resp} False
Sushil Singh9942df52021-09-03 02:28:11 -0500822
823
824Check Redfish Upload Partition File Name With Character Limit To BMC
825 [Documentation] Upload the partition file to BMC with file name character limit.
826 [Arguments] ${file_name} ${status_code} ${message}
827
828 # Description of argument(s):
829 # file_name Partition file name.
830 # status_code HTTPS status code.
831 # message Expected message of from upload partition file URI.
832
833 @{Partition_file_list} = Split String ${file_name} ,
834 ${num_records}= Get Length ${Partition_file_list}
835 Create Partition File ${Partition_file_list}
836
837 ${file_name_length}= Get Length ${Partition_file_list}[0]
838
839 Run Keyword If ${file_name_length} == 20
840 ... Run Keywords
841 ... Upload Partition File To BMC ${Partition_file_list} ${status_code} ${message} AND
842 ... Verify Partition File On BMC ${Partition_file_list} Partition_status=1 AND
843 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
844 ... ELSE
845 ... Upload Partition File To BMC ${Partition_file_list} ${status_code} ${message}
846
847 Delete Local Partition File ${Partition_file_list}
Sushil Singh2dbcbde2021-09-09 08:50:48 -0500848
849
850Check Redfish Fail To Upload Partition File Name With Special Character To BMC
851 [Documentation] Upload the partition file to BMC with special character file name.
852 [Arguments] ${file_name} ${status_code} ${message}
853
854 # Description of argument(s):
855 # file_name Partition file name.
856 # status_code HTTPS status code.
857 # message Expected message from upload partition file URI.
858
859 @{Partition_file_list} = Split String ${file_name} ,
860 ${num_records}= Get Length ${Partition_file_list}
861
862 Create Partition File ${Partition_file_list}
863
864 Upload Partition File To BMC ${Partition_file_list} ${status_code} ${message}
865
866 ${status}= Run Keyword And Return Status
867 ... Verify Partition File On BMC ${Partition_file_list} Partition_status=1
868 Should Be Equal As Strings ${status} False
869
870 Delete Local Partition File ${Partition_file_list}
Sushil Singh44b8cf32021-11-17 06:57:09 -0600871
872
873Redfish Upload Partition File From Path
874 [Documentation] Upload the partition file to BMC from file path.
875 [Arguments] ${PARTITION_FILE_PATH}
876
877 # Description of argument(s):
878 # PARTITION_FILE_PATH Partition file path.
879
880 ${file_list} = OperatingSystem.List Files In Directory ${PARTITION_FILE_PATH}
881
882 ${num_records}= Get Length ${file_list}
883 Should Not Be Equal As Integers ${num_records} 0
884
885 FOR ${file_name} IN @{file_list}
886 @{Partition_file_list} = Split String ${file_name} ,
887 ${num_records}= Get Length ${Partition_file_list}
George Keishing538f1742022-03-14 05:00:55 -0500888 Upload Partition File To BMC file_name=${Partition_file_list}
889 ... status_code=${HTTP_OK} expected_message=${FILE_UPLOAD_MESSAGE} path=${PARTITION_FILE_PATH}
Sushil Singh44b8cf32021-11-17 06:57:09 -0600890 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
891 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
892 END
893