1*** Settings *** 2 3Documentation VMI static/dynamic IP config tests. 4 5Resource ../../lib/external_intf/vmi_utils.robot 6 7Suite Setup Suite Setup Execution 8Test Teardown FFDC On Test Case Fail 9Suite Teardown Run Keyword And Ignore Error Suite Teardown Execution 10 11Test Tags Vmi 12 13*** Variables *** 14 15# users User Name password 16@{ADMIN} admin_user TestPwd123 17@{OPERATOR} operator_user TestPwd123 18@{ReadOnly} readonly_user TestPwd123 19&{USERS} Administrator=${ADMIN} ReadOnly=${ReadOnly} 20 21${test_ipv4} 10.6.6.6 22${test_gateway} 10.6.6.1 23${test_netmask} 255.255.252.0 24 25&{DHCP_ENABLED} DHCPEnabled=${${True}} 26&{DHCP_DISABLED} DHCPEnabled=${${False}} 27 28&{ENABLE_DHCP} DHCPv4=&{DHCP_ENABLED} 29&{DISABLE_DHCP} DHCPv4=&{DHCP_DISABLED} 30 31${default} 0.0.0.0 32${default_ipv6addr} :: 33${prefix_length} ${64} 34${test_vmi_ipv6addr} 2001:db8:1111:2222:10:5:5:6 35${test_vmi_ipv6gateway} 2001:db8:1111:2222::1 36${ipv4_hexword_addr} 10.5.5.6:1A:1B:1C:1D:1E:1F 37${multicast_ipv6addr} FF00 38${loopback_ipv6addr} ::1 39${compressed_ipv4} ::10.6.6.5 40${shortform_stand_ipv4} 0:0:0:0:0:0:10.5.5.6 41${standard_ipv4rep} 0000:0000:0000:0000:0000:0000:10.5.5.6 42 43 44*** Test Cases *** 45 46Verify All VMI EthernetInterfaces 47 [Documentation] Verify all VMI ethernet interfaces. 48 [Tags] Verify_All_VMI_EthernetInterfaces 49 50 Verify VMI EthernetInterfaces 51 52 53Verify Existing VMI Network Interface Details 54 [Documentation] Verify existing VMI network interface details. 55 [Tags] Verify_Existing_VMI_Network_Interface_Details 56 57 ${vmi_ip}= Get VMI Network Interface Details 58 ${origin}= Set Variable If ${vmi_ip["DHCPv4"]} == ${False} Static DHCP 59 Should Not Be Equal ${vmi_ip["DHCPv4"]} ${vmi_ip["IPv4StaticAddresses"]} 60 Should Be Equal As Strings ${vmi_ip["Id"]} ${ethernet_interface} 61 Should Be Equal As Strings ${vmi_ip["Description"]} 62 ... Hypervisor's Virtual Management Ethernet Interface 63 Should Be Equal As Strings ${vmi_ip["Name"]} Hypervisor Ethernet Interface 64 IF ${vmi_ip["IPv4StaticAddresses"]} != @{empty} 65 Verify VMI Network Interface Details ${vmi_ip["IPv4_Address"]} 66 ... ${origin} ${vmi_ip["IPv4_Gateway"]} ${vmi_ip["IPv4_SubnetMask"]} 67 END 68 69 70Delete Existing Static VMI IP Address 71 [Documentation] Delete existing static VMI IP address. 72 [Tags] Delete_Existing_Static_VMI_IP_Address 73 74 ${curr_origin}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 75 IF ${curr_origin} == ${True} 76 Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} 77 END 78 79 Delete VMI IPv4 Address 80 81 82Verify User Cannot Delete ReadOnly Property IPv4Addresses 83 [Documentation] Verify user cannot delete readonly property IPv4Addresses. 84 [Tags] Verify_User_Cannot_Delete_ReadOnly_Property_IPv4Addresses 85 86 ${curr_origin}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 87 IF ${curr_origin} == ${True} 88 Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} 89 END 90 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 91 Delete VMI IPv4 Address IPv4Addresses valid_status_code=${HTTP_FORBIDDEN} 92 93 94Assign Valid And Invalid Static IPv4 Address To VMI 95 [Documentation] Assign static IPv4 address to VMI. 96 [Tags] Assign_Valid_And_Invalid_Static_IPv4_Address_To_VMI 97 [Template] Set Static IPv4 Address To VMI And Verify 98 [Teardown] Run keywords Delete VMI IPv4 Address AND Test Teardown Execution 99 100 # ip gateway netmask valid_status_code 101 10.5.20.30 10.5.20.1 255.255.252.0 ${HTTP_ACCEPTED} 102 a.3.118.94 10.5.20.1 255.255.252.0 ${HTTP_BAD_REQUEST} 103 10.5.20 10.5.20.1 255.255.252.0 ${HTTP_BAD_REQUEST} 104 10.5.20.-5 10.5.20.1 255.255.252.0 ${HTTP_BAD_REQUEST} 105 106 107Add Multiple IP Addresses On VMI Interface And Verify 108 [Documentation] Add multiple IP addresses on VMI interface and verify. 109 [Tags] Add_Multiple_IP_Addresses_On_VMI_Interface_And_Verify 110 [Teardown] Run keywords Delete VMI IPv4 Address AND Test Teardown Execution 111 112 ${ip1}= Create dictionary Address=10.5.5.10 SubnetMask=255.255.252.0 Gateway=10.5.5.1 113 ${ip2}= Create dictionary Address=10.5.5.11 SubnetMask=255.255.252.0 Gateway=10.5.5.1 114 ${ip3}= Create dictionary Address=10.5.5.12 SubnetMask=255.255.252.0 Gateway=10.5.5.1 115 ${ips}= Create List ${ip1} ${ip2} ${ip3} 116 117 Redfish.Patch /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 118 ... body={'IPv4StaticAddresses':${ips}} valid_status_codes=[${HTTP_BAD_REQUEST}] 119 120 121Modify IP Addresses On VMI Interface And Verify 122 [Documentation] Modify IP addresses on VMI interface and verify. 123 [Tags] Modify_IP_Addresses_On_VMI_Interface_And_Verify 124 [Template] Set Static IPv4 Address To VMI And Verify 125 [Teardown] Run keywords Delete VMI IPv4 Address AND Test Teardown Execution 126 127 # ip gateway netmask valid_status_code 128 10.5.5.10 10.5.5.1 255.255.252.0 ${HTTP_ACCEPTED} 129 10.5.5.11 10.5.5.1 255.255.252.0 ${HTTP_ACCEPTED} 130 131 132Switch Between IP Origins On VMI And Verify Details 133 [Documentation] Switch between IP origins on VMI and verify details. 134 [Tags] Switch_Between_IP_Origins_On_VMI_And_Verify_Details 135 136 Switch VMI IPv4 Origin And Verify Details 137 Switch VMI IPv4 Origin And Verify Details 138 139 140Verify Persistency Of VMI IPv4 Details After Host Reboot 141 [Documentation] Verify persistency of VMI IPv4 details after host reboot. 142 [Tags] Verify_Persistency_Of_VMI_IPv4_Details_After_Host_Reboot 143 144 # Verifying persistency of dynamic address. 145 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} 146 Redfish Power Off stack_mode=skip 147 Redfish Power On 148 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 149 150 # Verifying persistency of static address. 151 Switch VMI IPv4 Origin And Verify Details 152 Redfish Power Off stack_mode=skip 153 Redfish Power On 154 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 155 156 157Delete VMI Static IP Address And Verify 158 [Documentation] Delete VMI static IP address and verify. 159 [Tags] Delete_VMI_Static_IP_Address_And_Verify 160 [Teardown] Test Teardown Execution 161 162 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 163 Delete VMI IPv4 Address 164 165 166Verify Successful VMI IP Static Configuration On HOST Boot After Session Delete 167 [Documentation] Verify VMI IP static Configuration On HOST Boot After session deleted. 168 [Tags] Verify_Successful_VMI_IP_Static_Configuration_On_HOST_Boot_After_Session_Delete 169 [Teardown] Run keywords Delete VMI IPv4 Address AND Test Teardown Execution 170 171 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 172 173 ${session_info}= Get Redfish Session Info 174 Redfish.Delete ${session_info["location"]} 175 176 # Create a new Redfish session 177 Redfish.Login 178 Redfish Power Off 179 Redfish Power On 180 181 Verify VMI Network Interface Details ${test_ipv4} Static ${test_gateway} ${test_netmask} 182 183 184Verify Persistency Of VMI DHCP IP Configuration After Multiple HOST Reboots 185 [Documentation] Verify Persistency Of VMI DHCP IP configuration After Multiple HOST Reboots 186 [Tags] Verify_Persistency_Of_VMI_DHCP_IP_Configuration_After_Multiple_HOST_Reboots 187 [Teardown] Test Teardown Execution 188 189 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} 190 ${vmi_ip_config}= Get VMI Network Interface Details 191 # Verifying persistency of dynamic address after multiple reboots. 192 FOR ${i} IN RANGE ${2} 193 Redfish Power Off 194 Redfish Power On 195 Verify VMI Network Interface Details ${vmi_ip_config["IPv4_Address"]} 196 ... DHCP ${vmi_ip_config["IPv4_Gateway"]} ${vmi_ip_config["IPv4_SubnetMask"]} 197 END 198 199 200Enable DHCP When Static IP Configured And Verify Static IP 201 [Documentation] Enable DHCP when static ip configured and verify static ip 202 [Tags] Enable_DHCP_When_Static_IP_Configured_And_Verify_Static_IP 203 [Setup] Redfish Power On 204 [Teardown] Test Teardown Execution 205 206 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 207 Set VMI IPv4 Origin ${True} 208 ${vmi_network_conf}= Get VMI Network Interface Details 209 Should Not Be Equal As Strings ${test_ipv4} ${vmi_network_conf["IPv4_Address"]} 210 211 212Verify VMI Static IP Configuration Persist On BMC Reset Before Host Boot 213 [Documentation] Verify VMI static IP configuration persist on BMC reset. 214 [Tags] Verify_VMI_Static_IP_Configuration_Persist_On_BMC_Reset_Before_Host_Boot 215 [Teardown] Run keywords Delete VMI IPv4 Address AND FFDC On Test Case Fail 216 217 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 218 Redfish OBMC Reboot (off) stack_mode=skip 219 Redfish Power On 220 # Verifying the VMI static configuration 221 Verify VMI Network Interface Details ${test_ipv4} Static ${test_gateway} ${test_netmask} 222 223 224Add Static IP When Host Poweroff And Verify On Poweron 225 [Documentation] Add Static IP When Host Poweroff And Verify on power on 226 [Tags] Add_Static_IP_When_Host_Poweroff_And_Verify_On_Poweron 227 [Setup] Redfish Power Off 228 [Teardown] Run keywords Delete VMI IPv4 Address AND FFDC On Test Case Fail 229 230 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 231 Redfish Power On 232 Verify VMI Network Interface Details ${test_ipv4} Static ${test_gateway} ${test_netmask} 233 234 235Add VMI Static IP When Host Poweroff And Verify Static IP On BMC Reset 236 [Documentation] Add Static IP When Host Poweroff And Verify Static IP On BMC Reset. 237 [Tags] Add_VMI_Static_IP_When_Host_Poweroff_And_Verify_Static_IP_On_BMC_Reset 238 [Setup] Redfish Power Off 239 [Teardown] Run keywords Delete VMI IPv4 Address AND FFDC On Test Case Fail 240 241 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 242 Redfish OBMC Reboot (off) stack_mode=skip 243 Redfish Power On 244 Verify VMI Network Interface Details ${test_ipv4} Static ${test_gateway} ${test_netmask} 245 246 247Enable DHCP When No Static IP Configured And Verify DHCP IP 248 [Documentation] Enable DHCP when no static ip configured and verify dhcp ip 249 [Tags] Enable_DHCP_When_No_Static_IP_Configured_And_Verify_DHCP_IP 250 [Setup] Run Keyword And Ignore Error Delete VMI IPv4 Address 251 [Teardown] Test Teardown Execution 252 253 ${curr_origin}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 254 IF ${curr_origin} == ${False} 255 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} 256 END 257 ${vmi_ip_config}= Get VMI Network Interface Details 258 Verify VMI Network Interface Details ${vmi_ip_config["IPv4_Address"]} 259 ... DHCP ${vmi_ip_config["IPv4_Gateway"]} ${vmi_ip_config["IPv4_SubnetMask"]} 260 261 262Verify User Cannot Delete VMI DHCP IP Address 263 [Documentation] Verify user cannot delete VMI DHCP IP Address 264 [Tags] Verify_User_Cannot_Delete_VMI_DHCP_IP_Address 265 [Setup] Set VMI IPv4 Origin ${True} 266 [Teardown] Test Teardown Execution 267 268 Delete VMI IPv4 Address IPv4Addresses valid_status_code=${HTTP_FORBIDDEN} 269 ${resp}= Redfish.Get 270 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 271 Should Not Be Empty ${resp.dict["IPv4Addresses"]} 272 273 274Enable DHCP When Static IP Configured DHCP Server Unavailable And Verify IP 275 [Documentation] Enable DHCP When Static IP Configured And DHCP Server Unavailable And Verify No IP. 276 [Tags] Enable_DHCP_When_Static_IP_Configured_DHCP_Server_Unavailable_And_Verify_IP 277 [Teardown] Test Teardown Execution 278 279 Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 280 Set VMI IPv4 Origin ${True} 281 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 282 283 284Verify To Configure VMI Static IP Address With Different User Roles 285 [Documentation] Verify to configure vmi static ip address with different user roles. 286 [Tags] Verify_To_Configure_VMI_Static_IP_Address_With_Different_User_Roles 287 [Setup] Run Keywords Delete BMC Users Using Redfish 288 ... AND Create Users With Different Roles users=${USERS} force=${True} 289 [Template] Config VMI Static IP Address Using Different Users 290 [Teardown] Delete BMC Users Using Redfish 291 292 # username password ip_address gateway nemask valid_status_code 293 admin_user TestPwd123 ${test_ipv4} ${test_gateway} ${test_netmask} ${HTTP_ACCEPTED} 294 readonly_user TestPwd123 ${test_ipv4} ${test_gateway} ${test_netmask} ${HTTP_FORBIDDEN} 295 296 297Verify To Configure VMI Static IP Address With Operator User Role 298 [Documentation] Verify to configure vmi static ip address with operator user role. 299 [Tags] Verify_To_Configure_VMI_Static_IP_Address_With_Operator_User_Role 300 [Setup] Create Users With Different Roles users=${USERS} force=${True} 301 [Template] Config VMI Static IP Address Using Different Users 302 [Teardown] Delete BMC Users Using Redfish 303 304 # username password ip_address gateway nemask valid_status_code 305 operator_user TestPwd123 ${test_ipv4} ${test_gateway} ${test_netmask} ${HTTP_FORBIDDEN} 306 307 308Verify To Delete VMI Static IP Address With Different User Roles 309 [Documentation] Verify to delete vmi static IP address with different user roles. 310 [Tags] Verify_To_Delete_VMI_Static_IP_Address_With_Different_User_Roles 311 [Setup] Create Users With Different Roles users=${USERS} force=${True} 312 [Template] Delete VMI Static IP Address Using Different Users 313 [Teardown] Delete BMC Users Using Redfish 314 315 # username password valid_status_code 316 admin_user TestPwd123 ${HTTP_ACCEPTED} 317 readonly_user TestPwd123 ${HTTP_FORBIDDEN} 318 319 320Verify To Delete VMI Static IP Address With Operator User Role 321 [Documentation] Verify to delete vmi static IP address with operator user role. 322 [Tags] Verify_To_Delete_VMI_Static_IP_Address_With_Operator_User_Role 323 [Setup] Create Users With Different Roles users=${USERS} force=${True} 324 [Template] Delete VMI Static IP Address Using Different Users 325 [Teardown] Delete BMC Users Using Redfish 326 327 # username password valid_status_code 328 operator_user TestPwd123 ${HTTP_FORBIDDEN} 329 330 331Verify To Update VMI Static IP Address With Different User Roles 332 [Documentation] Verify to update vmi static IP address with different user roles. 333 [Tags] Verify_To_Update_VMI_Static_IP_Address_With_Different_User_Roles 334 [Setup] Create Users With Different Roles users=${USERS} force=${True} 335 [Template] Config VMI Static IP Address Using Different Users 336 [Teardown] Delete BMC Users Using Redfish 337 338 # username password ip_address gateway netmask valid_status_code 339 admin_user TestPwd123 10.5.10.20 10.5.10.1 255.255.0.0 ${HTTP_ACCEPTED} 340 readonly_user TestPwd123 10.5.20.40 10.5.20.1 255.255.0.0 ${HTTP_FORBIDDEN} 341 342 343Verify To Update VMI Static IP Address With Operator User Role 344 [Documentation] Verify to update vmi static IP address with operator user role. 345 [Tags] Verify_To_Update_VMI_Static_IP_Address_With_Operator_User_Role 346 [Setup] Create Users With Different Roles users=${USERS} force=${True} 347 [Template] Config VMI Static IP Address Using Different Users 348 [Teardown] Delete BMC Users Using Redfish 349 350 # username password ip_address gateway netmask valid_status_code 351 operator_user TestPwd123 10.5.10.30 10.5.10.1 255.255.0.0 ${HTTP_FORBIDDEN} 352 353 354Verify To Read VMI Network Configuration With Different User Roles 355 [Documentation] Verify to read vmi network configuration with different user roles. 356 [Tags] Verify_To_Read_VMI_Network_Configuration_With_Different_User_Roles 357 [Setup] Create Users With Different Roles users=${USERS} force=${True} 358 [Template] Read VMI Static IP Address Using Different Users 359 [Teardown] Delete BMC Users Using Redfish 360 361 # username password valid_status_code 362 admin_user TestPwd123 ${HTTP_OK} 363 readonly_user TestPwd123 ${HTTP_OK} 364 365 366Verify To Read VMI Network Configuration With Operator User Role 367 [Documentation] Verify to read vmi network configuration with operator user role. 368 [Tags] Verify_To_Read_VMI_Network_Configuration_With_Operator_User_Role 369 [Setup] Create Users With Different Roles users=${USERS} force=${True} 370 [Template] Read VMI Static IP Address Using Different Users 371 [Teardown] Delete BMC Users Using Redfish 372 373 # username password valid_status_code 374 operator_user TestPwd123 ${HTTP_FORBIDDEN} 375 376 377Enable DHCP On VMI Network Via Different Users Roles And Verify 378 [Documentation] Enable DHCP On VMI Network Via Different Users Roles And Verify. 379 [Tags] Enable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify 380 [Setup] Create Users With Different Roles users=${USERS} force=${True} 381 [Template] Update User Role And Set VMI IPv4 Origin 382 [Teardown] Delete BMC Users Using Redfish 383 384 # username password dhcp_enabled valid_status_code 385 admin_user TestPwd123 ${True} ${HTTP_ACCEPTED} 386 readonly_user TestPwd123 ${True} ${HTTP_FORBIDDEN} 387 388 389Enable DHCP On VMI Network Via Operator User Role And Verify 390 [Documentation] Enable DHCP On VMI Network Via Operator User Role And Verify. 391 [Tags] Enable_DHCP_On_VMI_Network_Via_Operator_User_Role_And_Verify 392 [Setup] Create Users With Different Roles users=${USERS} force=${True} 393 [Template] Update User Role And Set VMI IPv4 Origin 394 [Teardown] Delete BMC Users Using Redfish 395 396 # username password dhcp_enabled valid_status_code 397 operator_user TestPwd123 ${True} ${HTTP_FORBIDDEN} 398 399 400Disable DHCP On VMI Network Via Different Users Roles And Verify 401 [Documentation] Disable DHCP On VMI Network Via Different Users Roles And Verify. 402 [Tags] Disable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify 403 [Setup] Create Users With Different Roles users=${USERS} force=${True} 404 [Template] Update User Role And Set VMI IPv4 Origin 405 [Teardown] Delete BMC Users Using Redfish 406 407 # username password dhcp_enabled valid_status_code 408 admin_user TestPwd123 ${False} ${HTTP_ACCEPTED} 409 readonly_user TestPwd123 ${False} ${HTTP_FORBIDDEN} 410 411 412Disable DHCP On VMI Network Via Operator User Role And Verify 413 [Documentation] Disable DHCP On VMI Network Via Operator User Role And Verify. 414 [Tags] Disable_DHCP_On_VMI_Network_Via_Operator_User_Role_And_Verify 415 [Setup] Create Users With Different Roles users=${USERS} force=${True} 416 [Template] Update User Role And Set VMI IPv4 Origin 417 [Teardown] Delete BMC Users Using Redfish 418 419 # username password dhcp_enabled valid_status_code 420 operator_user TestPwd123 ${False} ${HTTP_FORBIDDEN} 421 422 423Enable And Disable DHCP And Verify 424 [Documentation] verify enable DHCP and disable DHCP. 425 [Tags] Enable_And_Disable_DHCP_And_Verify 426 427 Set VMI IPv4 Origin ${True} 428 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 429 Set VMI IPv4 Origin ${False} 430 Verify VMI Network Interface Details ${default} Static ${default} ${default} 431 432 433Multiple Times Enable And Disable DHCP And Verify 434 [Documentation] Enable and Disable DHCP in a loop and verify VMI gets an IP address from DHCP 435 ... each time when DHCP is enabled 436 [Tags] Multiple_Times_Enable_And_Disable_DHCP_And_Verify 437 438 FOR ${i} IN RANGE ${2} 439 Set VMI IPv4 Origin ${True} 440 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 441 Set VMI IPv4 Origin ${False} 442 Verify VMI Network Interface Details ${default} Static ${default} ${default} 443 END 444 445 446Assign Static IPv4 Address With Invalid Netmask To VMI 447 [Documentation] Assign static IPv4 address with invalid netmask and expect error. 448 [Tags] Assign_Static_IPv4_Address_With_Invalid_Netmask_To_VMI 449 [Template] Set Static IPv4 Address To VMI And Verify 450 451 # ip gateway netmask valid_status_code 452 ${test_ipv4} ${test_gateway} 255.256.255.0 ${HTTP_BAD_REQUEST} 453 ${test_ipv4} ${test_gateway} ff.ff.ff.ff ${HTTP_BAD_REQUEST} 454 ${test_ipv4} ${test_gateway} 255.255.253.0 ${HTTP_BAD_REQUEST} 455 456 457Assign Static IPv4 Address With Invalid Gateway To VMI 458 [Documentation] Add static IPv4 address with invalid gateway and expect error. 459 [Tags] Assign_Static_IPv4_Address_With_Invalid_Gateway_To_VMI 460 [Template] Set Static IPv4 Address To VMI And Verify 461 462 # ip gateway netmask valid_status_code 463 ${test_ipv4} @@@.%%.44.11 ${test_netmask} ${HTTP_BAD_REQUEST} 464 ${test_ipv4} 0xa.0xb.0xc.0xd ${test_netmask} ${HTTP_BAD_REQUEST} 465 ${test_ipv4} 10.3.36 ${test_netmask} ${HTTP_BAD_REQUEST} 466 ${test_ipv4} 10.3.36.-10 ${test_netmask} ${HTTP_BAD_REQUEST} 467 468 469Enable DHCP When Host Is Off And Verify After Poweron 470 [Documentation] Enable DHCP when host is off and 471 ... check whether it is enabled after poweron. 472 [Tags] Enable_DHCP_When_Host_Is_Off_And_Verify_After_Poweron 473 [Setup] Redfish Power Off stack_mode=skip 474 475 Set VMI IPv4 Origin ${True} 476 Redfish Power On stack_mode=skip 477 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 478 479 480Disable DHCP When Host Is Off And Verify New State Reflects After Power On 481 [Documentation] Disable DHCP when host is off and 482 ... get network info and verify that VMI origin is static. 483 [Tags] Disable_DHCP_When_Host_Is_Off_And_Verify_New_State_Reflects_After_Power_On 484 [Setup] Redfish Power Off stack_mode=skip 485 486 Set VMI IPv4 Origin ${False} 487 Redfish Power On stack_mode=skip 488 Verify VMI Network Interface Details ${default} Static ${default} ${default} 489 490 491Enable VMI Stateless Address AutoConfig And Verify 492 [Documentation] Enable VMI SLAACv6 and verify an origin. 493 [Tags] Enable_VMI_Stateless_Address_AutoConfig_And_Verify 494 495 Set VMI SLAACv6 Origin ${True} 496 497 # Check origin is set to slaac and address are getting displayed. 498 Verify VMI IPv6 Address SLAAC 499 500 501Disable VMI Stateless Address AutoConfig And Verify 502 [Documentation] Disable VMI SLAACv6 and verify an origin. 503 [Tags] Disable_VMI_Stateless_Address_AutoConfig_And_Verify 504 [Setup] Set VMI SLAACv6 Origin ${True} 505 506 Set VMI SLAACv6 Origin ${False} 507 508 # Check origin is set to static and slaacv6 address are getting erased. 509 Verify VMI IPv6 Address Static 510 511 512Enable VMI SLAAC And Check Persistency On BMC Reboot 513 [Documentation] Enable VMI SLAACv6 and verify its persistency 514 ... on BMC reboot and this works on the setup where router 515 ... advertises network prefix. 516 [Tags] Enable_VMI_SLAAC_And_Check_Persistency_On_BMC_Reboot 517 518 Set VMI SLAACv6 Origin ${True} 519 520 # Reboot BMC and verify persistency. 521 OBMC Reboot (off) 522 Redfish Power On 523 Wait For Host Boot Progress To Reach Required State 524 Sleep 5s 525 526 # Check origin is set to slaac and address are getting displayed. 527 ${vmi_ipv6addr}= Verify VMI IPv6 Address SLAAC 528 Should Not Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 529 530 531Disable VMI SLAAC And Check Persistency On BMC Reboot 532 [Documentation] Disable VMI SLAACv6 and verify its persistency 533 ... on BMC reboot. 534 [Tags] Disable_VMI_SLAAC_And_Check_Persistency_On_BMC_Reboot 535 536 Set VMI SLAACv6 Origin ${False} 537 538 # Reboot BMC and verify persistency. 539 OBMC Reboot (off) 540 Redfish Power On 541 Wait For Host Boot Progress To Reach Required State 542 543 # Check if origin is set to static and SLAAC address are getting erased. 544 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 545 Should Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 546 547 548Disable VMI DHCPv4 When SLAAC Is Enabled And Verify 549 [Documentation] Disable VMI DHCPv4 parameter when SLAACv6 is enabled 550 ... and check whether the IPv4 address origin is set to static and 551 ... DHCPv4 address is getting erased. 552 [Tags] Disable_VMI_DHCPv4_When_SLAAC_Is_Enabled_And_Verify 553 [Setup] Set VMI IPv4 Origin ${True} 554 555 # Set IPv6 origin to SLAAC. 556 Set VMI SLAACv6 Origin ${True} 557 Verify VMI IPv6 Address SLAAC 558 559 # Disable VMI DHCPv4 and check IPv4 address origin is set to static. 560 Set VMI IPv4 Origin ${False} 561 Verify VMI Network Interface Details ${default} Static ${default} ${default} 562 563 564Enable VMI SLAAC When DHCPv6 Is Enabled And Verify 565 [Documentation] Enable VMI SLAACv6 when VMI DHCPv6 is enabled and 566 ... check IPv6 gets Slaac address and this works on the setup 567 ... where router advertise network prefix. 568 [Tags] Enable_VMI_SLAAC_When_DHCPv6_Is_Enabled_And_Verify 569 570 Set VMI DHCPv6 Property Enabled 571 572 # Enable SLAAC and check whether IPv6 origin is set to SLAAC. 573 Set VMI SLAACv6 Origin ${True} 574 575 # Check if origin is set to slaac and address are getting displayed. 576 ${vmi_ipv6addr}= Verify VMI IPv6 Address SLAAC 577 Should Not Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 578 Should Be Equal ${vmi_ipv6addr["PrefixLength"]} ${prefix_length} 579 580 581Disable VMI DHCPv6 Property And Verify 582 [Documentation] Disable VMI DHCPv6 property and verify IPv6 address 583 ... origin is set to static and DHCPv6 address is erased. 584 [Tags] Disable_VMI_DHCPv6_Property_And_Verify 585 [Setup] Set VMI DHCPv6 Property Enabled 586 587 Set VMI DHCPv6 Property Disabled 588 589 # Verify IPv6 address origin is set to static and DHCPv6 address is erased. 590 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 591 Should Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 592 593 594Enable VMI SLAAC When DHCPv4 Is Enabled And Verify 595 [Documentation] On VMI enable SLAAC when DHCPv4 is enabled and verify DHCPv4 settings are intact 596 ... and IPv6 origin is set to SLAAC & it gets assigned with SLAAC IPv6 address and this 597 ... works on the setup where router advertise network prefix. 598 [Tags] Enable_VMI_SLAAC_When_DHCPv4_Is_Enabled_And_Verify 599 [Setup] Set VMI IPv4 Origin ${True} 600 601 # Enable Autoconfig address and check whether IPv6 address origin is set to SLAAC. 602 Set VMI SLAACv6 Origin ${True} 603 Verify VMI IPv6 Address SLAAC 604 605 # Check there is no impact on IPv4 settings, IPv4 address origin should be DHCP. 606 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 607 608 609Disable VMI DHCPv6 Property And Check Persistency On BMC Reboot 610 [Documentation] Disable VMI DHCPv6 property and verify its persistency on 611 ... BMC reboot. 612 [Tags] Disable_VMI_DHCPv6_Property_And_Check_Persistency_On_BMC_Reboot 613 [Setup] Set VMI DHCPv6 Property Enabled 614 615 Set VMI DHCPv6 Property Disabled 616 617 # Reboot BMC and verify persistency. 618 OBMC Reboot (off) 619 620 # Verify IPv6 address origin is set to Static and DHCPv6 address is erased. 621 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 622 Should Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 623 624 625Enable VMI SLAAC When IPv4 Origin Is Static And Verify 626 [Documentation] On VMI enable SLAAC when IPv4 origin is static and verify IPv4 settings are intact 627 ... and IPv6 origin is set to SLAAC & it gets assigned with SLAAC IPv6 address and this works 628 ... on the setup where router advertise network prefix. 629 [Tags] Enable_VMI_SLAAC_When_IPv4_Origin_Is_Static_And_Verify 630 [Setup] Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} ${test_netmask} 631 [Teardown] Run keywords Delete VMI IPv4 Address AND Test Teardown Execution 632 633 # Enable Autoconfig address and check whether IPv6 address origin is set to SLAAC. 634 Set VMI SLAACv6 Origin ${True} 635 Verify VMI IPv6 Address SLAAC 636 637 # Check there is no impact on IPv4 settings, IPv4 address origin should be Static. 638 Verify VMI Network Interface Details ${test_ipv4} Static ${test_gateway} ${test_netmask} 639 640 641Configure Static VMI IPv6 Address And Verify 642 [Documentation] Add static VMI IPv6 address and check whether IPv6 origin is set to static 643 ... and Static IPv6 address is assigned. 644 [Tags] Configure_Static_VMI_IPv6_Address_And_Verify 645 646 Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 647 648 # Verify IPv6 address origin is set to static and static IPv6 address is assigned. 649 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 650 Should Not Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 651 Should Be Equal ${vmi_ipv6addr["PrefixLength"]} ${prefix_length} 652 653 654Configure IPv6 Static Default Gateway On VMI And Verify 655 [Documentation] Configure IPv6 static default gateway on VMI and verify. 656 [Tags] Configure_IPv6_Static_Default_Gateway_On_VMI_And_Verify 657 [Setup] Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 658 659 Set VMI IPv6 Static Default Gateway ${test_vmi_ipv6gateway} 660 661 ${resp}= Redfish.Get 662 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 663 ${vmi_ipv6_gateways}= Get From Dictionary ${resp.dict} IPv6StaticDefaultGateways 664 ${vmi_ipv6_gateway} = Get From List ${vmi_ipv6_gateways} 0 665 Should Be Equal ${vmi_ipv6_gateway["Address"]} ${test_vmi_ipv6gateway} 666 667 668Delete VMI Static IPv6 Address And Verify 669 [Documentation] Delete VMI static IPv6 address and verify address is erased. 670 [Tags] Delete_VMI_Static_IPv6_Address_And_Verify 671 [Setup] Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 672 673 # Delete VMI static IPv6 address. 674 Delete VMI IPv6 Static Address 675 676 # Verify VMI static IPv6 address is erased. 677 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 678 Should Not Be Equal ${vmi_ipv6addr["Address"]} ${test_vmi_ipv6addr} 679 Should Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 680 681 682Enable VMI DHCPv6 When IPv6 Origin Is Static And Verify 683 [Documentation] Enable VMI DHCPv6 when IPv6 origin is in static and verify 684 ... origin is set to DHCP and check if static IPv6 address is erased. 685 [Tags] Enable_VMI_DHCPv6_When_IPv6_Origin_Is_Static_And_Verify 686 687 Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 688 ${vmi_ipv6addr_static}= Verify VMI IPv6 Address Static 689 690 Sleep 5s 691 692 # Enable DHCPv6 property. 693 Set VMI DHCPv6 Property Enabled 694 695 # Check origin is set to DHCP and static IPv6 address is erased. 696 ${vmi_dhcpv6addr}= Verify VMI IPv6 Address DHCPv6 697 Should Not Be Equal ${vmi_dhcpv6addr["Address"]} ${vmi_ipv6addr_static["Address"]} 698 699 700Configure Invalid Static IPv6 To VMI And Verify 701 [Documentation] Configure invalid static IPv6 address to VMI and verify that address 702 ... does not get assigned and it throws an error. 703 [Tags] Configure_Invalid_Static_IPv6_To_VMI_And_Verify 704 [Setup] Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 705 [Template] Set VMI Invalid Static IPv6 Address And Verify 706 707 # invalid_vmi_ipv6addr invalid_prefix_length valid_status_codes 708 ${default_ipv6addr} 128 ${HTTP_BAD_REQUEST} 709 ${multicast_ipv6addr} 8 ${HTTP_BAD_REQUEST} 710 ${loopback_ipv6addr} 64 ${HTTP_BAD_REQUEST} 711 ${ipv4_hexword_addr} 64 ${HTTP_BAD_REQUEST} 712 713 714Delete IPv6 Static Default Gateway On VMI And Verify 715 [Documentation] Delete IPv6 static default gateway and verify address is erased. 716 [Tags] Delete_IPv6_Static_Default_Gateway_On_VMI_And_Verify 717 [Setup] Run Keywords Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 718 ... AND Set VMI IPv6 Static Default Gateway ${test_vmi_ipv6gateway} 719 720 # Delete IPv6 static default gateway address. 721 Delete VMI IPv6 Static Default Gateway Address 722 723 Sleep 5s 724 725 # Verify static IPv6 default gateway address is deleted. 726 ${resp}= Redfish.Get 727 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 728 Should Be Empty ${resp.dict["IPv6StaticDefaultGateways"]} 729 730 731Disable VMI DHCPv6 When DHCPv4 Is Enabled And Verify 732 [Documentation] Disable VMI DHCPv6 property when DHCPv4 is enabled and verify 733 ... DHCPv4 settings are intact and verify IPv6 address origin is set to static. 734 [Tags] Disable_VMI_DHCPv6_When_DHCPv4_Is_Enabled_And_Verify 735 [Setup] Run Keywords Set VMI DHCPv6 Property Enabled 736 ... AND Set VMI IPv4 Origin ${True} 737 738 Set VMI DHCPv6 Property Disabled 739 740 # Verify IPv6 address origin is set to static and DHCPv6 address is erased. 741 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 742 Should Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 743 744 # Check there is no impact on IPv4 settings, IPv4 address origin should be DHCP. 745 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 746 747 748Assign Static VMI IPv6 Address And Check Persistency On BMC Reboot 749 [Documentation] Add static VMI IPv6 address and check whether IPv6 origin is set to static 750 ... and static IPv6 address is assigned after BMC reboot. 751 [Tags] Assign_Static_VMI_IPv6_Address_And_Check_Persistency_On_BMC_Reboot 752 753 Set Static VMI IPv6 Address ${test_vmi_ipv6addr} ${prefix_length} 754 755 # Reboot BMC and verify persistency. 756 OBMC Reboot (off) 757 Redfish Power On 758 Wait For Host Boot Progress To Reach Required State 759 760 # Verify IPv6 address origin is set to static and static IPv6 address is assigned. 761 ${vmi_ipv6addr}= Verify VMI IPv6 Address Static 762 Should Not Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr} 763 Should Be Equal ${vmi_ipv6addr["PrefixLength"]} ${prefix_length} 764 765 766Enable VMI DHCPv6 When DHCPv4 Is Enabled And Verify 767 [Documentation] Enable VMI DHCPv6 when DHCPv4 is enabled and verify 768 ... DHCPv4 settings are intact and verify IPv6 address origin is set to DHCP. 769 [Tags] Enable_VMI_DHCPv6_When_DHCPv4_Is_Enabled_And_Verify 770 [Setup] Set VMI IPv4 Origin ${True} 771 772 # Enable DHCPv6 property. 773 Set VMI DHCPv6 Property Enabled 774 775 # Check IPv6 origin is set to DHCP. 776 Verify VMI IPv6 Address DHCPv6 777 778 # Check there is no impact on IPv4 settings, IPv4 address origin should be DHCP. 779 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 780 781 782Assign Valid Static IPv6 Address And Verify 783 [Documentation] Configure valid static IPv6 address to VMI and verify that address 784 ... get assigned. 785 [Tags] Assign_Valid_Static_IPv6_Address_And_Verify 786 [Template] Set VMI Valid Static IPv6 Address And Verify 787 788 # valid_vmi_ipv6addr valid_prefix_length 789 ${compressed_ipv4} 64 790 ${shortform_stand_ipv4} 64 791 ${standard_ipv4rep} 64 792 793 794*** Keywords *** 795 796Suite Setup Execution 797 [Documentation] Do test setup execution task. 798 799 Redfish.Login 800 801 Redfish Power Off 802 Set BIOS Attribute pvm_hmc_managed Enabled 803 Set BIOS Attribute pvm_stop_at_standby Disabled 804 805 Redfish Power On 806 Wait For Host Boot Progress To Reach Required State 807 808 ${active_channel_config}= Get Active Channel Config 809 Set Suite Variable ${active_channel_config} 810 Set Suite Variable ${ethernet_interface} ${active_channel_config['${CHANNEL_NUMBER}']['name']} 811 ${resp}= Redfish.Get 812 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 813 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json 814 ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]} 815 ${vmi_network_conf}= IF ${length} != ${0} Get VMI Network Interface Details 816 Set Suite Variable ${vmi_network_conf} 817 818 819Test Teardown Execution 820 [Documentation] Do test teardown execution task. 821 822 FFDC On Test Case Fail 823 ${curr_mode}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 824 IF ${curr_mode} == ${True} 825 Set VMI IPv4 Origin ${False} 826 END 827 IF '${vmi_network_conf["IPv4_Address"]}' != '${default}' 828 Set Static IPv4 Address To VMI And Verify ${vmi_network_conf["IPv4_Address"]} 829 ... ${vmi_network_conf["IPv4_Gateway"]} ${vmi_network_conf["IPv4_SubnetMask"]} 830 END 831 832 833Get Immediate Child Parameter From VMI Network Interface 834 [Documentation] Get immediate child parameter from VMI network interface. 835 [Arguments] ${parameter} ${valid_status_code}=${HTTP_OK} 836 837 # Description of argument(s): 838 # parameter parameter for which value is required. Ex: DHCPEnabled, MACAddress etc. 839 # valid_status_code Expected valid status code from GET request. 840 841 ${resp}= Redfish.Get 842 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 843 ... valid_status_codes=[${valid_status_code}] 844 845 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json 846 ${value}= Set Variable If '${parameter}' != 'DHCPEnabled' ${ip_resp["${parameter}"]} 847 ... ${ip_resp["DHCPv4"]["${parameter}"]} 848 849 RETURN ${value} 850 851 852Switch VMI IPv4 Origin And Verify Details 853 [Documentation] Switch VMI IPv4 origin and verify details. 854 855 ${dhcp_mode_before}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 856 ${dhcp_enabled}= Set Variable If ${dhcp_mode_before} == ${False} ${True} ${False} 857 858 ${origin}= Set Variable If ${dhcp_mode_before} == ${False} DHCP Static 859 Set VMI IPv4 Origin ${dhcp_enabled} ${HTTP_ACCEPTED} 860 861 ${dhcp_mode_after}= Get Immediate Child Parameter From VMI Network Interface DHCPEnabled 862 Should Not Be Equal ${dhcp_mode_before} ${dhcp_mode_after} 863 864 IF ${dhcp_mode_after} == ${True} 865 Verify VMI Network Interface Details ${default} ${origin} ${default} ${default} 866 END 867 868 869Delete VMI Static IP Address Using Different Users 870 [Documentation] Update user role and delete vmi static IP address. 871 [Arguments] ${username} ${password} ${valid_status_code} 872 [Teardown] Run Keywords Redfish.Login AND 873 ... Set Static IPv4 Address To VMI And Verify ${test_ipv4} ${test_gateway} 874 ... ${test_netmask} ${HTTP_ACCEPTED} AND Redfish.Logout 875 876 # Description of argument(s): 877 # username The host username. 878 # password The host password. 879 # valid_status_code The expected valid status code. 880 881 # TODO: operator_user role is not yet supported. 882 Skip If '${username}' == 'operator_user' 883 Redfish.Login ${username} ${password} 884 Delete VMI IPv4 Address delete_param=IPv4StaticAddresses valid_status_code=${valid_status_code} 885 886 887Config VMI Static IP Address Using Different Users 888 [Documentation] Update user role and update vmi static ip address. 889 [Arguments] ${username} ${password} ${ip} ${gateway} ${netmask} 890 ... ${valid_status_code} 891 892 # Description of argument(s): 893 # username The host username. 894 # password The host password. 895 # ip IP address to be added (e.g. "10.7.7.7"). 896 # subnet_mask Subnet mask for the IP to be added 897 # (e.g. "255.255.0.0"). 898 # gateway Gateway for the IP to be added (e.g. "10.7.7.1"). 899 # valid_status_code The expected valid status code. 900 901 # TODO: operator_user role is not yet supported. 902 Skip If '${username}' == 'operator_user' 903 Redfish.Login ${username} ${password} 904 Set Static IPv4 Address To VMI And Verify ${ip} ${gateway} ${netmask} ${valid_status_code} 905 906 907Read VMI Static IP Address Using Different Users 908 [Documentation] Update user role and read vmi static ip address. 909 [Arguments] ${username} ${password} ${valid_status_code} 910 911 # Description of argument(s): 912 # username The host username. 913 # password The host password. 914 # valid_status_code The expected valid status code. 915 916 # TODO: operator_user role is not yet supported. 917 Skip If '${username}' == 'operator_user' 918 Redfish.Login ${username} ${password} 919 Redfish.Get 920 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${ethernet_interface} 921 ... valid_status_codes=[${valid_status_code}] 922 923 924Delete BMC Users Using Redfish 925 [Documentation] Delete BMC users via redfish. 926 927 Redfish.Login 928 Delete BMC Users Via Redfish users=${USERS} 929 930 931Update User Role And Set VMI IPv4 Origin 932 [Documentation] Update User Role And Set VMI IPv4 Origin. 933 [Arguments] ${username} ${password} ${dhcp_enabled} ${valid_status_code} 934 935 # Description of argument(s): 936 # username The host username. 937 # password The host password. 938 # dhcp_enabled Indicates whether dhcp should be enabled 939 # (${True}, ${False}). 940 # valid_status_code The expected valid status code. 941 942 # TODO: operator_user role is not yet supported. 943 Skip If '${username}' == 'operator_user' 944 Redfish.Login ${username} ${password} 945 Set VMI IPv4 Origin ${dhcp_enabled} ${valid_status_code} 946 947 948Suite Teardown Execution 949 [Documentation] Do suite teardown execution task. 950 951 IF ${vmi_network_conf} != ${None} 952 Set Static IPv4 Address To VMI And Verify ${vmi_network_conf["IPv4_Address"]} 953 ... ${vmi_network_conf["IPv4_Gateway"]} ${vmi_network_conf["IPv4_SubnetMask"]} 954 END 955 956 Delete All Redfish Sessions 957 Redfish.Logout 958 959 960Set VMI Invalid Static IPv6 Address And Verify 961 [Documentation] Set VMI invalid static IPv6 address and verify it throws an error. 962 [Arguments] ${invalid_vmi_ipv6addr} ${invalid_prefix_length} ${valid_status_codes} 963 ... ${interface}=${ethernet_interface} 964 965 # Description of argument(s): 966 # invalid_vmi_ipv6addr VMI IPv6 address to be added. 967 # invalid_prefix_length Prefix length for the VMI IPv6 to be added. 968 # valid_status_codes Expected status code for PATCH request. 969 # interface VMI interface (eg. eth0 or eth1). 970 971 Set Static VMI IPv6 Address ${invalid_vmi_ipv6addr} ${invalid_prefix_length} 972 ... ${valid_status_codes} 973 974 ${resp}= Redfish.Get /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} 975 976 @{vmi_ipv6_address}= Get From Dictionary ${resp.dict} IPv6Addresses 977 ${vmi_ipv6_addr}= Get From List ${vmi_ipv6_address} 0 978 Should Not Be Equal ${vmi_ipv6_addr["Address"]} ${invalid_vmi_ipv6addr} 979 980 981Delete VMI IPv6 Static Default Gateway Address 982 [Documentation] Delete VMI IPv6 static default gateway address. 983 [Arguments] ${valid_status_codes}=${HTTP_ACCEPTED} 984 ... ${interface}=${ethernet_interface} 985 986 # Description of argument(s): 987 # valid_status_codes Expected valid status code from PATCH request. 988 # interface VMI interface (eg. eth0 or eth1). 989 990 ${data}= Set Variable {"IPv6StaticDefaultGateways": [${Null}]} 991 Redfish.Patch /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} 992 ... body=${data} valid_status_codes=[${valid_status_codes}] 993 994 995Set VMI Valid Static IPv6 Address And Verify 996 [Documentation] Set valid static VMI IPv6 address and check whether IPv6 origin is set to static 997 ... and Static IPv6 address is assigned. 998 [Arguments] ${valid_vmi_ipv6addr} ${valid_prefix_length} ${valid_status_codes}=${HTTP_ACCEPTED} 999 ... ${interface}=${ethernet_interface} 1000 1001 # Description of argument(s): 1002 # valid_vmi_ipv6addr VMI IPv6 address to be added. 1003 # valid_prefix_length Prefix length for the VMI IPv6 to be added. 1004 # valid_status_codes Expected status code for PATCH request. 1005 # interface VMI interface (eg. eth0 or eth1). 1006 1007 Set Static VMI IPv6 Address ${valid_vmi_ipv6addr} ${valid_prefix_length} 1008 ... ${valid_status_codes} 1009 1010 ${resp}= Redfish.Get /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} 1011 1012 @{vmi_ipv6_address}= Get From Dictionary ${resp.dict} IPv6Addresses 1013 ${vmi_ipv6_addr}= Get From List ${vmi_ipv6_address} 0 1014 Should Be Equal ${vmi_ipv6_addr["Address"]} ${valid_vmi_ipv6addr} 1015