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 11Suite Teardown Run Keyword And Ignore Error Suite Teardown Execution 12 13Force Tags Vmi_Multiple_Interfaces 14 15*** Variables *** 16 17${test_ipv4_1} 10.6.6.6 18${test_gateway_1} 10.6.6.1 19${test_netmask_1} 255.255.252.0 20 21${test_ipv4_2} 10.5.20.5 22${test_gateway_2} 10.5.20.1 23${test_netmask_2} 255.255.255.0 24${test_ipv4_3} 10.6.4.6 25 26*** Test Cases *** 27 28Configure VMI Both Interfaces In Same Subnet And Verify 29 [Documentation] Configure VMI both interfaces in same subnet and verify. 30 [Tags] Configure_VMI_Both_Interfaces_In_Same_Subnet_And_Verify 31 [Teardown] Test Teardown Execution 32 33 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 34 ... ${test_netmask_1} 35 Set Static IPv4 Address To VMI And Verify ${test_ipv4_3} ${test_gateway_1} 36 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1] 37 38Configure VMI Both Interfaces In Different Subnet And Verify 39 [Documentation] Configure VMI both interfaces in different subnet and verify. 40 [Tags] Configure_VMI_Both_Interfaces_In_Different_Subnet_And_Verify 41 [Teardown] Test Teardown Execution 42 43 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 44 ... ${test_netmask_1} 45 Set Static IPv4 Address To VMI And Verify ${test_ipv4_2} ${test_gateway_2} 46 ... ${test_netmask_2} ${HTTP_ACCEPTED} ${interface_list}[1] 47 48Configure VMI Both Interfaces In Dynamic And Verify 49 [Documentation] Configure VMI both interfaces in dynamic And Verify. 50 [Tags] Configure_VMI_Both_Interfaces_In_Dynamic_And_Verify 51 [Teardown] Run keywords Set VMI IPv4 Origin ${False} 52 ... AND Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1] 53 ... AND Test Teardown Execution 54 55 Set VMI IPv4 Origin ${True} 56 ${default}= Set Variable 0.0.0.0 57 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1] 58 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 59 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1] 60 61Configure VMI First Interface In Static And Second In Dynamic And Verify 62 [Documentation] Configure VMI first interface in static mode and second interface in dynamic mode 63 ... and verify first gets static ip details and second gets dynamic ip details. 64 [Tags] Configure_VMI_First_Interface_In_Static_And_Second_In_Dynamic_And_Verify 65 [Teardown] Run keywords Delete VMI IPv4 Address AND 66 ... Set VMI IPv4 Origin ${False} ${HTTP_ACCEPTED} ${interface_list}[1] 67 ... AND Test Teardown Execution 68 69 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 70 ... ${test_netmask_1} 71 Set VMI IPv4 Origin ${True} ${HTTP_ACCEPTED} ${interface_list}[1] 72 ${default}= Set Variable 0.0.0.0 73 Verify VMI Network Interface Details ${test_ipv4_1} Static ${test_gateway_1} ${test_netmask_1} 74 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} ${interface_list}[1] 75 76Configure VMI First Interface In Dynamic And Second In Static And Verify 77 [Documentation] Configure VMI first interface in dynamic mode and second interface in static mode 78 ... and verify first gets dynamic ip details and second gets static ip details. 79 [Tags] Configure_VMI_First_Interface_In_Dynamic_And_Second_In_Static_And_Verify 80 [Teardown] Run keywords Set VMI IPv4 Origin ${False} AND 81 ... Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface_list}[1] 82 ... AND Test Teardown Execution 83 84 Set VMI IPv4 Origin ${True} 85 ${default}= Set Variable 0.0.0.0 86 Set Static IPv4 Address To VMI And Verify ${test_ipv4_1} ${test_gateway_1} 87 ... ${test_netmask_1} ${HTTP_ACCEPTED} ${interface_list}[1] 88 Verify VMI Network Interface Details ${default} DHCP ${default} ${default} 89 90*** Keywords *** 91 92Suite Setup Execution 93 [Documentation] Do suite setup execution task. 94 95 Redfish.Login 96 Redfish Power On stack_mode=skip quiet=1 97 Get Original Vmi Details 98 99 100Test Teardown Execution 101 [Documentation] Do test teardown execution task. 102 103 FOR ${interface} IN @{interface_list} 104 Delete VMI IPv4 Address IPv4StaticAddresses ${HTTP_ACCEPTED} ${interface} 105 END 106 107 FFDC On Test Case Fail 108 109 110Get Original Vmi Details 111 [Documentation] Get original details of VMI. 112 113 @{interface_list}= Get VMI Interfaces 114 Set Suite Variable @{interface_list} 115 116 FOR ${interface} IN @{interface_list} 117 ${resp}= Redfish.Get 118 ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface} 119 ${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json 120 ${length}= Get Length ${ip_resp["IPv4StaticAddresses"]} 121 ${vmi_network_conf}= Catenate SEPARATOR=_ vmi_network_conf ${interface} 122 ${vmi_network_conf_value}= Run Keyword If ${length} != ${0} 123 ... Get VMI Network Interface Details ${interface} 124 Set Suite Variable ${${vmi_network_conf}} ${vmi_network_conf_value} 125 END 126 127 128Suite Teardown Execution 129 [Documentation] Do suite teardown execution task 130 ... Set original vmi details and verify. 131 132 FOR ${interface} IN @{interface_list} 133 Run Keyword If ${vmi_network_conf_${interface}} != ${None} 134 ... Set Static IPv4 Address To VMI And Verify 135 ... ${vmi_network_conf_${interface}}[IPv4_Address] 136 ... ${vmi_network_conf_${interface}}[IPv4_Gateway] 137 ... ${vmi_network_conf_${interface}}[IPv4_SubnetMask] 138 ... ${HTTP_ACCEPTED} ${interface} 139 END 140 141 Redfish.Logout 142 143