Skip to content

Conversation

RamLavi
Copy link
Contributor

@RamLavi RamLavi commented Sep 1, 2025

This PR is a followup PR to #30010, adding tests to check duplicate IP detection:

  • create VM with Preconfigured IPs, assert you can't have IP collision

@RamLavi RamLavi changed the title PreconfiguredUDNAddresses: Add duplicate MAC and IP detection tests CORENET-6363: Add PreconfiguredUDNAddresses duplicate MAC and IP detection tests Sep 1, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 1, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 1, 2025

@RamLavi: This pull request references CORENET-6363 which is a valid jira issue.

In response to this:

This PR is a followup PR to #30010, adding tests to check duplicate MAC and IP detection:

  • create VM with Preconfigured IPs, assert you can't have IP collision
  • create VM with Preconfigured MAC, assert you can't have MAC collision

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 2, 2025

/test e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview
running this as baseline, expecting it to fail both tests.

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 2, 2025

/test e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview running this as baseline, expecting it to fail both tests.

failed as expected

Copy link

openshift-trt bot commented Sep 2, 2025

Risk analysis has seen new tests most likely introduced by this PR.
Please ensure that new tests meet guidelines for naming and stability.

New Test Risks for sha: 6b6dfb1

Job Name New Test Risk
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview High - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP address is created when the address is already taken" is a new test, was only seen in one job, and failed 1 time(s) against the current commit.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP and MAC attached to a primary UDN is migrated between nodes" is a new test, and was only seen in one job.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IPs attached to a primary UDN is restarted" is a new test, and was only seen in one job.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview High - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC address is created when the address is already taken" is a new test, was only seen in one job, and failed 1 time(s) against the current commit.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC attached to a primary UDN is restarted" is a new test, and was only seen in one job.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview High - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP address is created when the address is already taken" is a new test, was only seen in one job, and failed 1 time(s) against the current commit.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP and MAC attached to a primary UDN is migrated between nodes" is a new test, and was only seen in one job.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IPs attached to a primary UDN is restarted" is a new test, and was only seen in one job.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview High - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC address is created when the address is already taken" is a new test, was only seen in one job, and failed 1 time(s) against the current commit.
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview Medium - "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC attached to a primary UDN is restarted" is a new test, and was only seen in one job.

New tests seen in this PR at sha: 6b6dfb1

  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP address is created when the address is already taken" [Total: 1, Pass: 0, Fail: 1, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP and MAC attached to a primary UDN is migrated between nodes" [Total: 1, Pass: 1, Fail: 0, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IPs attached to a primary UDN is restarted" [Total: 1, Pass: 1, Fail: 0, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC address is created when the address is already taken" [Total: 1, Pass: 0, Fail: 1, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using NetworkAttachmentDefinitions [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC attached to a primary UDN is restarted" [Total: 1, Pass: 1, Fail: 0, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP address is created when the address is already taken" [Total: 1, Pass: 0, Fail: 1, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IP and MAC attached to a primary UDN is migrated between nodes" [Total: 1, Pass: 1, Fail: 0, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured IPs attached to a primary UDN is restarted" [Total: 1, Pass: 1, Fail: 0, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC address is created when the address is already taken" [Total: 1, Pass: 0, Fail: 1, Flake: 0]
  • "[sig-network][OCPFeatureGate:PersistentIPsForVirtualization][Feature:Layer2LiveMigration] Kubevirt Virtual Machines when using openshift ovn-kubernetes with user defined networks and persistent ips configured created using [OCPFeatureGate:NetworkSegmentation] UserDefinedNetwork [Suite:openshift/network/virtualization] should keep ip [OCPFeatureGate:PreconfiguredUDNAddresses] when the VM with preconfigured MAC attached to a primary UDN is restarted" [Total: 1, Pass: 1, Fail: 0, Flake: 0]

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 3, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

1 similar comment
@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 3, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 4, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

results: ip detection passes, MAC detection currently fails.

2*time.Minute,
)
})
} else if hasMACAddressRequest(cli, vmName) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we want to drop the "else" ? Otherwise, how will we be able to create a VM w/ MAC & IP requests ?

As this stands, I think it'll get either MAC or (exclusive or) IP.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the MAC related code. We will reintroduce it when we add the MAC test.
Wanted to again clarify though - the pod will not err on both MAC and IP conflicts, it will return err on the first problem it finds and rollover.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, still, that's the production code.
The test, imho, should be prepared to work independently of that implementation detail.

not a must, I won't insist further.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm let's pick up this thread in the follow up PR where we add the MAC dupliacate

const vmLabelKey = "vm.kubevirt.io/name"
podNames, err := vmClient.GetPodsByLabel(vmLabelKey, vmName)
g.Expect(err).NotTo(HaveOccurred(), "Failed to get pods by label %s=%s", vmLabelKey, vmName)
g.Expect(podNames).To(HaveLen(1), "Expected exactly one virt-launcher pod for VM %s/%s, but found %d pods: %v", vmNamespace, vmName, len(podNames), podNames)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: don't we need to filter out some states ? Let's take the "migration" scenario into consideration; a completed migration will leave the original (src) pod as completed. Won't that pod be caught in this filter ?

Do we want to address that scenario here ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

depends.. Right now we not looking for event of vm-pods during migration/restart, so I would keep things simple.
Should the occasion arise (look for events during migration/restart/whatnot), we could change GetPodsByLabel --> GetPodsByLabelAndPhase ...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fair enough for me.

@RamLavi RamLavi force-pushed the add_PreconfiguredUDNAddresses_conflict_ip_mac_e2e branch from 6b6dfb1 to 5e64ef9 Compare September 4, 2025 09:42
@RamLavi RamLavi changed the title CORENET-6363: Add PreconfiguredUDNAddresses duplicate MAC and IP detection tests CORENET-6363: Add PreconfiguredUDNAddresses duplicate IP detection tests Sep 4, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 4, 2025

@RamLavi: This pull request references CORENET-6363 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target either version "4.21." or "openshift-4.21.", but it targets "openshift-4.20" instead.

In response to this:

This PR is a followup PR to #30010, adding tests to check duplicate IP detection:

  • create VM with Preconfigured IPs, assert you can't have IP collision

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@maiqueb
Copy link
Contributor

maiqueb commented Sep 4, 2025

/jira refresh

@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 4, 2025

@maiqueb: This pull request references CORENET-6363 which is a valid jira issue.

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@RamLavi RamLavi force-pushed the add_PreconfiguredUDNAddresses_conflict_ip_mac_e2e branch 2 times, most recently from f82bd17 to f14d9ef Compare September 4, 2025 11:47
@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 4, 2025

Changes: Remove code regarding MAC duplicate test.

Copy link
Contributor

@maiqueb maiqueb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't LGTM this since I'm a co-author of some commits, but, FWIW, the code looks solid.

@qinqon / @ormergi please review

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 4, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

@@ -93,6 +95,65 @@ func (c *Client) GetJSONPath(resource, name, jsonPath string) (string, error) {
}
return strings.TrimSuffix(strings.TrimPrefix(output, `"`), `"`), nil
}

func (c *Client) GetPodsByLabel(labelKey, labelValue string) ([]string, error) {
output, err := c.oc.AsAdmin().Run("get").Args("pods", "-n", c.oc.Namespace(), "-l", fmt.Sprintf("%s=%s", labelKey, labelValue), "-o", "jsonpath={.items[*].metadata.name}").Output()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use -o name instead of the jsonpath also do we have to care of running vs completed pods during migration we can end up returning more pods than needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use -o name instead of the jsonpath

ACK

also do we have to care of running vs completed pods during migration we can end up returning more pods than needed?

@maiqueb also raised this here - I think that right now we should keep it simple (we only check restarted VMs, not migrated ones), but having said that - since both of you suggested it - if you still think it's needed to be added now - I'll do it. your call.

Comment on lines +124 to +157
newVMI := map[string]interface{}{
"apiVersion": "kubevirt.io/v1",
"kind": "VirtualMachineInstance",
"metadata": map[string]interface{}{
"name": vmName,
"namespace": vmNamespace,
},
"spec": vmiSpec,
}

for _, opt := range opts {
opt(newVMI)
}

newVMIYAML, err := yaml.Marshal(newVMI)
if err != nil {
return err
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why don't we use Unstructured stuff for this ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I follow - can you elaborate?


virtLauncherPodName := podNames[0]
eventMessages, err := vmClient.GetEventsForPod(virtLauncherPodName)
g.Expect(err).NotTo(HaveOccurred(), "Failed to get events for pod %s", virtLauncherPodName)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure we want to retry o error ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not? if k8s service is down or something we should retry.. My reasoning is: it's not what's the test is about, we should try and get the events and fail only if the relevant even isn't there.


return eventMessages
}).WithPolling(time.Second).WithTimeout(timeout).Should(
ContainElements(strings.Split(expectedEventMessage, " ")),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have to split "IP is already allocated", ?

Copy link
Contributor

@maiqueb maiqueb Sep 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because that's what's output by the GetEventsForPod function - a slice of strings, with each "word" a separate slice element.

Maybe it can be corrected, but I just found it simpler to do it here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For instance, the lane is failing right now on the MAC conflict tests because:

Expected to find an event containing "MAC address conflict detected:"
Expected
    <[]string | len:28, cap:28>: [
        "Successfully",
        "assigned",
        "e2e-network-segmentation-e2e-2361/virt-launcher-myvm-duplicate-btp47",
        "to",
        "worker-2",
        "failed",
        "to",
        "update",
        "pod",
        "e2e-network-segmentation-e2e-2361/virt-launcher-myvm-duplicate-btp47:",
        "failed",
        "to",
        "reserve",
        "MAC",
        "address",
        "\"02:0a:0b:0c:0d:10\"",
        "for",
        "owner",
        "\"e2e-network-segmentation-e2e-2361/myvm-duplicate\"",
        "on",
        "network",
        "attachment",
        "\"e2e-network-segmentation-e2e-2361/blue\":",
        "MAC",
        "address",
        "already",
        "in",
        "use",
    ]
to contain elements
    <[]string | len:4, cap:4>: ["MAC", "address", "conflict", "detected:"]
the missing elements were
    <[]string | len:2, cap:2>: ["conflict", "detected:"]}

@qinqon this shows you the output data.

@RamLavi I think it does not make sense to "fix" the tests since we have decided (out of band) to drop the MAC address related tests from this PR, and to later on push them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't split the string, we can end up with false possitives since the elemnts of the array can be at the testing array but a different places.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

definitely. @RamLavi would you follow up on this one ?

We need to avoid calling the strings.Fields(...) in the GetEventsForPod function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well the thing was that jsonpath returns space separated words..
changed to using custom-columns

Copy link

openshift-trt bot commented Sep 4, 2025

Job Failure Risk Analysis for sha: f14d9ef

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-csi IncompleteTests
Tests for this run (25) are below the historical average (1834): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-e2e-aws-disruptive IncompleteTests
Tests for this run (106) are below the historical average (579): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)
pull-ci-openshift-origin-main-e2e-aws-ovn-single-node-serial IncompleteTests
Tests for this run (25) are below the historical average (1905): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 7, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

RamLavi and others added 3 commits September 7, 2025 14:28
Validates that KubeVirt VMs with preconfigured MAC and IP addresses
maintain those addresses correctly before and after a vmi with duplicate
IP/MAC request is made, and that the vmi with the duplicate address get
the appropriate address conflict error event.

Co-authored-by: Miguel Duarte Barroso <[email protected]>
Signed-off-by: Ram Lavi <[email protected]>
The requested IPs for the primary UDN attachment are not in the VMI
spec, but in an annotation in the VMI. Hence, we need to fetch that
particular annotation, and set it in the duplicate VMI.

This was implemented using the builder pattern, since I suspect in the
future we will need to further customize the VMI spec / metadata; this
will make it simpler to extend the framework in the future.

Signed-off-by: Miguel Duarte Barroso <[email protected]>
This way we can ensure appropriate cases are caught in a generic way.
With it, we can safely expect to find IP conflicts when there are
duplicate IPs in the network.
In future commits, we will be able to catch MAC conflicts when there are
duplicate MACs in the network

Co-authored-by: Ram Lavi <[email protected]>
Signed-off-by: Miguel Duarte Barroso <[email protected]>
@RamLavi RamLavi force-pushed the add_PreconfiguredUDNAddresses_conflict_ip_mac_e2e branch from f14d9ef to f43feb8 Compare September 7, 2025 11:28
@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 7, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 7, 2025

Change: Address @qinqon 's review

Copy link
Contributor

openshift-ci bot commented Sep 7, 2025

@RamLavi: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview 6b6dfb1 link false /test e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview
ci/prow/e2e-metal-ipi-serial-ovn-ipv6-1of2 f43feb8 link false /test e2e-metal-ipi-serial-ovn-ipv6-1of2
ci/prow/e2e-aws-ovn f43feb8 link false /test e2e-aws-ovn
ci/prow/e2e-aws-ovn-microshift f43feb8 link true /test e2e-aws-ovn-microshift
ci/prow/e2e-openstack-ovn f43feb8 link false /test e2e-openstack-ovn
ci/prow/e2e-metal-ipi-ovn-dualstack-local-gateway f43feb8 link false /test e2e-metal-ipi-ovn-dualstack-local-gateway
ci/prow/e2e-aws-disruptive f43feb8 link false /test e2e-aws-disruptive
ci/prow/e2e-metal-ipi-ovn f43feb8 link false /test e2e-metal-ipi-ovn
ci/prow/e2e-metal-ipi-serial-1of2 f43feb8 link false /test e2e-metal-ipi-serial-1of2
ci/prow/e2e-metal-ipi-ovn-kube-apiserver-rollout f43feb8 link false /test e2e-metal-ipi-ovn-kube-apiserver-rollout
ci/prow/verify f43feb8 link true /test verify
ci/prow/e2e-metal-ipi-ovn-ipv6 f43feb8 link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/okd-scos-e2e-aws-ovn f43feb8 link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-metal-ipi-ovn-dualstack f43feb8 link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-metal-ipi-serial-ovn-ipv6-2of2 f43feb8 link false /test e2e-metal-ipi-serial-ovn-ipv6-2of2
ci/prow/e2e-aws-ovn-single-node f43feb8 link false /test e2e-aws-ovn-single-node
ci/prow/e2e-metal-ipi-serial-2of2 f43feb8 link false /test e2e-metal-ipi-serial-2of2
ci/prow/e2e-metal-ipi-virtualmedia f43feb8 link false /test e2e-metal-ipi-virtualmedia

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 7, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

Copy link
Contributor

@qinqon qinqon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Sep 8, 2025
Copy link
Contributor

openshift-ci bot commented Sep 8, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: qinqon, RamLavi
Once this PR has been reviewed and has the lgtm label, please assign kyrtapz for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 8, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2744

@RamLavi
Copy link
Contributor Author

RamLavi commented Sep 9, 2025

/testwith openshift/origin/main/e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes#2750

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants