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