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