@@ -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
3334var _ = Describe ("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines" , func () {
@@ -123,9 +124,21 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
123124 vmCreationParams .NetworkName = nadName
124125 }
125126
126- if len (workloadConfig .preconfiguredIPs ) > 0 {
127+ hasIPv4 , hasIPv6 , err := GetIPAddressFamily (oc )
128+ Expect (err ).NotTo (HaveOccurred ())
129+ var filteredPreconfiguredIPs []string
130+ for _ , ip := range workloadConfig .preconfiguredIPs {
131+ if utilnet .IsIPv4String (ip ) && hasIPv4 {
132+ filteredPreconfiguredIPs = append (filteredPreconfiguredIPs , ip )
133+ }
134+ if utilnet .IsIPv6String (ip ) && hasIPv6 {
135+ filteredPreconfiguredIPs = append (filteredPreconfiguredIPs , ip )
136+ }
137+ }
138+
139+ if len (filteredPreconfiguredIPs ) > 0 {
127140 var err error
128- vmCreationParams .PreconfiguredIP , err = formatAddressesAnnotation (workloadConfig . preconfiguredIPs )
141+ vmCreationParams .PreconfiguredIP , err = formatAddressesAnnotation (filteredPreconfiguredIPs )
129142 Expect (err ).NotTo (HaveOccurred ())
130143 }
131144 if workloadConfig .preconfiguredMAC != "" {
@@ -154,9 +167,9 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
154167 }
155168 Expect (initialAddresses ).To (HaveLen (expectedNumberOfAddresses ))
156169
157- if len (workloadConfig . preconfiguredIPs ) > 0 {
170+ if len (filteredPreconfiguredIPs ) > 0 {
158171 By ("Verifying VM received the preconfigured IP address(es)" )
159- for _ , expectedIP := range workloadConfig . preconfiguredIPs {
172+ for _ , expectedIP := range filteredPreconfiguredIPs {
160173 expectedIP = strings .TrimSpace (expectedIP )
161174 Expect (initialAddresses ).To (ContainElement (expectedIP ), fmt .Sprintf ("Expected IP %s not found in VM addresses %v" , expectedIP , initialAddresses ))
162175 }
0 commit comments