*** Settings *** Documentation VMI multiple network interface tests. # This includes test scenarios where VMI has multiple interfaces. # So,assigns and verifies the combination of network mode in interfaces. Resource ../../lib/external_intf/vmi_utils.robot Suite Setup Suite Setup Execution Test Teardown FFDC On Test Case Fail Suite Teardown Suite Teardown Execution Force Tags vmi_multi_interface_test *** Variables *** ${test_ipv4_1} 10.6.6.6 ${test_gateway_1} 10.6.6.1 ${test_netmask_1} 255.255.252.0 ${test_ipv4_2} 10.5.20.5 ${test_gateway_2} 10.5.20.1 ${test_netmask_2} 255.255.255.0 ${test_ipv4_3} 10.6.4.6 *** Test Cases *** Configure VMI Both Interfaces In Same Subnet And Verify [Documentation] Configure VMI both interfaces in same subnet and verify. [Tags] Configure_VMI_Both_Interfaces_In_Same_Subnet_And_Verify [Teardown] Test Teardown Execution Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} ... ${test_netmask_1} Set Static IPv4 Address To VMI And Verify ${test_ipv4_3} ${test_gateway_1} ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1] Configure VMI Both Interfaces In Different Subnet And Verify [Documentation] Configure VMI both interfaces in different subnet and verify. [Tags] Configure_VMI_Both_Interfaces_In_Different_Subnet_And_Verify [Teardown] Test Teardown Execution Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} ... ${test_netmask_1} Set Static IPv4 Address To VMI And Verify ${test_ipv4_2} ${test_gateway_2} ... ${test_netmask_2} ${HTTP_ACCEPTED} ${interface_list}[1] Configure VMI Both Interfaces In Dynamic And Verify [Documentation] Configure VMI both interfaces in dynamic And Verify. [Tags] Configure_VMI_Both_Interfaces_In_Dynamic_And_Verify [Teardown] Run keywords Set VMI IPv4 Origin ${False} ... AND Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1] ... AND Test Teardown Set VMI IPv4 Origin ${True} ${default}= Set Variable 0.0.0.0 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1] Verify VMI Network Interface Details ${default} DHCP ${default} ${default} Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1] Configure VMI First Interface In Static And Second In Dynamic And Verify [Documentation] Configure VMI first interface in static mode and second interface in dynamic mode ... and verify first gets static ip details and second gets dynamic ip details. [Tags] Configure_VMI_First_Interface_In_Static_And_Second_In_Dynamic_And_Verify [Teardown] Run keywords Delete VMI IPv4 Address AND ... Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1] ... AND Test Teardown Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} ... ${test_netmask_1} Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1] ${default}= Set Variable 0.0.0.0 Verify VMI Network Interface Details ${test_ipv4_1} Static ${test_gateway_1} ${test_netmask_1} Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1] Configure VMI First Interface In Dynamic And Second In Static And Verify [Documentation] Configure VMI first interface in dynamic mode and second interface in static mode ... and verify first gets dynamic ip details and second gets static ip details. [Tags] Configure_VMI_First_Interface_In_Dynamic_And_Second_In_Static_And_Verify [Teardown] Run keywords Set VMI IPv4 Origin ${False} AND ... Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface_list}[1] ... AND Test Teardown Set VMI IPv4 Origin ${True} ${default}= Set Variable 0.0.0.0 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1] Verify VMI Network Interface Details ${default} DHCP ${default} ${default} *** Keywords *** Suite Setup Execution [Documentation] Do suite setup execution task. Redfish.Login Redfish Power On stack_mode=skip quiet=1 Get Original Vmi Details Test Teardown Execution [Documentation] Do test teardown execution task. FOR ${interface} IN @{interface_list} Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface} END FFDC On Test Case Fail Get Original Vmi Details [Documentation] Get original details of VMI. @{interface_list}= Get VMI Interfaces Set Suite Variable @{interface_list} FOR ${interface} IN @{interface_list} ${resp}= Redfish.Get ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]} ${vmi_network_conf}= Catenate SEPARATOR=_ vmi_network_conf ${interface} ${vmi_network_conf_value}= Run Keyword If ${length} != ${0} ... Get VMI Network Interface Details ${interface} Set Suite Variable ${${vmi_network_conf}} ${vmi_network_conf_value} END Suite Teardown Execution [Documentation] Do suite teardown execution task ... Set original vmi details and verify. FOR ${interface} IN @{interface_list} Run Keyword If ${vmi_network_conf_${interface}} != ${None} ... Set Static IPv4 Address To VMI And Verify ... ${vmi_network_conf_${interface}}[IPv4_Address] ... ${vmi_network_conf_${interface}}[IPv4_Gateway] ... ${vmi_network_conf_${interface}}[IPv4_SubnetMask] ... ${HTTP_ACCEPTED} ${interface} END Redfish.Logout