Skip to content

Commit d1b63ed

Browse files
committed
ovn-k, virt, preconfigured-udn-addrs: Test MAC conflict detection
Verify KubeVirt VMs with preconfigured MAC address retain a requested MAC address before and after another VM is created requesting the same MAC address. And verify the other VM requesting the same MAC address get the appropriate address conflict error event. Signed-off-by: Or Mergi <[email protected]>
1 parent f43feb8 commit d1b63ed

File tree

3 files changed

+97
-0
lines changed

3 files changed

+97
-0
lines changed

test/extended/networking/livemigration.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,20 @@ var _ = Describe("[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][F
328328
preconfiguredIPs: []string{"203.203.0.100", "2014:100:200::100"},
329329
},
330330
),
331+
Entry(
332+
"[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC address is created when the address is already taken",
333+
networkAttachmentConfigParams{
334+
name: nadName,
335+
topology: "layer2",
336+
role: "primary",
337+
allowPersistentIPs: true,
338+
},
339+
kubevirt.FedoraVMWithPreconfiguredPrimaryUDNAttachment,
340+
duplicateVM,
341+
workloadNetworkConfig{
342+
preconfiguredMAC: "aa:bb:cc:dd:ee:ff",
343+
},
344+
),
331345
)
332346
},
333347
Entry("NetworkAttachmentDefinitions", func(c networkAttachmentConfigParams) networkAttachmentConfig {
@@ -586,6 +600,21 @@ func duplicateVM(cli *kubevirt.Client, vmNamespace, vmName string) {
586600
)
587601
})
588602
}
603+
604+
mac, err := cli.GetJSONPath("vmi", vmName, "{.spec.domain.devices.interfaces[0].macAddress}")
605+
Expect(err).NotTo(HaveOccurred())
606+
if len(mac) > 0 {
607+
vmiExpectations = append(vmiExpectations, func() {
608+
waitForVMPodEventWithMessage(
609+
cli,
610+
vmNamespace,
611+
duplicateVMName,
612+
"MAC address already in use",
613+
2*time.Minute,
614+
)
615+
})
616+
}
617+
589618
Expect(cli.CreateVMIFromSpec(vmNamespace, duplicateVMName, vmiSpec, vmiCreationOptions...)).To(Succeed())
590619
for _, expectation := range vmiExpectations {
591620
expectation()

test/extended/util/annotate/generated/zz_generated.annotations.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

zz_generated.manifests/test-reporting.yaml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,12 @@ spec:
960960
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
961961
[OCPFeatureGate:NetworkSegmentation] when the VMI attached to a primary UDN
962962
is migrated between nodes'
963+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
964+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
965+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
966+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
967+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
968+
IP address is created when the address is already taken'
963969
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
964970
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
965971
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
@@ -972,6 +978,12 @@ spec:
972978
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
973979
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
974980
IPs attached to a primary UDN is restarted'
981+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
982+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
983+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
984+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
985+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
986+
MAC address is created when the address is already taken'
975987
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
976988
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
977989
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
@@ -1015,6 +1027,12 @@ spec:
10151027
networks and persistent ips configured created using NetworkAttachmentDefinitions
10161028
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:NetworkSegmentation]
10171029
when the VMI attached to a primary UDN is migrated between nodes'
1030+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1031+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1032+
networks and persistent ips configured created using NetworkAttachmentDefinitions
1033+
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
1034+
when the VM with preconfigured IP address is created when the address is already
1035+
taken'
10181036
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
10191037
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
10201038
networks and persistent ips configured created using NetworkAttachmentDefinitions
@@ -1026,6 +1044,12 @@ spec:
10261044
networks and persistent ips configured created using NetworkAttachmentDefinitions
10271045
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
10281046
when the VM with preconfigured IPs attached to a primary UDN is restarted'
1047+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1048+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1049+
networks and persistent ips configured created using NetworkAttachmentDefinitions
1050+
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
1051+
when the VM with preconfigured MAC address is created when the address is
1052+
already taken'
10291053
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
10301054
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
10311055
networks and persistent ips configured created using NetworkAttachmentDefinitions
@@ -1064,6 +1088,12 @@ spec:
10641088
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
10651089
[OCPFeatureGate:NetworkSegmentation] when the VMI attached to a primary UDN
10661090
is migrated between nodes'
1091+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1092+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1093+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
1094+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
1095+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
1096+
IP address is created when the address is already taken'
10671097
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
10681098
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
10691099
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
@@ -1076,6 +1106,12 @@ spec:
10761106
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
10771107
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
10781108
IPs attached to a primary UDN is restarted'
1109+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1110+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1111+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
1112+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
1113+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
1114+
MAC address is created when the address is already taken'
10791115
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
10801116
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
10811117
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
@@ -1131,6 +1167,12 @@ spec:
11311167
observedGeneration'
11321168
- featureGate: PreconfiguredUDNAddresses
11331169
tests:
1170+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1171+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1172+
networks and persistent ips configured created using NetworkAttachmentDefinitions
1173+
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
1174+
when the VM with preconfigured IP address is created when the address is already
1175+
taken'
11341176
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
11351177
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
11361178
networks and persistent ips configured created using NetworkAttachmentDefinitions
@@ -1142,11 +1184,23 @@ spec:
11421184
networks and persistent ips configured created using NetworkAttachmentDefinitions
11431185
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
11441186
when the VM with preconfigured IPs attached to a primary UDN is restarted'
1187+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1188+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1189+
networks and persistent ips configured created using NetworkAttachmentDefinitions
1190+
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
1191+
when the VM with preconfigured MAC address is created when the address is
1192+
already taken'
11451193
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
11461194
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
11471195
networks and persistent ips configured created using NetworkAttachmentDefinitions
11481196
[Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses]
11491197
when the VM with preconfigured MAC attached to a primary UDN is restarted'
1198+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1199+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1200+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
1201+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
1202+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
1203+
IP address is created when the address is already taken'
11501204
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
11511205
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
11521206
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
@@ -1159,6 +1213,12 @@ spec:
11591213
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
11601214
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
11611215
IPs attached to a primary UDN is restarted'
1216+
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
1217+
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
1218+
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]
1219+
UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip
1220+
[OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured
1221+
MAC address is created when the address is already taken'
11621222
- testName: '[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration]
11631223
Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined
11641224
networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation]

0 commit comments

Comments
 (0)