blob: b796a5eff8c251d4f9cbde822d02e320d4918d5c [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 Singh255ec632021-08-26 08:08:21 -050018${MAXIMUM_FILE_SIZE_MESSAGE} File size exceeds maximum allowed size[500KB]
Sushil Singh251a0bc2021-08-24 01:12:14 -050019${FILE_UPLOAD_MESSAGE} File Created
20${FILE_DELETED_MESSAGE} File Deleted
21${FILE_UPDATED_MESSAGE} File Updated
22${FORBIDDEN_MESSAGE} Forbidden
23${ERROR_MESSAGE} Error while creating the file
24${RESOURCE_NOT_FOUND_MESSAGE} Resource Not Found
25${MINIMUM_FILE_SIZE_MESSAGE} File size is less than minimum allowed size[100B]
26${MAXIMUM_FILE_NAME_MESSAGE} Filename must be maximum 20 characters
27${UNSUPPORTED_FILE_NAME_MESSAGE} Unsupported character in filename
Vijayfcdadc52020-01-21 01:48:19 -060028
Sushil Singh251a0bc2021-08-24 01:12:14 -050029${content-1} Sample Content to test partition file upload
Sushil Singh85c381c2021-08-17 23:25:10 -050030... Sample Content to test partition file upload
31... Sample Content to test partition file upload
Sushil Singh251a0bc2021-08-24 01:12:14 -050032${content-2} Sample Content to test partition file upload after reboot
Sushil Singh85c381c2021-08-17 23:25:10 -050033... Sample Content to test partition file upload after reboot
34... Sample Content to test partition file upload after reboot
35
Vijayfcdadc52020-01-21 01:48:19 -060036*** Test Cases ***
37
Sushil Singh251a0bc2021-08-24 01:12:14 -050038Redfish Upload Lower Limit Partition File To BMC
39 [Documentation] Upload lower limit of allowed partition file to BMC using Redfish.
40 [Tags] Redfish_Upload_Lower_Limit_Partition_File_To_BMC
41 [Template] Redfish Upload Partition File
42
Sushil Singh255ec632021-08-26 08:08:21 -050043 # file_name
44 100-file
Sushil Singh251a0bc2021-08-24 01:12:14 -050045
46
Sushil Singhcbbce6a2020-09-07 00:57:37 -050047Redfish Upload Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050048 [Documentation] Upload partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050049 [Tags] Redfish_Upload_Partition_File_To_BMC
50 [Template] Redfish Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060051
Sushil Singhcbbce6a2020-09-07 00:57:37 -050052 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -050053 500KB-file
Vijayfcdadc52020-01-21 01:48:19 -060054
55
Sushil Singh255ec632021-08-26 08:08:21 -050056Test Upload Lower Limit Partition File To BMC And Expect Failure
57 [Documentation] Fail to upload partition file to BMC with file size
58 ... below the lower limit of allowed partition file size using Redfish.
59 [Tags] Test_Upload_Lower_Limit_Partition_File_To_BMC_And_Expect_Failure
60 [Template] Redfish Fail To Upload Partition File
61
62 # file_name response_message
63 99-file ${MINIMUM_FILE_SIZE_MESSAGE}
64
65
Sushil Singhcbbce6a2020-09-07 00:57:37 -050066Redfish Fail To Upload Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050067 [Documentation] Fail to upload partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050068 [Tags] Redfish_Fail_To_Upload_Partition_File_To_BMC
69 [Template] Redfish Fail To Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060070
Sushil Singh255ec632021-08-26 08:08:21 -050071 # file_name response_message
72 501KB-file ${MAXIMUM_FILE_SIZE_MESSAGE}
Vijayfcdadc52020-01-21 01:48:19 -060073
74
Sushil Singhcbbce6a2020-09-07 00:57:37 -050075Redfish Upload Multiple Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050076 [Documentation] Upload multiple partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050077 [Tags] Redfish_Upload_Multiple_Partition_File_To_BMC
78 [Template] Redfish Upload Partition File
Vijayfcdadc52020-01-21 01:48:19 -060079
Sushil Singhcbbce6a2020-09-07 00:57:37 -050080 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -050081 250KB-file,500KB-file
Vijayfcdadc52020-01-21 01:48:19 -060082
83
Sushil Singhcbbce6a2020-09-07 00:57:37 -050084Redfish Fail To Upload Multiple Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -050085 [Documentation] Fail to upload multiple partition file to BMC using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -050086 [Tags] Redfish_Fail_To_Upload_Multiple_Partition_File_To_BMC
87 [Template] Redfish Fail To Upload Partition File
Vijay09839e22020-02-05 02:54:44 -060088
Sushil Singh255ec632021-08-26 08:08:21 -050089 # file_name response_message
90 650KB-file,501KB-file ${MAXIMUM_FILE_SIZE_MESSAGE}
Vijay09839e22020-02-05 02:54:44 -060091
92
Sushil Singhdf6ba522020-11-24 04:17:00 -060093Redfish Upload Same Partition File To BMC In Loop
Sushil Singh251a0bc2021-08-24 01:12:14 -050094 [Documentation] Upload same partition file to BMC using Redfish in loop.
Sushil Singhdf6ba522020-11-24 04:17:00 -060095 [Tags] Redfish_Upload_Same_Partition_File_To_BMC_In_Loop
96 [Template] Redfish Upload Partition File In Loop
97
98 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -050099 500KB-file
Sushil Singhdf6ba522020-11-24 04:17:00 -0600100
101
Sushil Singhf39629c2020-12-11 07:30:21 -0600102Redfish Upload And Delete Same Partition File To BMC In Loop
Sushil Singh251a0bc2021-08-24 01:12:14 -0500103 [Documentation] Upload same partition file to BMC using Redfish in loop.
Sushil Singhf39629c2020-12-11 07:30:21 -0600104 [Tags] Redfish_Upload_And_Delete_Same_Partition_File_To_BMC_In_Loop
105 [Template] Redfish Upload And Delete Partition File In Loop
106
107 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500108 500KB-file
Sushil Singhf39629c2020-12-11 07:30:21 -0600109
110
Sushil Singh5d0782f2020-11-23 06:35:35 -0600111Redfish Partition File Upload Post BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500112 [Documentation] Upload partition file to BMC using Redfish, after the BMC reboot.
Sushil Singh5d0782f2020-11-23 06:35:35 -0600113 [Tags] Redfish_Partition_File_Upload_Post_BMC_Reboot
114 [Template] Verify Partition File Upload Post BMC Reboot
115
116 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500117 500KB-file
Sushil Singh5d0782f2020-11-23 06:35:35 -0600118
119
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500120Redfish Partition File Persistency On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500121 [Documentation] Upload partition file to BMC using Redfish and is same after reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500122 [Tags] Redfish_Partition_File_Persistency_On_BMC_Reboot
123 [Template] Redfish Partition File Persistency
Vijay09839e22020-02-05 02:54:44 -0600124
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500125 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500126 500KB-file
Vijay09839e22020-02-05 02:54:44 -0600127
128
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500129Redfish Multiple Partition File Persistency On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500130 [Documentation] Upload multiple partition file to BMC using Redfish and is same after reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500131 [Tags] Redfish_Multiple_Partition_File_Persistency_On_BMC_Reboot
132 [Template] Redfish Partition File Persistency
Vijay09839e22020-02-05 02:54:44 -0600133
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500134 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500135 250KB-file,500KB-file
Vijay09839e22020-02-05 02:54:44 -0600136
137
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500138Redfish Read Partition File On BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500139 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500140 [Tags] Redfish_Read_Partition_File_On_BMC
141 [Template] Redfish Read Partition File
Vijay09839e22020-02-05 02:54:44 -0600142
Sushil Singh85c381c2021-08-17 23:25:10 -0500143 # file_name reboot_flag
144 testfile01-file False
145 testfile01-file,testfile02-file False
Vijay09839e22020-02-05 02:54:44 -0600146
Vijay09839e22020-02-05 02:54:44 -0600147
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500148Redfish Read Partition File On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500149 [Documentation] Upload partition file to BMC using Redfish and verify the content after reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500150 [Tags] Check_Redfish_Read_Partition_File_On_BMC_Reboot
151 [Template] Redfish Read Partition File
Vijay09839e22020-02-05 02:54:44 -0600152
Sushil Singh85c381c2021-08-17 23:25:10 -0500153 # file_name reboot_flag
154 testfile01-file True
155 testfile01-file,testfile02-file True
Vijay09839e22020-02-05 02:54:44 -0600156
Vijay09839e22020-02-05 02:54:44 -0600157
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500158Redfish Update Partition File On BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500159 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500160 [Tags] Redfish_Update_Partition_File_On_BMC
161 [Template] Redfish Update Partition File With Different Content
Vijay09839e22020-02-05 02:54:44 -0600162
Sushil Singh85c381c2021-08-17 23:25:10 -0500163 # file_name reboot_flag
164 testfile01-file False
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500165
166
167Redfish Update Partition File On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500168 [Documentation] Upload partition file to BMC using Redfish and verify the content after the reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500169 [Tags] Redfish_Update_Partition_File_On_BMC_Reboot
170 [Template] Redfish Update Partition File With Different Content
171
Sushil Singh85c381c2021-08-17 23:25:10 -0500172 # file_name reboot_flag
173 testfile01-file True
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500174
175
176Redfish Persistency Update Partition File On BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500177 [Documentation] Upload partition file to BMC using Redfish and verify the content.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500178 [Tags] Redfish_Persistency_Update_Partition_File_On_BMC
179 [Template] Redfish Update Partition File With Same Content
180
Sushil Singh85c381c2021-08-17 23:25:10 -0500181 # file_name reboot_flag
182 testfile01-file False
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500183
184
185Redfish Persistency Update Partition File On BMC Reboot
Sushil Singh251a0bc2021-08-24 01:12:14 -0500186 [Documentation] Upload partition file to BMC using Redfish and verify the content after the reboot.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500187 [Tags] Redfish_Persistency_Update_Partition_File_On_BMC_Reboot
188 [Template] Redfish Update Partition File With Same Content
189
Sushil Singh85c381c2021-08-17 23:25:10 -0500190 # file_name reboot_flag
191 testfile01-file True
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500192
193
194Redfish Delete Non Existence Of Partition File
195 [Documentation] Delete the partition file if do not exists.
196 [Tags] Redfish_Delete_Non_Existence_Of_Partition_File
197 [Template] Redfish Delete Non Existence Partition File
198
199 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500200 testfile01-file
Vijay09839e22020-02-05 02:54:44 -0600201
202
203Verify One Thousand Partitions File Upload
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500204 [Documentation] Upload 1000 partition file to BMC.
Vijay09839e22020-02-05 02:54:44 -0600205 [Tags] Verify_One_Thousand_Partitions_File_Upload
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500206 [Template] Redfish Upload Partition File With Range
Vijay09839e22020-02-05 02:54:44 -0600207
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500208 # range
209 1000
Vijay09839e22020-02-05 02:54:44 -0600210
Vijay09839e22020-02-05 02:54:44 -0600211
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500212Non Admin Users Fail To Upload Partition File
213 [Documentation] Non admin user will fail to upload the partition file.
214 [Tags] Non_Admin_Users_Fail_To_Upload_Partition_File
215 [Template] Non Admin User To Upload Partition File
Vijay09839e22020-02-05 02:54:44 -0600216
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500217 # file_name username password role_id
Sushil Singh85c381c2021-08-17 23:25:10 -0500218 500KB-file operator_user TestPwd123 Operator
Vijay09839e22020-02-05 02:54:44 -0600219
220
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500221Non Admin User Delete Non Existence Of Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600222 [Documentation] Delete the partition file if does not exists.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500223 [Tags] Non_Admin_User_Delete_Non_Existence_Of_Partition_File
224 [Template] Non Admin Delete Non Existence Partition File
225
226 # file_name username password role_id
Sushil Singh85c381c2021-08-17 23:25:10 -0500227 500KB-file operator_user TestPwd123 Operator
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500228
229
230Redfish Update Wrong Partition File To BMC
Sushil Singh251a0bc2021-08-24 01:12:14 -0500231 [Documentation] Upload partition file to BMC by wrong URI using Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500232 [Tags] Redfish_Update_Wrong_Partition_File_To_BMC
233 [Template] Verify Update Wrong Partition File To BMC
234
235 # file_name
Sushil Singh85c381c2021-08-17 23:25:10 -0500236 500KB-file
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500237
Vijayfcdadc52020-01-21 01:48:19 -0600238*** Keywords ***
239
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500240Suite Setup Execution
241 [Documentation] Suite setup execution.
Vijayfcdadc52020-01-21 01:48:19 -0600242
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500243 Redfish.Login
Vijayfcdadc52020-01-21 01:48:19 -0600244
245
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500246Test Teardown Execution
247 [Documentation] Test teardown execution.
Vijay09839e22020-02-05 02:54:44 -0600248
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500249 Delete All BMC Partition File ${HTTP_OK}
250 FFDC On Test Case Fail
251
252
253Suite Teardown Execution
254 [Documentation] Suite teardown execution.
Vijay09839e22020-02-05 02:54:44 -0600255
256 Delete All Sessions
Vijay09839e22020-02-05 02:54:44 -0600257
258
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500259Delete Local Partition File
260 [Documentation] Delete local partition file.
261 [Arguments] ${file_name}
Vijayfcdadc52020-01-21 01:48:19 -0600262
263 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500264 # file_name Partition file name.
Vijay09839e22020-02-05 02:54:44 -0600265
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500266 FOR ${conf_file} IN @{file_name}
267 ${file_exist}= Run Keyword And Return Status OperatingSystem.File Should Exist ${conf_file}
268 Run Keyword If 'True' == '${file_exist}' Remove File ${conf_file}
269 END
Vijayfcdadc52020-01-21 01:48:19 -0600270
Vijayfcdadc52020-01-21 01:48:19 -0600271
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500272Create Partition File
273 [Documentation] Create Partition file.
274 [Arguments] ${file_name}
275
276 # Description of argument(s):
277 # file_name Partition file name.
278
279 Delete Local Partition File ${file_name}
280
281 FOR ${conf_file} IN @{file_name}
Sushil Singh85c381c2021-08-17 23:25:10 -0500282 @{words}= Split String ${conf_file} -
Sushil Singh255ec632021-08-26 08:08:21 -0500283 Run dd if=/dev/zero of=${conf_file} bs=${words}[-0] count=1
Sushil Singh251a0bc2021-08-24 01:12:14 -0500284 OperatingSystem.File Should Exist ${conf_file}
285 END
286
287
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500288Delete BMC Partition File
Sushil Singh251a0bc2021-08-24 01:12:14 -0500289 [Documentation] Delete single partition file on BMC via Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500290 [Arguments] ${file_name} ${status_code} ${expected_message}
291
292 # Description of argument(s):
293 # file_name Partition file name.
294 # status_code HTTPS status code.
295 # expected_message Expected message of URI.
296
297 FOR ${conf_file} IN @{file_name}
298 ${data}= Create Dictionary
299 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN}
300 Set To Dictionary ${data} headers ${headers}
301
302 ${resp}= Delete Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{data}
303 Should Be Equal As Strings ${resp.status_code} ${status_code}
304
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500305 ${description}= Return Description Of Response ${resp.text}
306 Should Be Equal As Strings ${description} ${expected_message}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500307 END
308
309
310Delete All BMC Partition File
Sushil Singh251a0bc2021-08-24 01:12:14 -0500311 [Documentation] Delete multiple partition file on BMC via Redfish.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500312 [Arguments] ${status_code}
313
314 # Description of argument(s):
315 # status_code HTTPS status code.
316
317 Initialize OpenBMC
318 ${data}= Create Dictionary
Vijayfcdadc52020-01-21 01:48:19 -0600319 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN}
Vijayfcdadc52020-01-21 01:48:19 -0600320 Set To Dictionary ${data} headers ${headers}
Vijayfcdadc52020-01-21 01:48:19 -0600321
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500322 ${resp}= Post Request openbmc /ibm/v1/Host/ConfigFiles/Actions/IBMConfigFiles.DeleteAll &{data}
323 Should Be Equal As Strings ${resp.status_code} ${status_code}
Vijay09839e22020-02-05 02:54:44 -0600324
325
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500326Return Description Of Response
Vijay09839e22020-02-05 02:54:44 -0600327 [Documentation] Return description of REST response.
328 [Arguments] ${resp_text}
329
330 # Description of argument(s):
331 # resp_text REST response body.
332
333 # resp_text after successful partition file upload looks like:
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500334 # {
335 # "Description": "File Created"
336 # }
Vijay09839e22020-02-05 02:54:44 -0600337
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500338 ${status}= Run Keyword And Return Status Evaluate isinstance(${resp_text}, dict)
339 Return From Keyword If '${status}' == 'False' ${resp_text}
Vijay09839e22020-02-05 02:54:44 -0600340 ${message}= Evaluate json.loads('''${resp_text}''') json
341
342 [Return] ${message["Description"]}
343
344
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500345Upload Partition File To BMC
346 [Documentation] Upload partition file to BMC.
347 [Arguments] ${file_name} ${status_code} ${expected_message} ${flag}=${True}
Vijay09839e22020-02-05 02:54:44 -0600348
349 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500350 # file_name Partition file name.
351 # status_code HTTPS status code.
352 # expected_message Expected message of URI.
353 # flag If True run part of program, else skip.
Vijay09839e22020-02-05 02:54:44 -0600354
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500355 Run Keyword If '${flag}' == '${True}' Initialize OpenBMC
356 FOR ${conf_file} IN @{file_name}
357 # Get the content of the file and upload to BMC.
358 ${image_data}= OperatingSystem.Get Binary File ${conf_file}
Sushil Singh85c381c2021-08-17 23:25:10 -0500359 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} Content-Type=application/octet-stream
Vijay09839e22020-02-05 02:54:44 -0600360
Sushil Singh85c381c2021-08-17 23:25:10 -0500361 ${kwargs}= Create Dictionary data=${image_data}
362 Set To Dictionary ${kwargs} headers ${headers}
363 ${resp}= Put Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{kwargs} timeout=10
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500364 Should Be Equal As Strings ${resp.status_code} ${status_code}
365
Sushil Singh7aa3cc42021-08-19 07:42:29 -0500366 ${description}= Return Description Of Response ${resp.text}
367 Should Be Equal As Strings ${description} ${expected_message}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500368 END
Vijayfcdadc52020-01-21 01:48:19 -0600369
370
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500371Verify Partition File On BMC
372 [Documentation] Verify partition file on BMC.
373 [Arguments] ${file_name} ${Partition_status}
Vijayfcdadc52020-01-21 01:48:19 -0600374
375 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500376 # file_name Partition file name.
377 # Partition_status Partition file status on BMC.
Vijayfcdadc52020-01-21 01:48:19 -0600378
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500379 FOR ${conf_file} IN @{file_name}
380 ${status} ${stderr} ${rc}= BMC Execute Command
Sushil Singhe5f39ee2021-01-06 00:39:12 -0600381 ... ls -l /var/lib/bmcweb/ibm-management-console/configfiles/${conf_file} | wc -l
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500382 Valid Value ${status} [${Partition_status}]
383 END
Vijayfcdadc52020-01-21 01:48:19 -0600384
385
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500386Redfish Upload Partition File
387 [Documentation] Upload the partition file.
Sushil Singh251a0bc2021-08-24 01:12:14 -0500388 [Arguments] ${file_name} ${file_size}=${EMPTY}
Vijayfcdadc52020-01-21 01:48:19 -0600389
390 # Description of argument(s):
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500391 # file_name Partition file name.
Sushil Singh251a0bc2021-08-24 01:12:14 -0500392 # file_size By Default is set to EMPTY,
393 # if user pass small_file_size the create file with small
394 # size keyword gets executed.
Vijayfcdadc52020-01-21 01:48:19 -0600395
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500396 @{Partition_file_list} = Split String ${file_name} ,
397 ${num_records}= Get Length ${Partition_file_list}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500398
Sushil Singh255ec632021-08-26 08:08:21 -0500399 Create Partition File ${Partition_file_list}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500400
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500401 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
402 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
403 Run Keyword If ${num_records} == ${1}
404 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
405 ... ELSE
406 ... Delete All BMC Partition File ${HTTP_OK}
407 Delete Local Partition File ${Partition_file_list}
Vijayfcdadc52020-01-21 01:48:19 -0600408
409
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500410Redfish Fail To Upload Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600411 [Documentation] Fail to upload the partition file.
Sushil Singh255ec632021-08-26 08:08:21 -0500412 [Arguments] ${file_name} ${response_message}=${EMPTY}
Vijay09839e22020-02-05 02:54:44 -0600413
414 # Description of argument(s):
Sushil Singh255ec632021-08-26 08:08:21 -0500415 # file_name Partition file name.
416 # response_message By default is set to EMPTY,
417 # else user provide the information when user upload the partition with file size
418 # below lower linit of allowed partition or more than of large allowed partition.
Vijay09839e22020-02-05 02:54:44 -0600419
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500420 @{Partition_file_list} = Split String ${file_name} ,
Sushil Singh255ec632021-08-26 08:08:21 -0500421
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500422 Create Partition File ${Partition_file_list}
Sushil Singh255ec632021-08-26 08:08:21 -0500423 Upload Partition File To BMC ${Partition_file_list} ${HTTP_BAD_REQUEST} ${response_message}
424
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500425 Verify Partition File On BMC ${Partition_file_list} Partition_status=0
Sushil Singh251a0bc2021-08-24 01:12:14 -0500426 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500427 Delete Local Partition File ${Partition_file_list}
Vijay09839e22020-02-05 02:54:44 -0600428
429
Sushil Singhdf6ba522020-11-24 04:17:00 -0600430Redfish Upload Partition File In Loop
431 [Documentation] Upload the same partition file multiple times in loop to BMC.
432 [Arguments] ${file_name}
433
434 # Description of argument(s):
435 # file_name Partition file name.
436
437 @{Partition_file_list} = Split String ${file_name} ,
438 Create Partition File ${Partition_file_list}
439
440 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
441 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
442
443 FOR ${count} IN RANGE 1 11
Sushil Singh251a0bc2021-08-24 01:12:14 -0500444 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhdf6ba522020-11-24 04:17:00 -0600445 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
446 END
447
448 Initialize OpenBMC
449 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
450 Delete Local Partition File ${Partition_file_list}
451
452
Sushil Singhf39629c2020-12-11 07:30:21 -0600453Redfish Upload And Delete Partition File In Loop
454 [Documentation] Upload the same partition file multiple times in loop to BMC.
455 [Arguments] ${file_name}
456
457 # Description of argument(s):
458 # file_name Partition file name.
459
460 FOR ${count} IN RANGE 1 11
461 Redfish Upload Partition File ${file_name}
462 END
463
464
Sushil Singh5d0782f2020-11-23 06:35:35 -0600465Verify Partition File Upload Post BMC Reboot
466 [Documentation] Upload the partition file, after BMC reboot.
467 [Arguments] ${file_name}
468
469 # Description of argument(s):
470 # file_name Partition file name.
471
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600472 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
473 Redfish BMC Reset Operation
474 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token}
475
476 Is BMC Standby
Sushil Singh5d0782f2020-11-23 06:35:35 -0600477
478 Redfish Upload Partition File ${file_name}
479
480
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500481Redfish Partition File Persistency
482 [Documentation] Upload the partition file and check for persistency after reboot.
483 [Arguments] ${file_name}
Vijayfcdadc52020-01-21 01:48:19 -0600484
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500485 # Description of argument(s):
486 # file_name Partition file name.
487
488 @{Partition_file_list} = Split String ${file_name} ,
489 ${num_records}= Get Length ${Partition_file_list}
490 Create Partition File ${Partition_file_list}
491 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
492 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600493
494 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
495 Redfish BMC Reset Operation
496 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token}
497
498 Is BMC Standby
499
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500500 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
Vijayfcdadc52020-01-21 01:48:19 -0600501 Initialize OpenBMC
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500502 Run Keyword If ${num_records} == ${1}
503 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
504 ... ELSE
505 ... Delete All BMC Partition File ${HTTP_OK}
506 Delete Local Partition File ${Partition_file_list}
Vijayfcdadc52020-01-21 01:48:19 -0600507
508
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500509Verify Redfish Partition File Content
510 [Documentation] Verify partition file content.
511 [Arguments] ${file_name} ${content_dict} ${status_code}
Vijayfcdadc52020-01-21 01:48:19 -0600512
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500513 # Description of argument(s):
514 # file_name Partition file name.
515 # content_dict Dict contain the content.
516 # status_code HTTPS status code.
517
518 FOR ${conf_file} IN @{file_name}
519 ${resp}= Get Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file}
520 Should Be Equal As Strings ${resp.status_code} ${status_code}
521
522 ${Partition_file_data}= Remove String ${resp.text} \\n
523 ${Partition_file_data}= Evaluate json.loads('''${Partition_file_data}''') json
524 Should Be Equal As Strings ${Partition_file_data["Data"]} ${content_dict['${conf_file}']}
525 END
Vijayfcdadc52020-01-21 01:48:19 -0600526
Vijay39373152020-02-14 08:08:20 -0600527
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500528Add Content To Files
529 [Documentation] Add defined content in partition file.
530 [Arguments] ${file_name} ${index}=${0}
Vijay39373152020-02-14 08:08:20 -0600531
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500532 # Description of argument(s):
533 # file_name Partition file name.
534 # index Index
535
536 ${num_records}= Get Length ${file_name}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500537 &{content_dict}= Create Dictionary
Sushil Singh85c381c2021-08-17 23:25:10 -0500538
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500539 FOR ${conf_file} IN @{file_name}
540 ${index}= Get Index From List ${file_name} ${conf_file}
541 ${index}= Evaluate ${index} + 1
542
543 Run echo "${content-${index}}" > ${conf_file}
544 OperatingSystem.File Should Exist ${conf_file}
545
546 Set To Dictionary ${content_dict} ${conf_file} ${content-${index}}
547 END
548
549 [Return] &{content_dict}
550
551
552Redfish Read Partition File
553 [Documentation] Read partition file content.
554 [Arguments] ${file_name} ${reboot_flag}=False
555
556 # Description of argument(s):
557 # file_name Partition file name.
558 # reboot_flag Reboot flag.
559
560 @{Partition_file_list} = Split String ${file_name} ,
561 ${content_dict}= Add Content To Files ${Partition_file_list}
562
563 ${num_records}= Get Length ${Partition_file_list}
564
565 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
566 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
567 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
568
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600569 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
570
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500571 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600572 ... Run Keywords Redfish BMC Reset Operation AND
573 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
574 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500575 ... Initialize OpenBMC AND
576 ... Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600577
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500578 Run Keyword If ${num_records} == ${1}
579 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
580 ... ELSE
581 ... Delete All BMC Partition File ${HTTP_OK}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600582
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500583 Delete Local Partition File ${Partition_file_list}
584
585
586Redfish Update Partition File With Same Content
587 [Documentation] Update partition file with same content.
588 [Arguments] ${file_name} ${reboot_flag}=False
589
590 # Description of argument(s):
591 # file_name Partition file name.
592 # reboot_flag Reboot flag.
593
594 @{Partition_file_list} = Split String ${file_name} ,
595 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
596
597 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
598 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
599 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
600
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600601 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
602
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500603 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600604 ... Run Keywords Redfish BMC Reset Operation AND
605 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
606 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500607 ... Initialize OpenBMC
608
609 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500610 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500611 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
612 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
613
614 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
615 Delete Local Partition File ${Partition_file_list}
616
617
618Redfish Update Partition File With Different Content
619 [Documentation] Update partition file with different content.
620 [Arguments] ${file_name} ${reboot_flag}=False
621
622 # Description of argument(s):
623 # file_name Partition file name.
624 # reboot_flag Reboot flag.
625
626 @{Partition_file_list} = Split String ${file_name} ,
627 ${content_dict}= Add Content To Files ${Partition_file_list} ${0}
628
629 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
630 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
631 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
632
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600633 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
634
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500635 Run Keyword If ${True} == ${reboot_flag}
Sushil Singh98ebdfa2021-02-10 04:24:06 -0600636 ... Run Keywords Redfish BMC Reset Operation AND
637 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
638 ... Is BMC Standby AND
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500639 ... Initialize OpenBMC
640
641 ${content_dict}= Add Content To Files ${Partition_file_list} ${1}
Sushil Singh251a0bc2021-08-24 01:12:14 -0500642 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500643 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
644 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK}
645
646 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE}
647 Delete Local Partition File ${Partition_file_list}
648
649
650Create File Names
651 [Documentation] Create partition file names.
652 [Arguments] ${range}
653
654 # Description of argument(s):
655 # range Range in numbers.
656
657 @{file_name_list}= Create List
658 Set Test Variable ${file_name} rangefile
659 FOR ${count} IN RANGE ${range}
Sushil Singh85c381c2021-08-17 23:25:10 -0500660 Append To List ${file_name_list} 1KB-file${count}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500661 END
662 [Return] ${file_name_list}
663
664
665Redfish Upload Partition File With Range
666 [Documentation] Upload the partition file with the range of files.
667 [Arguments] ${range}
668
669 # Description of argument(s):
670 # range Range in numbers.
671
672 ${Partition_file_list}= Create File Names ${range}
Sushil Singh85c381c2021-08-17 23:25:10 -0500673 Delete Local Partition File ${Partition_file_list}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500674 Create Partition File ${Partition_file_list}
675 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE}
676 Verify Partition File On BMC ${Partition_file_list} Partition_status=1
677 Delete All BMC Partition File ${HTTP_OK}
678 Delete Local Partition File ${Partition_file_list}
679
680
681Redfish Delete Non Existence Partition File
682 [Documentation] Delete the partition file if do not exists.
683 [Arguments] ${file_name}
684
685 # Description of argument(s):
686 # file_name Partition file name.
687
688 @{Partition_file_list} = Split String ${file_name} ,
Sushil Singh251a0bc2021-08-24 01:12:14 -0500689 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND_MESSAGE}
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500690
691
692Non Admin User To Upload Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600693 [Documentation] Non admin user to upload the partition file.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500694 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True}
695
696 # Description of argument(s):
697 # file_name Partition file name.
698 # username Username.
699 # password Password.
700 # role Role of user.
701 # enabled Value can be True or False.
702
703 Redfish Create User ${username} ${password} ${role} ${enabled}
Vijay39373152020-02-14 08:08:20 -0600704 Delete All Sessions
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500705 Initialize OpenBMC rest_username=${username} rest_password=${password}
706 @{Partition_file_list} = Split String ${file_name} ,
707 Create Partition File ${Partition_file_list}
708 Upload Partition File To BMC ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} ${False}
709 Delete Local Partition File ${Partition_file_list}
710 Redfish.Delete /redfish/v1/AccountService/Accounts/${username}
711
712
713Non Admin Delete Non Existence Partition File
George Keishing16b3c7b2021-01-28 09:23:37 -0600714 [Documentation] Non admin user to upload the partition file.
Sushil Singhcbbce6a2020-09-07 00:57:37 -0500715 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True}
716
717 # Description of argument(s):
718 # file_name Partition file name.
719 # username Username.
720 # password Password.
721 # role Role of user.
722 # enabled Value can be True or False.
723
724 Redfish Create User ${username} ${password} ${role} ${enabled}
725 Delete All Sessions
726 Initialize OpenBMC rest_username=${username} rest_password=${password}
727 @{Partition_file_list} = Split String ${file_name} ,
728 Delete BMC Partition File ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE}
729
730
731Verify Update Wrong Partition File To BMC
732 [Documentation] Upload the wrong partition file to BMC.
733 [Arguments] ${file_name}
734
735 # Description of argument(s):
736 # file_name Partition file name.
737
738 Redfish.Login
739 ${resp}= Run Keyword And Return Status
740 ... Redfish.Put /ibm/v1/Host/ConfigFiles/../../../../../etc/resolv.conf body={"data": "test string"}
741 Should Be Equal As Strings ${resp} False