1*** Settings *** 2 3Documentation Test Save Area feature of Management Console on BMC. 4 5Resource ../../lib/rest_client.robot 6Resource ../../lib/openbmc_ffdc.robot 7Resource ../../lib/resource.robot 8Resource ../../lib/bmc_redfish_utils.robot 9Resource ../../lib/utils.robot 10Resource ../../lib/bmc_redfish_resource.robot 11 12Suite Setup Suite Setup Execution 13Test Teardown Test Teardown Execution 14Suite Teardown Suite Teardown Execution 15 16*** Variables *** 17 18${MAXIMUM_SIZE_MESSAGE} File size exceeds maximum allowed size[500KB] 19${FILE_UPLOAD_MESSAGE} File Created 20${FILE_DELETED_MESSAGE} File Deleted 21${FILE_UPDATED} File Updated 22${FORBIDDEN_MESSAGE} Forbidden 23${ERROR_MESSAGE} Error while creating the file 24${RESOURCE_NOT_FOUND} Resource Not Found 25 26*** Test Cases *** 27 28Redfish Upload Partition File To BMC 29 [Documentation] Upload partition file to BMC using redfish. 30 [Tags] Redfish_Upload_Partition_File_To_BMC 31 [Template] Redfish Upload Partition File 32 33 # file_name 34 500KB_file 35 36 37Redfish Fail To Upload Partition File To BMC 38 [Documentation] Fail to upload partition file to BMC using redfish. 39 [Tags] Redfish_Fail_To_Upload_Partition_File_To_BMC 40 [Template] Redfish Fail To Upload Partition File 41 42 # file_name 43 501KB_file 44 45 46Redfish Upload Multiple Partition File To BMC 47 [Documentation] Upload multiple partition file to BMC using redfish. 48 [Tags] Redfish_Upload_Multiple_Partition_File_To_BMC 49 [Template] Redfish Upload Partition File 50 51 # file_name 52 250KB_file,500KB_file 53 54 55Redfish Fail To Upload Multiple Partition File To BMC 56 [Documentation] Fail to upload multiple partition file to BMC using redfish. 57 [Tags] Redfish_Fail_To_Upload_Multiple_Partition_File_To_BMC 58 [Template] Redfish Fail To Upload Partition File 59 60 # file_name 61 650KB_file,501KB_file 62 63 64Redfish Upload Same Partition File To BMC In Loop 65 [Documentation] Upload same partition file to BMC using redfish in loop. 66 [Tags] Redfish_Upload_Same_Partition_File_To_BMC_In_Loop 67 [Template] Redfish Upload Partition File In Loop 68 69 # file_name 70 500KB_file 71 72 73Redfish Upload And Delete Same Partition File To BMC In Loop 74 [Documentation] Upload same partition file to BMC using redfish in loop. 75 [Tags] Redfish_Upload_And_Delete_Same_Partition_File_To_BMC_In_Loop 76 [Template] Redfish Upload And Delete Partition File In Loop 77 78 # file_name 79 500KB_file 80 81 82Redfish Partition File Upload Post BMC Reboot 83 [Documentation] Upload partition file to BMC using redfish, after the BMC reboot. 84 [Tags] Redfish_Partition_File_Upload_Post_BMC_Reboot 85 [Template] Verify Partition File Upload Post BMC Reboot 86 87 # file_name 88 500KB_file 89 90 91Redfish Partition File Persistency On BMC Reboot 92 [Documentation] Upload partition file to BMC using redfish and is same after reboot. 93 [Tags] Redfish_Partition_File_Persistency_On_BMC_Reboot 94 [Template] Redfish Partition File Persistency 95 96 # file_name 97 500KB_file 98 99 100Redfish Multiple Partition File Persistency On BMC Reboot 101 [Documentation] Upload partition file to BMC using redfish and is same after reboot. 102 [Tags] Redfish_Multiple_Partition_File_Persistency_On_BMC_Reboot 103 [Template] Redfish Partition File Persistency 104 105 # file_name 106 250KB_file,500KB_file 107 108 109Redfish Read Partition File On BMC 110 [Documentation] Upload partition file to BMC using redfish and verify the content. 111 [Tags] Redfish_Read_Partition_File_On_BMC 112 [Template] Redfish Read Partition File 113 114 # file_name reboot_flag 115 testfile False 116 testfile01,testfile02 False 117 118 119Redfish Read Partition File On BMC Reboot 120 [Documentation] Upload partition file to BMC using redfish and verify the content after reboot. 121 [Tags] Check_Redfish_Read_Partition_File_On_BMC_Reboot 122 [Template] Redfish Read Partition File 123 124 # file_name reboot_flag 125 testfile True 126 testfile01,testfile02 True 127 128 129Redfish Update Partition File On BMC 130 [Documentation] Upload partition file to BMC using redfish and verify the content. 131 [Tags] Redfish_Update_Partition_File_On_BMC 132 [Template] Redfish Update Partition File With Different Content 133 134 # file_name reboot_flag 135 testfile01 False 136 137 138Redfish Update Partition File On BMC Reboot 139 [Documentation] Upload partition file to BMC using redfish and verify the content after the reboot. 140 [Tags] Redfish_Update_Partition_File_On_BMC_Reboot 141 [Template] Redfish Update Partition File With Different Content 142 143 # file_name reboot_flag 144 testfile01 True 145 146 147Redfish Persistency Update Partition File On BMC 148 [Documentation] Upload partition file to BMC using redfish and verify the content. 149 [Tags] Redfish_Persistency_Update_Partition_File_On_BMC 150 [Template] Redfish Update Partition File With Same Content 151 152 # file_name reboot_flag 153 testfile01 False 154 155 156Redfish Persistency Update Partition File On BMC Reboot 157 [Documentation] Upload partition file to BMC using redfish and verify the content after the reboot. 158 [Tags] Redfish_Persistency_Update_Partition_File_On_BMC_Reboot 159 [Template] Redfish Update Partition File With Same Content 160 161 # file_name reboot_flag 162 testfile01 True 163 164 165Redfish Delete Non Existence Of Partition File 166 [Documentation] Delete the partition file if do not exists. 167 [Tags] Redfish_Delete_Non_Existence_Of_Partition_File 168 [Template] Redfish Delete Non Existence Partition File 169 170 # file_name 171 testfile01 172 173 174Verify One Thousand Partitions File Upload 175 [Documentation] Upload 1000 partition file to BMC. 176 [Tags] Verify_One_Thousand_Partitions_File_Upload 177 [Template] Redfish Upload Partition File With Range 178 179 # range 180 1000 181 182 183Non Admin Users Fail To Upload Partition File 184 [Documentation] Non admin user will fail to upload the partition file. 185 [Tags] Non_Admin_Users_Fail_To_Upload_Partition_File 186 [Template] Non Admin User To Upload Partition File 187 188 # file_name username password role_id 189 500KB_file operator_user TestPwd123 Operator 190 191 192Non Admin User Delete Non Existence Of Partition File 193 [Documentation] Delete the partition file if does not exists. 194 [Tags] Non_Admin_User_Delete_Non_Existence_Of_Partition_File 195 [Template] Non Admin Delete Non Existence Partition File 196 197 # file_name username password role_id 198 500KB_file operator_user TestPwd123 Operator 199 200 201Redfish Update Wrong Partition File To BMC 202 [Documentation] Upload partition file to BMC by wrong URI using redfish. 203 [Tags] Redfish_Update_Wrong_Partition_File_To_BMC 204 [Template] Verify Update Wrong Partition File To BMC 205 206 # file_name 207 500KB_file 208 209*** Keywords *** 210 211Suite Setup Execution 212 [Documentation] Suite setup execution. 213 214 Redfish.Login 215 216 217Test Teardown Execution 218 [Documentation] Test teardown execution. 219 220 Delete All BMC Partition File ${HTTP_OK} 221 FFDC On Test Case Fail 222 223 224Suite Teardown Execution 225 [Documentation] Suite teardown execution. 226 227 Delete All Sessions 228 229 230Delete Local Partition File 231 [Documentation] Delete local partition file. 232 [Arguments] ${file_name} 233 234 # Description of argument(s): 235 # file_name Partition file name. 236 237 FOR ${conf_file} IN @{file_name} 238 ${file_exist}= Run Keyword And Return Status OperatingSystem.File Should Exist ${conf_file} 239 Run Keyword If 'True' == '${file_exist}' Remove File ${conf_file} 240 END 241 242 243Create Partition File 244 [Documentation] Create Partition file. 245 [Arguments] ${file_name} 246 247 # Description of argument(s): 248 # file_name Partition file name. 249 250 Delete Local Partition File ${file_name} 251 252 FOR ${conf_file} IN @{file_name} 253 @{words}= Split String ${conf_file} _ 254 Run dd if=/dev/zero of=${conf_file} bs=1 count=0 seek=${words}[-0] 255 OperatingSystem.File Should Exist ${conf_file} 256 END 257 258 259Delete BMC Partition File 260 [Documentation] Delete single partition file on BMC via redfish. 261 [Arguments] ${file_name} ${status_code} ${expected_message} 262 263 # Description of argument(s): 264 # file_name Partition file name. 265 # status_code HTTPS status code. 266 # expected_message Expected message of URI. 267 268 FOR ${conf_file} IN @{file_name} 269 ${data}= Create Dictionary 270 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} 271 Set To Dictionary ${data} headers ${headers} 272 273 ${resp}= Delete Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{data} 274 Should Be Equal As Strings ${resp.status_code} ${status_code} 275 276 Run Keyword If ${resp.status_code} == ${HTTP_FORBIDDEN} 277 ... Should Be Equal As Strings ${resp.text} ${expected_message} 278 ${description}= Run Keyword If ${resp.status_code} == ${HTTP_OK} 279 ... Return Description Of Response ${resp.text} 280 Run Keyword If '${description}' != 'None' 281 ... Should Be Equal As Strings ${description} ${expected_message} 282 END 283 284 285Delete All BMC Partition File 286 [Documentation] Delete multiple partition file on BMC via redfish. 287 [Arguments] ${status_code} 288 289 # Description of argument(s): 290 # status_code HTTPS status code. 291 292 Initialize OpenBMC 293 ${data}= Create Dictionary 294 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} 295 Set To Dictionary ${data} headers ${headers} 296 297 ${resp}= Post Request openbmc /ibm/v1/Host/ConfigFiles/Actions/IBMConfigFiles.DeleteAll &{data} 298 Should Be Equal As Strings ${resp.status_code} ${status_code} 299 300 301Return Description Of Response 302 [Documentation] Return description of REST response. 303 [Arguments] ${resp_text} 304 305 # Description of argument(s): 306 # resp_text REST response body. 307 308 # resp_text after successful partition file upload looks like: 309 # { 310 # "Description": "File Created" 311 # } 312 313 ${message}= Evaluate json.loads('''${resp_text}''') json 314 315 [Return] ${message["Description"]} 316 317 318Upload Partition File To BMC 319 [Documentation] Upload partition file to BMC. 320 [Arguments] ${file_name} ${status_code} ${expected_message} ${flag}=${True} 321 322 # Description of argument(s): 323 # file_name Partition file name. 324 # status_code HTTPS status code. 325 # expected_message Expected message of URI. 326 # flag If True run part of program, else skip. 327 328 Run Keyword If '${flag}' == '${True}' Initialize OpenBMC 329 FOR ${conf_file} IN @{file_name} 330 # Get the content of the file and upload to BMC. 331 ${image_data}= OperatingSystem.Get Binary File ${conf_file} 332 ${data}= Create Dictionary data ${image_data} 333 ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} 334 Set To Dictionary ${data} headers ${headers} 335 336 ${resp}= Put Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} &{data} 337 Should Be Equal As Strings ${resp.status_code} ${status_code} 338 339 Run Keyword If ${resp.status_code} == ${HTTP_FORBIDDEN} 340 ... Should Be Equal As Strings ${resp.text} ${expected_message} 341 ${description}= Run Keyword If ${resp.status_code} == ${HTTP_OK} 342 ... Return Description Of Response ${resp.text} 343 Run Keyword If '${description}' != 'None' 344 ... Should Be Equal As Strings ${description} ${expected_message} 345 END 346 347 348Verify Partition File On BMC 349 [Documentation] Verify partition file on BMC. 350 [Arguments] ${file_name} ${Partition_status} 351 352 # Description of argument(s): 353 # file_name Partition file name. 354 # Partition_status Partition file status on BMC. 355 356 FOR ${conf_file} IN @{file_name} 357 ${status} ${stderr} ${rc}= BMC Execute Command 358 ... ls -l /var/lib/bmcweb/ibm-management-console/configfiles/${conf_file} | wc -l 359 Valid Value ${status} [${Partition_status}] 360 END 361 362 363Redfish Upload Partition File 364 [Documentation] Upload the partition file. 365 [Arguments] ${file_name} 366 367 # Description of argument(s): 368 # file_name Partition file name. 369 370 @{Partition_file_list} = Split String ${file_name} , 371 ${num_records}= Get Length ${Partition_file_list} 372 Create Partition File ${Partition_file_list} 373 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 374 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 375 Run Keyword If ${num_records} == ${1} 376 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 377 ... ELSE 378 ... Delete All BMC Partition File ${HTTP_OK} 379 Delete Local Partition File ${Partition_file_list} 380 381 382Redfish Fail To Upload Partition File 383 [Documentation] Fail to upload the partition file. 384 [Arguments] ${file_name} 385 386 # Description of argument(s): 387 # file_name Partition file name. 388 389 @{Partition_file_list} = Split String ${file_name} , 390 Create Partition File ${Partition_file_list} 391 Upload Partition File To BMC ${Partition_file_list} ${HTTP_BAD_REQUEST} ${MAXIMUM_SIZE_MESSAGE} 392 Verify Partition File On BMC ${Partition_file_list} Partition_status=0 393 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND} 394 Delete Local Partition File ${Partition_file_list} 395 396 397Redfish Upload Partition File In Loop 398 [Documentation] Upload the same partition file multiple times in loop to BMC. 399 [Arguments] ${file_name} 400 401 # Description of argument(s): 402 # file_name Partition file name. 403 404 @{Partition_file_list} = Split String ${file_name} , 405 Create Partition File ${Partition_file_list} 406 407 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 408 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 409 410 FOR ${count} IN RANGE 1 11 411 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED} 412 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 413 END 414 415 Initialize OpenBMC 416 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 417 Delete Local Partition File ${Partition_file_list} 418 419 420Redfish Upload And Delete Partition File In Loop 421 [Documentation] Upload the same partition file multiple times in loop to BMC. 422 [Arguments] ${file_name} 423 424 # Description of argument(s): 425 # file_name Partition file name. 426 427 FOR ${count} IN RANGE 1 11 428 Redfish Upload Partition File ${file_name} 429 END 430 431 432Verify Partition File Upload Post BMC Reboot 433 [Documentation] Upload the partition file, after BMC reboot. 434 [Arguments] ${file_name} 435 436 # Description of argument(s): 437 # file_name Partition file name. 438 439 Redfish OBMC Reboot (off) 440 441 Redfish Upload Partition File ${file_name} 442 443 444Redfish Partition File Persistency 445 [Documentation] Upload the partition file and check for persistency after reboot. 446 [Arguments] ${file_name} 447 448 # Description of argument(s): 449 # file_name Partition file name. 450 451 @{Partition_file_list} = Split String ${file_name} , 452 ${num_records}= Get Length ${Partition_file_list} 453 Create Partition File ${Partition_file_list} 454 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 455 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 456 Redfish OBMC Reboot (off) 457 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 458 Initialize OpenBMC 459 Run Keyword If ${num_records} == ${1} 460 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 461 ... ELSE 462 ... Delete All BMC Partition File ${HTTP_OK} 463 Delete Local Partition File ${Partition_file_list} 464 465 466Verify Redfish Partition File Content 467 [Documentation] Verify partition file content. 468 [Arguments] ${file_name} ${content_dict} ${status_code} 469 470 # Description of argument(s): 471 # file_name Partition file name. 472 # content_dict Dict contain the content. 473 # status_code HTTPS status code. 474 475 FOR ${conf_file} IN @{file_name} 476 ${resp}= Get Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} 477 Should Be Equal As Strings ${resp.status_code} ${status_code} 478 479 ${Partition_file_data}= Remove String ${resp.text} \\n 480 ${Partition_file_data}= Evaluate json.loads('''${Partition_file_data}''') json 481 Should Be Equal As Strings ${Partition_file_data["Data"]} ${content_dict['${conf_file}']} 482 END 483 484 485Add Content To Files 486 [Documentation] Add defined content in partition file. 487 [Arguments] ${file_name} ${index}=${0} 488 489 # Description of argument(s): 490 # file_name Partition file name. 491 # index Index 492 493 ${num_records}= Get Length ${file_name} 494 Set Test Variable ${content-1} Sample Content to test partition file upload 495 Set Test Variable ${content-2} Sample Content to test partition file upload after reboot 496 &{content_dict}= Create Dictionary 497 FOR ${conf_file} IN @{file_name} 498 ${index}= Get Index From List ${file_name} ${conf_file} 499 ${index}= Evaluate ${index} + 1 500 501 Run echo "${content-${index}}" > ${conf_file} 502 OperatingSystem.File Should Exist ${conf_file} 503 504 Set To Dictionary ${content_dict} ${conf_file} ${content-${index}} 505 END 506 507 [Return] &{content_dict} 508 509 510Redfish Read Partition File 511 [Documentation] Read partition file content. 512 [Arguments] ${file_name} ${reboot_flag}=False 513 514 # Description of argument(s): 515 # file_name Partition file name. 516 # reboot_flag Reboot flag. 517 518 @{Partition_file_list} = Split String ${file_name} , 519 ${content_dict}= Add Content To Files ${Partition_file_list} 520 521 ${num_records}= Get Length ${Partition_file_list} 522 523 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 524 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 525 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 526 527 Run Keyword If ${True} == ${reboot_flag} 528 ... Run Keywords Redfish OBMC Reboot (off) AND 529 ... Initialize OpenBMC AND 530 ... Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 531 Run Keyword If ${num_records} == ${1} 532 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 533 ... ELSE 534 ... Delete All BMC Partition File ${HTTP_OK} 535 Delete Local Partition File ${Partition_file_list} 536 537 538Redfish Update Partition File With Same Content 539 [Documentation] Update partition file with same content. 540 [Arguments] ${file_name} ${reboot_flag}=False 541 542 # Description of argument(s): 543 # file_name Partition file name. 544 # reboot_flag Reboot flag. 545 546 @{Partition_file_list} = Split String ${file_name} , 547 ${content_dict}= Add Content To Files ${Partition_file_list} ${0} 548 549 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 550 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 551 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 552 553 Run Keyword If ${True} == ${reboot_flag} 554 ... Run Keywords Redfish OBMC Reboot (off) AND 555 ... Initialize OpenBMC 556 557 ${content_dict}= Add Content To Files ${Partition_file_list} ${0} 558 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED} 559 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 560 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 561 562 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 563 Delete Local Partition File ${Partition_file_list} 564 565 566Redfish Update Partition File With Different Content 567 [Documentation] Update partition file with different content. 568 [Arguments] ${file_name} ${reboot_flag}=False 569 570 # Description of argument(s): 571 # file_name Partition file name. 572 # reboot_flag Reboot flag. 573 574 @{Partition_file_list} = Split String ${file_name} , 575 ${content_dict}= Add Content To Files ${Partition_file_list} ${0} 576 577 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 578 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 579 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 580 581 Run Keyword If ${True} == ${reboot_flag} 582 ... Run Keywords Redfish OBMC Reboot (off) AND 583 ... Initialize OpenBMC 584 585 ${content_dict}= Add Content To Files ${Partition_file_list} ${1} 586 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED} 587 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 588 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 589 590 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 591 Delete Local Partition File ${Partition_file_list} 592 593 594Create File Names 595 [Documentation] Create partition file names. 596 [Arguments] ${range} 597 598 # Description of argument(s): 599 # range Range in numbers. 600 601 @{file_name_list}= Create List 602 Set Test Variable ${file_name} rangefile 603 FOR ${count} IN RANGE ${range} 604 Append To List ${file_name_list} 200KB_file${count} 605 END 606 [Return] ${file_name_list} 607 608 609Redfish Upload Partition File With Range 610 [Documentation] Upload the partition file with the range of files. 611 [Arguments] ${range} 612 613 # Description of argument(s): 614 # range Range in numbers. 615 616 ${Partition_file_list}= Create File Names ${range} 617 Create Partition File ${Partition_file_list} 618 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 619 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 620 Delete All BMC Partition File ${HTTP_OK} 621 Delete Local Partition File ${Partition_file_list} 622 623 624Redfish Delete Non Existence Partition File 625 [Documentation] Delete the partition file if do not exists. 626 [Arguments] ${file_name} 627 628 # Description of argument(s): 629 # file_name Partition file name. 630 631 @{Partition_file_list} = Split String ${file_name} , 632 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND} 633 634 635Non Admin User To Upload Partition File 636 [Documentation] Non admin user to upload the partition file. 637 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True} 638 639 # Description of argument(s): 640 # file_name Partition file name. 641 # username Username. 642 # password Password. 643 # role Role of user. 644 # enabled Value can be True or False. 645 646 Redfish Create User ${username} ${password} ${role} ${enabled} 647 Delete All Sessions 648 Initialize OpenBMC rest_username=${username} rest_password=${password} 649 @{Partition_file_list} = Split String ${file_name} , 650 Create Partition File ${Partition_file_list} 651 Upload Partition File To BMC ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} ${False} 652 Delete Local Partition File ${Partition_file_list} 653 Redfish.Delete /redfish/v1/AccountService/Accounts/${username} 654 655 656Non Admin Delete Non Existence Partition File 657 [Documentation] Non admin user to upload the partition file. 658 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True} 659 660 # Description of argument(s): 661 # file_name Partition file name. 662 # username Username. 663 # password Password. 664 # role Role of user. 665 # enabled Value can be True or False. 666 667 Redfish Create User ${username} ${password} ${role} ${enabled} 668 Delete All Sessions 669 Initialize OpenBMC rest_username=${username} rest_password=${password} 670 @{Partition_file_list} = Split String ${file_name} , 671 Delete BMC Partition File ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} 672 673 674Verify Update Wrong Partition File To BMC 675 [Documentation] Upload the wrong partition file to BMC. 676 [Arguments] ${file_name} 677 678 # Description of argument(s): 679 # file_name Partition file name. 680 681 Redfish.Login 682 ${resp}= Run Keyword And Return Status 683 ... Redfish.Put /ibm/v1/Host/ConfigFiles/../../../../../etc/resolv.conf body={"data": "test string"} 684 Should Be Equal As Strings ${resp} False 685