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 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN} 440 Redfish BMC Reset Operation 441 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} 442 443 Is BMC Standby 444 445 Redfish Upload Partition File ${file_name} 446 447 448Redfish Partition File Persistency 449 [Documentation] Upload the partition file and check for persistency after reboot. 450 [Arguments] ${file_name} 451 452 # Description of argument(s): 453 # file_name Partition file name. 454 455 @{Partition_file_list} = Split String ${file_name} , 456 ${num_records}= Get Length ${Partition_file_list} 457 Create Partition File ${Partition_file_list} 458 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 459 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 460 461 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN} 462 Redfish BMC Reset Operation 463 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} 464 465 Is BMC Standby 466 467 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 468 Initialize OpenBMC 469 Run Keyword If ${num_records} == ${1} 470 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 471 ... ELSE 472 ... Delete All BMC Partition File ${HTTP_OK} 473 Delete Local Partition File ${Partition_file_list} 474 475 476Verify Redfish Partition File Content 477 [Documentation] Verify partition file content. 478 [Arguments] ${file_name} ${content_dict} ${status_code} 479 480 # Description of argument(s): 481 # file_name Partition file name. 482 # content_dict Dict contain the content. 483 # status_code HTTPS status code. 484 485 FOR ${conf_file} IN @{file_name} 486 ${resp}= Get Request openbmc /ibm/v1/Host/ConfigFiles/${conf_file} 487 Should Be Equal As Strings ${resp.status_code} ${status_code} 488 489 ${Partition_file_data}= Remove String ${resp.text} \\n 490 ${Partition_file_data}= Evaluate json.loads('''${Partition_file_data}''') json 491 Should Be Equal As Strings ${Partition_file_data["Data"]} ${content_dict['${conf_file}']} 492 END 493 494 495Add Content To Files 496 [Documentation] Add defined content in partition file. 497 [Arguments] ${file_name} ${index}=${0} 498 499 # Description of argument(s): 500 # file_name Partition file name. 501 # index Index 502 503 ${num_records}= Get Length ${file_name} 504 Set Test Variable ${content-1} Sample Content to test partition file upload 505 Set Test Variable ${content-2} Sample Content to test partition file upload after reboot 506 &{content_dict}= Create Dictionary 507 FOR ${conf_file} IN @{file_name} 508 ${index}= Get Index From List ${file_name} ${conf_file} 509 ${index}= Evaluate ${index} + 1 510 511 Run echo "${content-${index}}" > ${conf_file} 512 OperatingSystem.File Should Exist ${conf_file} 513 514 Set To Dictionary ${content_dict} ${conf_file} ${content-${index}} 515 END 516 517 [Return] &{content_dict} 518 519 520Redfish Read Partition File 521 [Documentation] Read partition file content. 522 [Arguments] ${file_name} ${reboot_flag}=False 523 524 # Description of argument(s): 525 # file_name Partition file name. 526 # reboot_flag Reboot flag. 527 528 @{Partition_file_list} = Split String ${file_name} , 529 ${content_dict}= Add Content To Files ${Partition_file_list} 530 531 ${num_records}= Get Length ${Partition_file_list} 532 533 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 534 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 535 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 536 537 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN} 538 539 Run Keyword If ${True} == ${reboot_flag} 540 ... Run Keywords Redfish BMC Reset Operation AND 541 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND 542 ... Is BMC Standby AND 543 ... Initialize OpenBMC AND 544 ... Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 545 546 Run Keyword If ${num_records} == ${1} 547 ... Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 548 ... ELSE 549 ... Delete All BMC Partition File ${HTTP_OK} 550 551 Delete Local Partition File ${Partition_file_list} 552 553 554Redfish Update Partition File With Same Content 555 [Documentation] Update partition file with same content. 556 [Arguments] ${file_name} ${reboot_flag}=False 557 558 # Description of argument(s): 559 # file_name Partition file name. 560 # reboot_flag Reboot flag. 561 562 @{Partition_file_list} = Split String ${file_name} , 563 ${content_dict}= Add Content To Files ${Partition_file_list} ${0} 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 569 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN} 570 571 Run Keyword If ${True} == ${reboot_flag} 572 ... Run Keywords Redfish BMC Reset Operation AND 573 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND 574 ... Is BMC Standby AND 575 ... Initialize OpenBMC 576 577 ${content_dict}= Add Content To Files ${Partition_file_list} ${0} 578 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED} 579 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 580 Verify Redfish Partition File Content ${Partition_file_list} ${content_dict} ${HTTP_OK} 581 582 Delete BMC Partition File ${Partition_file_list} ${HTTP_OK} ${FILE_DELETED_MESSAGE} 583 Delete Local Partition File ${Partition_file_list} 584 585 586Redfish Update Partition File With Different Content 587 [Documentation] Update partition file with different 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 601 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN} 602 603 Run Keyword If ${True} == ${reboot_flag} 604 ... Run Keywords Redfish BMC Reset Operation AND 605 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND 606 ... Is BMC Standby AND 607 ... Initialize OpenBMC 608 609 ${content_dict}= Add Content To Files ${Partition_file_list} ${1} 610 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPDATED} 611 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 618Create File Names 619 [Documentation] Create partition file names. 620 [Arguments] ${range} 621 622 # Description of argument(s): 623 # range Range in numbers. 624 625 @{file_name_list}= Create List 626 Set Test Variable ${file_name} rangefile 627 FOR ${count} IN RANGE ${range} 628 Append To List ${file_name_list} 200KB_file${count} 629 END 630 [Return] ${file_name_list} 631 632 633Redfish Upload Partition File With Range 634 [Documentation] Upload the partition file with the range of files. 635 [Arguments] ${range} 636 637 # Description of argument(s): 638 # range Range in numbers. 639 640 ${Partition_file_list}= Create File Names ${range} 641 Create Partition File ${Partition_file_list} 642 Upload Partition File To BMC ${Partition_file_list} ${HTTP_OK} ${FILE_UPLOAD_MESSAGE} 643 Verify Partition File On BMC ${Partition_file_list} Partition_status=1 644 Delete All BMC Partition File ${HTTP_OK} 645 Delete Local Partition File ${Partition_file_list} 646 647 648Redfish Delete Non Existence Partition File 649 [Documentation] Delete the partition file if do not exists. 650 [Arguments] ${file_name} 651 652 # Description of argument(s): 653 # file_name Partition file name. 654 655 @{Partition_file_list} = Split String ${file_name} , 656 Delete BMC Partition File ${Partition_file_list} ${HTTP_NOT_FOUND} ${RESOURCE_NOT_FOUND} 657 658 659Non Admin User To Upload Partition File 660 [Documentation] Non admin user to upload the partition file. 661 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True} 662 663 # Description of argument(s): 664 # file_name Partition file name. 665 # username Username. 666 # password Password. 667 # role Role of user. 668 # enabled Value can be True or False. 669 670 Redfish Create User ${username} ${password} ${role} ${enabled} 671 Delete All Sessions 672 Initialize OpenBMC rest_username=${username} rest_password=${password} 673 @{Partition_file_list} = Split String ${file_name} , 674 Create Partition File ${Partition_file_list} 675 Upload Partition File To BMC ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} ${False} 676 Delete Local Partition File ${Partition_file_list} 677 Redfish.Delete /redfish/v1/AccountService/Accounts/${username} 678 679 680Non Admin Delete Non Existence Partition File 681 [Documentation] Non admin user to upload the partition file. 682 [Arguments] ${file_name} ${username} ${password} ${role} ${enabled}=${True} 683 684 # Description of argument(s): 685 # file_name Partition file name. 686 # username Username. 687 # password Password. 688 # role Role of user. 689 # enabled Value can be True or False. 690 691 Redfish Create User ${username} ${password} ${role} ${enabled} 692 Delete All Sessions 693 Initialize OpenBMC rest_username=${username} rest_password=${password} 694 @{Partition_file_list} = Split String ${file_name} , 695 Delete BMC Partition File ${Partition_file_list} ${HTTP_FORBIDDEN} ${FORBIDDEN_MESSAGE} 696 697 698Verify Update Wrong Partition File To BMC 699 [Documentation] Upload the wrong partition file to BMC. 700 [Arguments] ${file_name} 701 702 # Description of argument(s): 703 # file_name Partition file name. 704 705 Redfish.Login 706 ${resp}= Run Keyword And Return Status 707 ... Redfish.Put /ibm/v1/Host/ConfigFiles/../../../../../etc/resolv.conf body={"data": "test string"} 708 Should Be Equal As Strings ${resp} False 709