Modified VMI network config testcase and keywords

Changes:
   1.Assign Valid And Invalid Static IPv4 Address To VMI
   2.Get VMI Network Interface Details
   3.Set Static IPv4 Address To VMI
   4.Delete VMI IPv4 Address

Change-Id: Ie8fa17ee18b2d2737961dd5ed2c1d331ecec5199
Signed-off-by: Anves Kumar rayankula <anvesr77@in.ibm.com>
diff --git a/openpower/ext_interfaces/test_vmi.robot b/openpower/ext_interfaces/test_vmi.robot
index 5cb0f86..ae40e9e 100644
--- a/openpower/ext_interfaces/test_vmi.robot
+++ b/openpower/ext_interfaces/test_vmi.robot
@@ -5,6 +5,7 @@
 Resource         ../../lib/resource.robot
 Resource         ../../lib/bmc_redfish_resource.robot
 Resource         ../../lib/openbmc_ffdc.robot
+Library          ../../lib/bmc_network_utils.py
 
 Suite Setup       Redfish.Login
 Test Teardown     FFDC On Test Case Fail
@@ -65,15 +66,15 @@
     Delete VMI IPv4 Address  IPv4Addresses  valid_status_code=${HTTP_BAD_REQUEST}
 
 
-Assign Static IPv4 Address To VMI
+Assign Valid And Invalid Static IPv4 Address To VMI
     [Documentation]  Assign static IPv4 address to VMI.
-    [Tags]  Assign_Static_IPv4_Address_To_VMI
+    [Tags]  Assign_Valid_And_Invalid_Static_IPv4_Address_To_VMI
     [Template]  Verify Assigning Static IPv4 Address To VMI
+    [Teardown]  Delete VMI IPv4 Address  IPv4Addresses  ${HTTP_ACCEPTED}
 
-    # ip          gateway         netmask         del_curr_ip  host_reboot  valid_status_code
-    ${VMI_IP}     ${VMI_GATEWAY}  ${VMI_NETMASK}  ${False}     ${True}      ${HTTP_ACCEPTED}
-    a.3.118.94    ${VMI_GATEWAY}  ${VMI_NETMASK}  ${False}     ${False}     ${HTTP_BAD_REQUEST}
-    10.118.94     10.118.3.Z      ${VMI_NETMASK}  ${False}     ${False}     ${HTTP_BAD_REQUEST}
+    # ip          gateway     netmask          del_curr_ip   host_reboot   valid_status_code
+    10.5.20.30    0.0.0.0     255.255.252.0    ${False}      ${True}       ${HTTP_ACCEPTED}
+    a.3.118.94    0.0.0.0     255.255.252.0    ${False}      ${False}      ${HTTP_BAD_REQUEST}
 
 
 Switch Between IP Origins On VMI And Verify Details
@@ -111,7 +112,9 @@
 
     # Note: It returns a dictionary of VMI eth0 parameters.
 
-    ${resp}=  Redfish.Get  /redfish/v1/Systems/hypervisor/EthernetInterfaces/eth0
+    ${active_channel_config}=  Get Active Channel Config
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
     ...  valid_status_codes=[${valid_status_code}]
 
     ${ip_resp}=  Evaluate  json.loads('''${resp.text}''')  json
@@ -139,7 +142,9 @@
     # parameter          parameter for which value is required. Ex: DHCPEnabled, MACAddress etc.
     # valid_status_code  Expected valid status code from GET request.
 
-    ${resp}=  Redfish.Get  /redfish/v1/Systems/hypervisor/EthernetInterfaces/eth0
+    ${active_channel_config}=  Get Active Channel Config
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
     ...  valid_status_codes=[${valid_status_code}]
 
     ${ip_resp}=  Evaluate  json.loads('''${resp.text}''')  json
@@ -190,8 +195,6 @@
     Should Be Equal As Strings  ${origin}  ${vmi_ip["IPv4_AddressOrigin"]}
     Should Be Equal As Strings  ${gateway}  ${vmi_ip["IPv4_Gateway"]}
     Should Be Equal As Strings  ${netmask}  ${vmi_ip["IPv4_SubnetMask"]}
-
-    Return From Keyword If  '${origin}' == 'DHCP'
     Should Be Equal As Strings  ${ip}  ${vmi_ip["IPv4_Address"]}
 
 
@@ -208,8 +211,10 @@
     ${data}=  Set Variable
     ...  {"IPv4StaticAddresses": [{"Address": "${ip}","SubnetMask": "${netmask}","Gateway": "${gateway}"}]}
 
-    ${resp}=  Redfish.Patch  /redfish/v1/Systems/hypervisor/EthernetInterfaces/eth0  body=${data}
-    ...  valid_status_codes=[${valid_status_code}]
+    ${active_channel_config}=  Get Active Channel Config
+    ${resp}=  Redfish.Patch
+    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    ...  body=${data}  valid_status_codes=[${valid_status_code}]
     Redfish Power On  stack_mode=skip
     Log To Console  ${resp.text}
 
@@ -247,8 +252,10 @@
     # valid_status_code  Expected valid status code from PATCH request. Default is HTTP_OK.
 
     ${data}=  Set Variable  {"${delete_param}": [${Null}]}
-    ${resp}=  Redfish.Patch  /redfish/v1/Systems/hypervisor/EthernetInterfaces/eth0  body=${data}
-    ...  valid_status_codes=[${valid_status_code}]
+    ${active_channel_config}=  Get Active Channel Config
+    ${resp}=  Redfish.Patch
+    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    ...  body=${data}  valid_status_codes=[${valid_status_code}]
 
 
 Set VMI IPv4 Origin