Skip to content

Commit 83a1f05

Browse files
Merge pull request #30338 from kyrtapz/filter_supported_ip_family
NO-JIRA: Filter preconfiguredIPs based on cluster IP family support
2 parents b9feda6 + 26fc348 commit 83a1f05

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

test/extended/networking/livemigration.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/openshift/origin/test/extended/networking/kubevirt"
2929
exutil "github.com/openshift/origin/test/extended/util"
3030
"github.com/openshift/origin/test/extended/util/image"
31+
utilnet "k8s.io/utils/net"
3132
)
3233

3334
const kvIPRequestsAnnot = "network.kubevirt.io/addresses"
@@ -125,9 +126,21 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
125126
vmCreationParams.NetworkName = nadName
126127
}
127128

128-
if len(workloadConfig.preconfiguredIPs) > 0 {
129+
hasIPv4, hasIPv6, err := GetIPAddressFamily(oc)
130+
Expect(err).NotTo(HaveOccurred())
131+
var filteredPreconfiguredIPs []string
132+
for _, ip := range workloadConfig.preconfiguredIPs {
133+
if utilnet.IsIPv4String(ip) && hasIPv4 {
134+
filteredPreconfiguredIPs = append(filteredPreconfiguredIPs, ip)
135+
}
136+
if utilnet.IsIPv6String(ip) && hasIPv6 {
137+
filteredPreconfiguredIPs = append(filteredPreconfiguredIPs, ip)
138+
}
139+
}
140+
141+
if len(filteredPreconfiguredIPs) > 0 {
129142
var err error
130-
vmCreationParams.PreconfiguredIP, err = formatAddressesAnnotation(workloadConfig.preconfiguredIPs)
143+
vmCreationParams.PreconfiguredIP, err = formatAddressesAnnotation(filteredPreconfiguredIPs)
131144
Expect(err).NotTo(HaveOccurred())
132145
}
133146
if workloadConfig.preconfiguredMAC != "" {
@@ -156,9 +169,9 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
156169
}
157170
Expect(initialAddresses).To(HaveLen(expectedNumberOfAddresses))
158171

159-
if len(workloadConfig.preconfiguredIPs) > 0 {
172+
if len(filteredPreconfiguredIPs) > 0 {
160173
By("Verifying VM received the preconfigured IP address(es)")
161-
for _, expectedIP := range workloadConfig.preconfiguredIPs {
174+
for _, expectedIP := range filteredPreconfiguredIPs {
162175
expectedIP = strings.TrimSpace(expectedIP)
163176
Expect(initialAddresses).To(ContainElement(expectedIP), fmt.Sprintf("Expected IP %s not found in VM addresses %v", expectedIP, initialAddresses))
164177
}

0 commit comments

Comments
 (0)