1*** Settings *** 2Documentation Network interface configuration and verification 3 ... tests. 4 5Resource ../../lib/bmc_redfish_resource.robot 6Resource ../../lib/bmc_network_utils.robot 7Resource ../../lib/openbmc_ffdc.robot 8Library ../../lib/bmc_network_utils.py 9Library Collections 10 11Test Setup Test Setup Execution 12Test Teardown Test Teardown Execution 13 14Force Tags Network_Conf_Test 15 16*** Variables *** 17${test_hostname} openbmc 18${test_ipv4_addr} 10.7.7.7 19${test_ipv4_invalid_addr} 0.0.1.a 20${test_subnet_mask} 255.255.0.0 21${test_gateway} 10.7.7.1 22${broadcast_ip} 10.7.7.255 23${loopback_ip} 127.0.0.2 24${multicast_ip} 224.6.6.6 25${out_of_range_ip} 10.7.7.256 26 27# Valid netmask is 4 bytes long and has continuos block of 1s. 28# Maximum valid value in each octet is 255 and least value is 0. 29# 253 is not valid, as binary value is 11111101. 30${invalid_netmask} 255.255.253.0 31${alpha_netmask} ff.ff.ff.ff 32# Maximum value of octet in netmask is 255. 33${out_of_range_netmask} 255.256.255.0 34${more_byte_netmask} 255.255.255.0.0 35${less_byte_netmask} 255.255.255 36${threshold_netmask} 255.255.255.255 37${lowest_netmask} 128.0.0.0 38 39# There will be 4 octets in IP address (e.g. xx.xx.xx.xx) 40# but trying to configure xx.xx.xx 41${less_octet_ip} 10.3.36 42 43# For the address 10.6.6.6, the 10.6.6.0 portion describes the 44# network ID and the 6 describe the host. 45 46${network_id} 10.7.7.0 47${hex_ip} 0xa.0xb.0xc.0xd 48${negative_ip} 10.-7.-7.7 49${hex_ip} 0xa.0xb.0xc.0xd 50@{static_name_servers} 10.5.5.5 51@{null_value} null 52@{empty_dictionary} {} 53@{string_value} aa.bb.cc.dd 54 55*** Test Cases *** 56 57Get IP Address And Verify 58 [Documentation] Get IP Address And Verify. 59 [Tags] Get_IP_Address_And_Verify 60 61 : FOR ${network_configuration} IN @{network_configurations} 62 \ Verify IP On BMC ${network_configuration['Address']} 63 64Get Netmask And Verify 65 [Documentation] Get Netmask And Verify. 66 [Tags] Get_Netmask_And_Verify 67 68 : FOR ${network_configuration} IN @{network_configurations} 69 \ Verify Netmask On BMC ${network_configuration['SubnetMask']} 70 71Get Gateway And Verify 72 [Documentation] Get gateway and verify it's existence on the BMC. 73 [Tags] Get_Gateway_And_Verify 74 75 : FOR ${network_configuration} IN @{network_configurations} 76 \ Verify Gateway On BMC ${network_configuration['Gateway']} 77 78Get MAC Address And Verify 79 [Documentation] Get MAC address and verify it's existence on the BMC. 80 [Tags] Get_MAC_Address_And_Verify 81 82 ${resp}= Redfish.Get ${REDFISH_NW_ETH0_URI} 83 ${macaddr}= Get From Dictionary ${resp.dict} MACAddress 84 Validate MAC On BMC ${macaddr} 85 86Verify All Configured IP And Netmask 87 [Documentation] Verify all configured IP and netmask on BMC. 88 [Tags] Verify_All_Configured_IP_And_Netmask 89 90 : FOR ${network_configuration} IN @{network_configurations} 91 \ Verify IP And Netmask On BMC ${network_configuration['Address']} 92 ... ${network_configuration['SubnetMask']} 93 94Get Hostname And Verify 95 [Documentation] Get hostname via Redfish and verify. 96 [Tags] Get_Hostname_And_Verify 97 98 ${hostname}= Redfish_Utils.Get Attribute ${REDFISH_NW_PROTOCOL_URI} HostName 99 100 Validate Hostname On BMC ${hostname} 101 102Configure Hostname And Verify 103 [Documentation] Configure hostname via Redfish and verify. 104 [Tags] Configure_Hostname_And_Verify 105 106 ${hostname}= Redfish_Utils.Get Attribute ${REDFISH_NW_PROTOCOL_URI} HostName 107 108 Configure Hostname ${test_hostname} 109 Validate Hostname On BMC ${test_hostname} 110 111 # Revert back to initial hostname. 112 Configure Hostname ${hostname} 113 Validate Hostname On BMC ${hostname} 114 115Add Valid IPv4 Address And Verify 116 [Documentation] Add IPv4 Address via Redfish and verify. 117 [Tags] Add_Valid_IPv4_Addres_And_Verify 118 [Teardown] Run Keywords 119 ... Delete IP Address ${test_ipv4_addr} AND Test Teardown Execution 120 121 Add IP Address ${test_ipv4_addr} ${test_subnet_mask} ${test_gateway} 122 123Add Invalid IPv4 Address And Verify 124 [Documentation] Add Invalid IPv4 Address via Redfish and verify. 125 [Tags] Add_Invalid_IPv4_Addres_And_Verify 126 127 Add IP Address ${test_ipv4_invalid_addr} ${test_subnet_mask} 128 ... ${test_gateway} valid_status_codes=${HTTP_BAD_REQUEST} 129 130Configure Out Of Range IP 131 [Documentation] Configure out-of-range IP address. 132 [Tags] Configure_Out_Of_Range_IP 133 [Template] Add IP Address 134 135 # ip subnet_mask gateway valid_status_codes 136 ${out_of_range_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 137 138Configure Broadcast IP 139 [Documentation] Configure broadcast IP address. 140 [Tags] Configure_Broadcast_IP 141 [Template] Add IP Address 142 [Teardown] Clear IP Settings On Fail ${broadcast_ip} 143 144 # ip subnet_mask gateway valid_status_codes 145 ${broadcast_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 146 147Configure Multicast IP 148 [Documentation] Configure multicast IP address. 149 [Tags] Configure_Multicast_IP 150 [Template] Add IP Address 151 [Teardown] Clear IP Settings On Fail ${multicast_ip} 152 153 # ip subnet_mask gateway valid_status_codes 154 ${multicast_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 155 156Configure Loopback IP 157 [Documentation] Configure loopback IP address. 158 [Tags] Configure_Loopback_IP 159 [Template] Add IP Address 160 [Teardown] Clear IP Settings On Fail ${loopback_ip} 161 162 # ip subnet_mask gateway valid_status_codes 163 ${loopback_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 164 165Add Valid IPv4 Address And Check Persistency 166 [Documentation] Add IPv4 address and check peristency. 167 [Tags] Add_Valid_IPv4_Addres_And_Check_Persistency 168 [Teardown] Run Keywords 169 ... Delete IP Address ${test_ipv4_addr} AND Test Teardown Execution 170 171 Add IP Address ${test_ipv4_addr} ${test_subnet_mask} ${test_gateway} 172 173 # Reboot BMC and verify persistency. 174 OBMC Reboot (off) 175 Redfish.Login 176 Verify IP On BMC ${test_ipv4_addr} 177 178Add Fourth Octet Threshold IP And Verify 179 [Documentation] Add fourth octet threshold IP and verify. 180 [Tags] Add_Fourth_Octet_Threshold_IP_And_Verify 181 [Teardown] Run Keywords 182 ... Delete IP Address 10.7.7.254 AND Test Teardown Execution 183 184 Add IP Address 10.7.7.254 ${test_subnet_mask} ${test_gateway} 185 186Add Fourth Octet Lowest IP And Verify 187 [Documentation] Add fourth octet lowest IP and verify. 188 [Tags] Add_Fourth_Octet_Lowest_IP_And_Verify 189 [Teardown] Run Keywords 190 ... Delete IP Address 10.7.7.1 AND Test Teardown Execution 191 192 Add IP Address 10.7.7.1 ${test_subnet_mask} ${test_gateway} 193 194Add Third Octet Threshold IP And Verify 195 [Documentation] Add third octet threshold IP and verify. 196 [Tags] Add_Third_Octet_Threshold_IP_And_Verify 197 [Teardown] Run Keywords 198 ... Delete IP Address 10.7.255.7 AND Test Teardown Execution 199 200 Add IP Address 10.7.255.7 ${test_subnet_mask} ${test_gateway} 201 202Add Third Octet Lowest IP And Verify 203 [Documentation] Add third octet lowest IP and verify. 204 [Tags] Add_Third_Octet_Lowest_IP_And_Verify 205 [Teardown] Run Keywords 206 ... Delete IP Address 10.7.0.7 AND Test Teardown Execution 207 208 Add IP Address 10.7.0.7 ${test_subnet_mask} ${test_gateway} 209 210Add Second Octet Threshold IP And Verify 211 [Documentation] Add second octet threshold IP and verify. 212 [Tags] Add_Second_Octet_Threshold_IP_And_Verify 213 [Teardown] Run Keywords 214 ... Delete IP Address 10.255.7.7 AND Test Teardown Execution 215 216 Add IP Address 10.255.7.7 ${test_subnet_mask} ${test_gateway} 217 218Add Second Octet Lowest IP And Verify 219 [Documentation] Add second octet lowest IP and verify. 220 [Tags] Add_Second_Octet_Lowest_IP_And_Verify 221 [Teardown] Run Keywords 222 ... Delete IP Address 10.0.7.7 AND Test Teardown Execution 223 224 Add IP Address 10.0.7.7 ${test_subnet_mask} ${test_gateway} 225 226Add First Octet Threshold IP And Verify 227 [Documentation] Add first octet threshold IP and verify. 228 [Tags] Add_First_Octet_Threshold_IP_And_Verify 229 [Teardown] Run Keywords 230 ... Delete IP Address 233.7.7.7 AND Test Teardown Execution 231 232 Add IP Address 223.7.7.7 ${test_subnet_mask} ${test_gateway} 233 234Add First Octet Lowest IP And Verify 235 [Documentation] Add first octet lowest IP and verify. 236 [Tags] Add_First_Octet_Lowest_IP_And_Verify 237 [Teardown] Run Keywords 238 ... Delete IP Address 1.7.7.7 AND Test Teardown Execution 239 240 Add IP Address 1.7.7.7 ${test_subnet_mask} ${test_gateway} 241 242Configure Invalid Netmask 243 [Documentation] Verify error while setting invalid netmask. 244 [Tags] Configure_Invalid_Netmask 245 [Template] Add IP Address 246 247 # ip subnet_mask gateway valid_status_codes 248 ${test_ipv4_addr} ${invalid_netmask} ${test_gateway} ${HTTP_BAD_REQUEST} 249 250Configure Out Of Range Netmask 251 [Documentation] Verify error while setting out of range netmask. 252 [Tags] Configure_Out_Of_Range_Netmask 253 [Template] Add IP Address 254 255 # ip subnet_mask gateway valid_status_codes 256 ${test_ipv4_addr} ${out_of_range_netmask} ${test_gateway} ${HTTP_BAD_REQUEST} 257 258Configure Alpha Netmask 259 [Documentation] Verify error while setting alpha netmask. 260 [Tags] Configure_Alpha_Netmask 261 [Template] Add IP Address 262 263 # ip subnet_mask gateway valid_status_codes 264 ${test_ipv4_addr} ${alpha_netmask} ${test_gateway} ${HTTP_BAD_REQUEST} 265 266Configure More Byte Netmask 267 [Documentation] Verify error while setting more byte netmask. 268 [Tags] Configure_More_Byte_Netmask 269 [Template] Add IP Address 270 271 # ip subnet_mask gateway valid_status_codes 272 ${test_ipv4_addr} ${more_byte_netmask} ${test_gateway} ${HTTP_BAD_REQUEST} 273 274Configure Less Byte Netmask 275 [Documentation] Verify error while setting less byte netmask. 276 [Tags] Configure_Less_Byte_Netmask 277 [Template] Add IP Address 278 279 # ip subnet_mask gateway valid_status_codes 280 ${test_ipv4_addr} ${less_byte_netmask} ${test_gateway} ${HTTP_BAD_REQUEST} 281 282Configure Threshold Netmask And Verify 283 [Documentation] Configure threshold netmask and verify. 284 [Tags] Configure_Threshold_Netmask_And_verify 285 [Teardown] Run Keywords 286 ... Delete IP Address ${test_ipv4_addr} AND Test Teardown Execution 287 288 Add IP Address ${test_ipv4_addr} ${threshold_netmask} ${test_gateway} 289 290Configure Lowest Netmask And Verify 291 [Documentation] Configure lowest netmask and verify. 292 [Tags] Configure_Lowest_Netmask_And_verify 293 [Teardown] Run Keywords 294 ... Delete IP Address ${test_ipv4_addr} AND Test Teardown Execution 295 296 Add IP Address ${test_ipv4_addr} ${lowest_netmask} ${test_gateway} 297 298Configure Network ID 299 [Documentation] Verify error while configuring network ID. 300 [Tags] Configure_Network_ID 301 [Template] Add IP Address 302 [Teardown] Clear IP Settings On Fail ${network_id} 303 304 # ip subnet_mask gateway valid_status_codes 305 ${network_id} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 306 307Configure Less Octet IP 308 [Documentation] Verify error while Configuring less octet IP address. 309 [Tags] Configure_Less_Octet_IP 310 [Template] Add IP Address 311 312 # ip subnet_mask gateway valid_status_codes 313 ${less_octet_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 314 315Configure Empty IP 316 [Documentation] Verify error while Configuring empty IP address. 317 [Tags] Configure_Empty_IP 318 [Template] Add IP Address 319 320 # ip subnet_mask gateway valid_status_codes 321 ${EMPTY} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 322 323Configure Special Char IP 324 [Documentation] Configure invalid IP address containing special chars. 325 [Tags] Configure_Special_Char_IP 326 [Template] Add IP Address 327 328 # ip subnet_mask gateway valid_status_codes 329 @@@.%%.44.11 ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 330 331Configure Hexadecimal IP 332 [Documentation] Configure invalid IP address containing hex value. 333 [Tags] Configure_Hexadecimal_IP 334 [Template] Add IP Address 335 336 # ip subnet_mask gateway valid_status_codes 337 ${hex_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 338 339Configure Negative Octet IP 340 [Documentation] Configure invalid IP address containing negative octet. 341 [Tags] Configure_Negative_Octet_IP 342 [Template] Add IP Address 343 344 # ip subnet_mask gateway valid_status_codes 345 ${negative_ip} ${test_subnet_mask} ${test_gateway} ${HTTP_BAD_REQUEST} 346 347Configure Incomplete IP For Gateway 348 [Documentation] Configure incomplete IP for gateway and expect an error. 349 [Tags] Configure_Incomplete_IP_For_Gateway 350 [Template] Add IP Address 351 352 # ip subnet_mask gateway valid_status_codes 353 ${test_ipv4_addr} ${test_subnet_mask} ${less_octet_ip} ${HTTP_BAD_REQUEST} 354 355Configure Special Char IP For Gateway 356 [Documentation] Configure special char IP for gateway and expect an error. 357 [Tags] Configure_Special_Char_IP_For_Gateway 358 [Template] Add IP Address 359 360 # ip subnet_mask gateway valid_status_codes 361 ${test_ipv4_addr} ${test_subnet_mask} @@@.%%.44.11 ${HTTP_BAD_REQUEST} 362 363Configure Hexadecimal IP For Gateway 364 [Documentation] Configure hexadecimal IP for gateway and expect an error. 365 [Tags] Configure_Hexadecimal_IP_For_Gateway 366 [Template] Add IP Address 367 368 # ip subnet_mask gateway valid_status_codes 369 ${test_ipv4_addr} ${test_subnet_mask} ${hex_ip} ${HTTP_BAD_REQUEST} 370 371Get DNS Server And Verify 372 [Documentation] Get DNS server via Redfish and verify. 373 [Tags] Get_DNS_Server_And_Verify 374 375 Verify CLI and Redfish Nameservers 376 377Configure DNS Server And Verify 378 [Documentation] Configure DNS server and verify. 379 [Tags] Configure_DNS_Server_And_Verify 380 [Setup] DNS Test Setup Execution 381 [Teardown] Run Keywords 382 ... Configure Static Name Servers AND Test Teardown Execution 383 384 Configure Static Name Servers ${static_name_servers} 385 Verify CLI and Redfish Nameservers 386 387Delete DNS Server And Verify 388 [Documentation] Delete DNS server and verify. 389 [Tags] Delete_DNS_Server_And_Verify 390 [Setup] DNS Test Setup Execution 391 [Teardown] Run Keywords 392 ... Configure Static Name Servers AND Test Teardown Execution 393 394 Delete Static Name Servers 395 Verify CLI and Redfish Nameservers 396 397Configure DNS Server And Check Persistency 398 [Documentation] Configure DNS server and check persistency on reboot. 399 [Tags] Configure_DNS_Server_And_Check_Persistency 400 [Setup] DNS Test Setup Execution 401 [Teardown] Run Keywords 402 ... Configure Static Name Servers AND Test Teardown Execution 403 404 Configure Static Name Servers ${static_name_servers} 405 # Reboot BMC and verify persistency. 406 OBMC Reboot (off) 407 Verify CLI and Redfish Nameservers 408 409Configure Loopback IP For Gateway 410 [Documentation] Configure loopback IP for gateway and expect an error. 411 [Tags] Configure_Loopback_IP_For_Gateway 412 [Template] Add IP Address 413 [Teardown] Clear IP Settings On Fail ${test_ipv4_addr} 414 415 # ip subnet_mask gateway valid_status_codes 416 ${test_ipv4_addr} ${test_subnet_mask} ${loopback_ip} ${HTTP_BAD_REQUEST} 417 418Configure Network ID For Gateway 419 [Documentation] Configure network ID for gateway and expect an error. 420 [Tags] Configure_Network_ID_For_Gateway 421 [Template] Add IP Address 422 [Teardown] Clear IP Settings On Fail ${test_ipv4_addr} 423 424 # ip subnet_mask gateway valid_status_codes 425 ${test_ipv4_addr} ${test_subnet_mask} ${network_id} ${HTTP_BAD_REQUEST} 426 427Configure Multicast IP For Gateway 428 [Documentation] Configure multicast IP for gateway and expect an error. 429 [Tags] Configure_Multicast_IP_For_Gateway 430 [Template] Add IP Address 431 [Teardown] Clear IP Settings On Fail ${test_ipv4_addr} 432 433 # ip subnet_mask gateway valid_status_codes 434 ${test_ipv4_addr} ${test_subnet_mask} ${multicaste_ip} ${HTTP_BAD_REQUEST} 435 436Configure Broadcast IP For Gateway 437 [Documentation] Configure broadcast IP for gateway and expect an error. 438 [Tags] Configure_Broadcast_IP_For_Gateway 439 [Template] Add IP Address 440 [Teardown] Clear IP Settings On Fail ${test_ipv4_addr} 441 442 # ip subnet_mask gateway valid_status_codes 443 ${test_ipv4_addr} ${test_subnet_mask} ${broadcast_ip} ${HTTP_BAD_REQUEST} 444 445Configure Null Value For DNS Server 446 [Documentation] Configure null value for DNS server and expect an error. 447 [Tags] Configure_Null_Value_For_DNS_Server 448 [Setup] DNS Test Setup Execution 449 [Teardown] Run Keywords 450 ... Configure Static Name Servers AND Test Teardown Execution 451 452 Configure Static Name Servers ${null_value} ${HTTP_BAD_REQUEST} 453 454Configure Empty Value For DNS Server 455 [Documentation] Configure empty value for DNS server and expect an error. 456 [Tags] Configure_Empty_Value_For_DNS_Server 457 [Setup] DNS Test Setup Execution 458 [Teardown] Run Keywords 459 ... Configure Static Name Servers AND Test Teardown Execution 460 461 Configure Static Name Servers ${empty_dictionary} ${HTTP_BAD_REQUEST} 462 463Configure String Value For DNS Server 464 [Documentation] Configure string value for DNS server and expect an error. 465 [Tags] Configure_String_Value_For_DNS_Server 466 [Setup] DNS Test Setup Execution 467 [Teardown] Run Keywords 468 ... Configure Static Name Servers AND Test Teardown Execution 469 470 Configure Static Name Servers ${string_value} ${HTTP_BAD_REQUEST} 471 472 473*** Keywords *** 474 475Test Setup Execution 476 [Documentation] Test setup execution. 477 478 Redfish.Login 479 480 @{network_configurations}= Get Network Configuration 481 Set Test Variable @{network_configurations} 482 483 # Get BMC IP address and prefix length. 484 ${ip_data}= Get BMC IP Info 485 Set Test Variable ${ip_data} 486 487 488Verify Netmask On BMC 489 [Documentation] Verify netmask on BMC. 490 [Arguments] ${netmask} 491 492 # Description of the argument(s): 493 # netmask netmask value to be verified. 494 495 ${prefix_length}= Netmask Prefix Length ${netmask} 496 497 Should Contain Match ${ip_data} */${prefix_length} 498 ... msg=Prefix length does not exist. 499 500Verify IP And Netmask On BMC 501 [Documentation] Verify IP and netmask on BMC. 502 [Arguments] ${ip} ${netmask} 503 504 # Description of the argument(s): 505 # ip IP address to be verified. 506 # netmask netmask value to be verified. 507 508 ${prefix_length}= Netmask Prefix Length ${netmask} 509 @{ip_data}= Get BMC IP Info 510 511 ${ip_with_netmask}= Catenate ${ip}/${prefix_length} 512 Should Contain ${ip_data} ${ip_with_netmask} 513 ... msg=IP and netmask pair does not exist. 514 515Validate Hostname On BMC 516 [Documentation] Verify that the hostname read via Redfish is the same as the 517 ... hostname configured on system. 518 [Arguments] ${hostname} 519 520 # Description of argument(s): 521 # hostname A hostname value which is to be compared to the hostname 522 # configured on system. 523 524 ${sys_hostname}= Get BMC Hostname 525 Should Be Equal ${sys_hostname} ${hostname} 526 ... ignore_case=True msg=Hostname does not exist. 527 528Test Teardown Execution 529 [Documentation] Test teardown execution. 530 531 FFDC On Test Case Fail 532 Redfish.Logout 533 534Clear IP Settings On Fail 535 [Documentation] Clear IP settings on fail. 536 [Arguments] ${ip} 537 538 # Description of argument(s): 539 # ip IP address to be deleted. 540 541 Run Keyword If '${TEST STATUS}' == 'FAIL' 542 ... Delete IP Address ${ip} 543 544 Test Teardown Execution 545 546Verify CLI and Redfish Nameservers 547 [Documentation] Verify that nameservers obtained via Redfish do not 548 ... match those found in /etc/resolv.conf. 549 550 ${redfish_nameservers}= Redfish.Get Attribute ${REDFISH_NW_ETH0_URI} StaticNameServers 551 ${resolve_conf_nameservers}= CLI Get Nameservers 552 Rqprint Vars redfish_nameservers resolve_conf_nameservers 553 554 # Check that the 2 lists are equivalent. 555 ${match}= Evaluate set($redfish_nameservers) == set($resolve_conf_nameservers) 556 Should Be True ${match} 557 ... The nameservers obtained via Redfish do not match those found in /etc/resolv.conf. 558 559 560Configure Static Name Servers 561 [Documentation] Configure DNS server on BMC. 562 [Arguments] ${static_name_servers}=${original_nameservers} 563 ... ${valid_status_codes}=${HTTP_OK} 564 565 # Description of the argument(s): 566 # static_name_servers A list of static name server IPs to be 567 # configured on the BMC. 568 569 # Currently BMC is sending 500 response code instead of 400 for invalid scenarios. 570 Redfish.Patch ${REDFISH_NW_ETH0_URI} body={'StaticNameServers': ${static_name_servers}} 571 ... valid_status_codes=[${valid_status_codes}, ${HTTP_INTERNAL_SERVER_ERROR}] 572 573 # Patch operation takes 1 to 3 seconds to set new value. 574 Sleep 3s 575 576 # Check if newly added DNS server is configured on BMC. 577 ${cli_nameservers}= CLI Get Nameservers 578 ${cmd_status}= Run Keyword And Return Status 579 ... List Should Contain Sub List ${cli_nameservers} ${static_name_servers} 580 581 Run Keyword If '${valid_status_codes}' == '${HTTP_OK}' 582 ... Should Be True ${cmd_status} == ${True} 583 ... ELSE Should Be True ${cmd_status} == ${False} 584 585Delete Static Name Servers 586 [Documentation] Delete static name servers. 587 588 Configure Static Name Servers @{EMPTY} 589 590 # Check if all name servers deleted on BMC. 591 ${nameservers}= CLI Get Nameservers 592 Should Be Empty ${nameservers} 593 594DNS Test Setup Execution 595 [Documentation] Do DNS test setup execution. 596 597 Redfish.Login 598 599 ${original_nameservers}= Redfish.Get Attribute ${REDFISH_NW_ETH0_URI} StaticNameServers 600 Rprint Vars original_nameservers 601 # Set suite variables to trigger restoration during teardown. 602 Set Suite Variable ${original_nameservers} 603