Skip to content

Commit be01d22

Browse files
Merge pull request #30415 from openshift-cherrypick-robot/cherry-pick-30338-to-release-4.20
OCPBUGS-64593: [release-4.20] NO-JIRA: Filter preconfiguredIPs based on cluster IP family support
2 parents 407b0fa + d0c827c commit be01d22

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
var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines", func() {
@@ -132,9 +133,21 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
132133
vmCreationParams.NetworkName = nadName
133134
}
134135

135-
if len(workloadConfig.preconfiguredIPs) > 0 {
136+
hasIPv4, hasIPv6, err := GetIPAddressFamily(oc)
137+
Expect(err).NotTo(HaveOccurred())
138+
var filteredPreconfiguredIPs []string
139+
for _, ip := range workloadConfig.preconfiguredIPs {
140+
if utilnet.IsIPv4String(ip) && hasIPv4 {
141+
filteredPreconfiguredIPs = append(filteredPreconfiguredIPs, ip)
142+
}
143+
if utilnet.IsIPv6String(ip) && hasIPv6 {
144+
filteredPreconfiguredIPs = append(filteredPreconfiguredIPs, ip)
145+
}
146+
}
147+
148+
if len(filteredPreconfiguredIPs) > 0 {
136149
var err error
137-
vmCreationParams.PreconfiguredIP, err = formatAddressesAnnotation(workloadConfig.preconfiguredIPs)
150+
vmCreationParams.PreconfiguredIP, err = formatAddressesAnnotation(filteredPreconfiguredIPs)
138151
Expect(err).NotTo(HaveOccurred())
139152
}
140153
if workloadConfig.preconfiguredMAC != "" {
@@ -163,9 +176,9 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
163176
}
164177
Expect(initialAddresses).To(HaveLen(expectedNumberOfAddresses))
165178

166-
if len(workloadConfig.preconfiguredIPs) > 0 {
179+
if len(filteredPreconfiguredIPs) > 0 {
167180
By("Verifying VM received the preconfigured IP address(es)")
168-
for _, expectedIP := range workloadConfig.preconfiguredIPs {
181+
for _, expectedIP := range filteredPreconfiguredIPs {
169182
expectedIP = strings.TrimSpace(expectedIP)
170183
Expect(initialAddresses).To(ContainElement(expectedIP), fmt.Sprintf("Expected IP %s not found in VM addresses %v", expectedIP, initialAddresses))
171184
}

0 commit comments

Comments
 (0)