Added test verify dhcpv4 in presence of static ipv6 on eth1
Changes:
- Added the test case:
Verify Eth1 DHCPv4 Functions Properly In The Presence Of Static IPv6
Tested:
Ran and Tested on BMC Environment.
Change-Id: Ic4dffa23e8258262da4e29af32fa899e34b96149
Signed-off-by: Abhijith Naik <Abhijith.Naik@ibm.com>
diff --git a/lib/bmc_network_utils.robot b/lib/bmc_network_utils.robot
index 2a59ff6..06f617a 100644
--- a/lib/bmc_network_utils.robot
+++ b/lib/bmc_network_utils.robot
@@ -993,3 +993,20 @@
Should Be Equal ${status} ${True}
... msg=Not allowing the configuration of a valid MAC.
END
+
+
+Set DHCPEnabled To Enable Or Disable
+ [Documentation] Enable or Disable DHCP on the interface.
+ [Arguments] ${dhcp_enabled}=${False} ${interface}=${ethernet_interface}
+ ... ${valid_status_code}=[${HTTP_OK},${HTTP_ACCEPTED},${HTTP_NO_CONTENT}]
+
+ # Description of argument(s):
+ # dhcp_enabled False for disabling DHCP and True for Enabling DHCP.
+ # interface eth0 or eth1. Default is eth1.
+ # valid_status_code Expected valid status code from Patch request.
+ # Default is HTTP_OK.
+
+ ${data}= Set Variable If ${dhcp_enabled} == ${False} ${DISABLE_DHCP} ${ENABLE_DHCP}
+ ${resp}= Redfish.Patch
+ ... /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/${interface}
+ ... body=${data} valid_status_codes=${valid_status_code}
\ No newline at end of file
diff --git a/redfish/managers/test_bmc_ipv6.robot b/redfish/managers/test_bmc_ipv6.robot
index a6c0613..d72b117 100644
--- a/redfish/managers/test_bmc_ipv6.robot
+++ b/redfish/managers/test_bmc_ipv6.robot
@@ -504,6 +504,33 @@
${False} ${False}
+Verify Eth1 DHCPv4 Functions Properly In The Presence Of Static IPv6
+ [Documentation] Verify eth1 dhcpv4 functions properly in the presence of Static IPv6.
+ [Tags] Verify_Eth1_DHCPv4_Functions_Properly_In_The_Presence_Of_Static_IPv6
+ [Setup] Run Keywords
+ ... Set DHCPEnabled To Enable Or Disable True eth1
+ ... AND Configure IPv6 Address On BMC ${test_ipv6_addr} ${test_prefix_length} ${None} ${2}
+
+ # Verify presence of static IPv6 address and origin.
+ @{ipv6_address_origin_list} ${static_ipv6_addr}=
+ ... Get Address Origin List And Address For Type Static ${2}
+ Should Contain ${ipv6_address_origin_list} Static
+ Should Not Be Empty ${static_ipv6_addr} msg=${test_ipv6_addr} address is not present
+
+ # Verify eth1 DHCPv4 is enabled.
+ ${DHCPEnabled}= Get IPv4 DHCP Enabled Status ${2}
+ Should Be Equal ${DHCPEnabled} ${True}
+
+ # Verify presence of DHCPv4 address origin.
+ @{ipv4_addressorigin_list} ${ipv4_addr_list}=
+ ... Get Address Origin List And IPv4 or IPv6 Address IPv4Addresses ${2}
+ ${ipv4_addressorigin_list}= Evaluate sum(${ipv4_addressorigin_list}, [])
+ Should Contain ${ipv4_addressorigin_list} DHCP
+
+ # Verify static is not present in address origin when DHPCv4 enabled.
+ List Should Not Contain Value ${ipv4_addressorigin_list} Static
+
+
*** Keywords ***
Suite Setup Execution
diff --git a/redfish/managers/test_multiple_interfaces_dhcp.robot b/redfish/managers/test_multiple_interfaces_dhcp.robot
index 6b4a3ce..0c24908 100644
--- a/redfish/managers/test_multiple_interfaces_dhcp.robot
+++ b/redfish/managers/test_multiple_interfaces_dhcp.robot
@@ -160,22 +160,6 @@
*** Keywords ***
-Set DHCPEnabled To Enable Or Disable
- [Documentation] Enable or Disable DHCP on the interface.
- [Arguments] ${dhcp_enabled}=${False} ${interface}=${ethernet_interface}
- ... ${valid_status_code}=[${HTTP_OK},${HTTP_ACCEPTED},${HTTP_NO_CONTENT}]
-
- # Description of argument(s):
- # dhcp_enabled False for disabling DHCP and True for Enabling DHCP.
- # interface eth0 or eth1. Default is eth1.
- # valid_status_code Expected valid status code from Patch request.
- # Default is HTTP_OK.
-
- ${data}= Set Variable If ${dhcp_enabled} == ${False} ${DISABLE_DHCP} ${ENABLE_DHCP}
- ${resp}= Redfish.Patch
- ... /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/${interface}
- ... body=${data} valid_status_codes=${valid_status_code}
-
Apply DHCP Config
[Documentation] Apply DHCP Config
[Arguments] ${property}