1*** Settings *** 2 3Documentation VMI multiple network interface tests. 4 5# This includes test scenarios where VMI has multiple interfaces. 6# So,assigns and verifies the combination of network mode in interfaces. 7 8Resource ../../lib/external_intf/vmi_utils.robot 9 10Suite Setup Suite Setup Execution 11Test Teardown FFDC On Test Case Fail 12Suite Teardown Suite Teardown Execution 13 14*** Variables *** 15 16${test_ipv4_1} 10.6.6.6 17${test_gateway_1} 10.6.6.1 18${test_netmask_1} 255.255.252.0 19 20${test_ipv4_2} 10.5.20.5 21${test_gateway_2} 10.5.20.1 22${test_netmask_2} 255.255.255.0 23${test_ipv4_3} 10.6.4.6 24 25*** Test Cases *** 26 27Configure VMI Both Interfaces In Same Subnet And Verify 28 [Documentation] Configure VMI both interfaces in same subnet and verify. 29 [Tags] Configure_VMI_Both_Interfaces_In_Same_Subnet_And_Verify 30 [Teardown] Test Teardown Execution 31 32 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 33 ... ${test_netmask_1} 34 Set Static IPv4 Address To VMI And Verify ${test_ipv4_3} ${test_gateway_1} 35 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1] 36 37Configure VMI Both Interfaces In Different Subnet And Verify 38 [Documentation] Configure VMI both interfaces in different subnet and verify. 39 [Tags] Configure_VMI_Both_Interfaces_In_Different_Subnet_And_Verify 40 [Teardown] Test Teardown Execution 41 42 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 43 ... ${test_netmask_1} 44 Set Static IPv4 Address To VMI And Verify ${test_ipv4_2} ${test_gateway_2} 45 ... ${test_netmask_2} ${HTTP_ACCEPTED} ${interface_list}[1] 46 47*** Keywords *** 48 49Suite Setup Execution 50 [Documentation] Do suite setup execution task. 51 52 Redfish.Login 53 Redfish Power On stack_mode=skip quiet=1 54 Get Original Vmi Details 55 56 57Test Teardown Execution 58 [Documentation] Do test teardown execution task. 59 60 FOR ${interface} IN @{interface_list} 61 Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface} 62 END 63 64 FFDC On Test Case Fail 65 66 67Get Original Vmi Details 68 [Documentation] Get original details of VMI. 69 70 @{interface_list}= Get VMI Interfaces 71 Set Suite Variable @{interface_list} 72 73 FOR ${interface} IN @{interface_list} 74 ${resp}= Redfish.Get 75 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} 76 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json 77 ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]} 78 ${vmi_network_conf}= Catenate SEPARATOR=_ vmi_network_conf ${interface} 79 ${vmi_network_conf_value}= Run Keyword If ${length} != ${0} 80 ... Get VMI Network Interface Details ${interface} 81 Set Suite Variable ${${vmi_network_conf}} ${vmi_network_conf_value} 82 END 83 84 85Suite Teardown Execution 86 [Documentation] Do suite teardown execution task 87 ... Set original vmi details and verify. 88 89 FOR ${interface} IN @{interface_list} 90 Run Keyword If ${vmi_network_conf_${interface}} != ${None} 91 ... Set Static IPv4 Address To VMI And Verify 92 ... ${vmi_network_conf_${interface}}[IPv4_Address] 93 ... ${vmi_network_conf_${interface}}[IPv4_Gateway] 94 ... ${vmi_network_conf_${interface}}[IPv4_SubnetMask] 95 ... ${HTTP_ACCEPTED} ${interface} 96 END 97 98 Redfish.Logout 99 100