Added vmi multiple interfaces testcases
-Added vmi multiple interface suite with below testcases
-Configure VMI Both Interfaces In Same Subnet And Verify
-Configure VMI Both Interfaces In Different Subnet And Verify
Change-Id: I2eaf860192bd95f7621ef719743788a46cd17b49
Signed-off-by: shrsuman123 <shrsuman@in.ibm.com>
diff --git a/openpower/ext_interfaces/test_vmi_multiple_interfaces.robot b/openpower/ext_interfaces/test_vmi_multiple_interfaces.robot
new file mode 100644
index 0000000..72d7db8
--- /dev/null
+++ b/openpower/ext_interfaces/test_vmi_multiple_interfaces.robot
@@ -0,0 +1,99 @@
+*** 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
+
+*** 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]
+
+*** 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
+