Skip to content

Fix ip range#6010

Closed
zbb88888 wants to merge 30 commits intokubeovn:masterfrom
zbb88888:fix-ip-range
Closed

Fix ip range#6010
zbb88888 wants to merge 30 commits intokubeovn:masterfrom
zbb88888:fix-ip-range

Conversation

@zbb88888
Copy link
Copy Markdown
Collaborator

@zbb88888 zbb88888 commented Dec 8, 2025

Pull Request

What type of this PR

Examples of user facing changes:

  • Bug fixes

    因为 xx IP CR 有|没有 finalizer,Kubernetes 的删除行为不同:
    没有 finalizer 的资源:

    1. 调用 Delete() → 直接从 etcd 删除
    2. 只触发 DELETE 事件
    3. 只调用 handleDelIP

    有 finalizer 的资源:

    1. 调用 Delete() → 设置 DeletionTimestamp
    2. 触发 UPDATE 事件(带 DeletionTimestamp)
    3. 调用 handleUpdateIP 清理资源
    4. 移除 finalizer
    5. 触发 DELETE 事件
    6. 调用 handleDelIP

支持 eip 和 qos 功能独立测试,便于开发验证

  1. iptables-eip-conformance-e2e (lines 217-224): 独立测试 iptables-vpc-nat-gw 4分钟
  2. iptables-eip-qos-conformance-e2e (lines 231-238): 独立测试 qos 超过 15 分钟
  3. iptables-vpc-nat-gw-conformance-e2e (lines 226-229): 组合测试,依次调用上面两个目标

Which issue(s) this PR fixes

Fixes #(issue-number)

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @zbb88888, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces significant architectural improvements to how IP-related Custom Resources (IP, OvnEip, IptablesEIP, and Vip) are managed within the controller. The core intent is to bolster the reliability of resource lifecycle management, particularly focusing on robust cleanup procedures and accurate IPAM synchronization. By standardizing the use of finalizers and centralizing deletion logic, the changes ensure that network resources are consistently deallocated and subnet statuses are correctly maintained, thereby preventing resource leaks and ensuring data consistency across the system.

Highlights

  • Refactored Resource Deletion Logic: The handling of IP, OvnEip, IptablesEIP, and Vip resource deletions has been significantly refactored. Cleanup operations, including IPAM release and associated network resource deletion, are now centralized within the respective handleUpdate functions when a resource is marked for deletion (has a DeletionTimestamp). This ensures that resources are properly cleaned up before their finalizers are removed.
  • Consistent Finalizer Management: Finalizers are now consistently applied and managed for IP, OvnEip, IptablesEIP, and Vip resources. New handleAddOrUpdate*Finalizer functions have been introduced to ensure finalizers are added when resources are created or updated, and removed only after all cleanup operations are complete. This prevents resources from being prematurely deleted by Kubernetes.
  • Improved Subnet Status Update Reliability: Subnet status updates are now explicitly triggered by finalizer addition/removal and, as a safety net, during direct deletion handling (e.g., in handleDelIP, handleDelOvnEip, handleDelVirtualIP, handleDelIptablesEip, and handleDeletePod). This ensures that IP allocation and release are accurately reflected in subnet status, even in race conditions or direct API deletions.
  • Enhanced Type Safety for Delete Queues: The delIptablesEipQueue and delOvnEipQueue in pkg/controller/controller.go have been updated to use typed interfaces, now enqueuing the full *kubeovnv1.IptablesEIP and *kubeovnv1.OvnEip objects instead of just string keys. This improves type safety and allows handlers to directly access resource details.
  • Consolidated Label Updates: The logic for updating labels on OvnEip, IptablesEIP, and Vip resources has been consolidated. Instead of separate patch operations for labels, label updates are now applied directly within the main Update call for the resource, simplifying the update process.
  • New E2E Test for VIP Subnet Status: A new end-to-end conformance test has been added to verify the correct behavior of VIP creation and deletion with respect to subnet status updates and finalizer management. This test explicitly checks IP counts and ranges before and after VIP lifecycle events.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the handling of finalizers and subnet status updates for IP, OvnEip, and Vip resources. Key changes include modifying the delIptablesEipQueue and delOvnEipQueue to enqueue full objects instead of just keys, and updating their initialization to use a nil rate limiter. The logic for adding and removing finalizers has been centralized into new handleAddOrUpdate*Finalizer functions for IP, OvnEip, and Vip resources, which now explicitly trigger subnet status updates. Consequently, direct subnet status updates and resource cleanup logic have been removed from enqueue* and handleDel* functions, as these operations are now managed by the finalizer handlers during resource deletion or creation/update. Additionally, the slices package import was removed from pkg/controller/ip.go, and label management for OvnEip and Vip resources has been streamlined to occur during the main update call rather than through separate patch operations. An e2e test case was also added to verify VIP creation and deletion correctly updates subnet status via finalizer handlers.

@zbb88888 zbb88888 force-pushed the fix-ip-range branch 2 times, most recently from 02a3fd9 to 90992e0 Compare December 9, 2025 01:37
@coveralls
Copy link
Copy Markdown

coveralls commented Dec 9, 2025

Pull Request Test Coverage Report for Build 20299792163

Details

  • 40 of 567 (7.05%) changed or added relevant lines in 23 files are covered.
  • 25 unchanged lines in 7 files lost coverage.
  • Overall coverage decreased (-0.06%) to 22.303%

Changes Missing Coverage Covered Lines Changed/Added Lines %
pkg/controller/admin_network_policy.go 0 1 0.0%
pkg/controller/baseline_admin_network_policy.go 0 1 0.0%
pkg/controller/cluster_network_policy.go 0 1 0.0%
pkg/controller/dns_name_resolver.go 0 1 0.0%
pkg/controller/service.go 0 1 0.0%
pkg/controller/controller.go 0 2 0.0%
pkg/controller/ippool.go 0 2 0.0%
pkg/controller/qos_policy.go 0 2 0.0%
pkg/controller/vpc_egress_gateway.go 0 2 0.0%
pkg/controller/pod.go 0 3 0.0%
Files with Coverage Reduction New Missed Lines %
pkg/controller/ovn_dnat.go 2 0.0%
pkg/controller/ovn_fip.go 2 0.0%
pkg/controller/ovn_snat.go 2 0.0%
pkg/controller/vip.go 4 0.0%
pkg/controller/vpc_nat_gw_eip.go 4 0.0%
pkg/controller/ip.go 5 0.0%
pkg/controller/ovn_eip.go 6 0.0%
Totals Coverage Status
Change from base Build 20258645331: -0.06%
Covered Lines: 11820
Relevant Lines: 52998

💛 - Coveralls

@zbb88888
Copy link
Copy Markdown
Collaborator Author

/genimi review

@zbb88888
Copy link
Copy Markdown
Collaborator Author

/gemini summary

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

This pull request significantly improves the robustness and consistency of IP-related resource management within the controller. It centralizes deletion logic, ensures proper finalizer handling, and enhances subnet status synchronization, preventing resource leaks and maintaining data integrity. The changes also introduce comprehensive new end-to-end tests to validate these critical improvements across various IP-related custom resources.

Highlights

  • Refactored Resource Deletion Logic: The handling of IP, OvnEip, IptablesEIP, and Vip resource deletions has been significantly refactored. Cleanup operations, including IPAM release and associated network resource deletion, are now centralized within the respective handleUpdate functions when a resource is marked for deletion (has a DeletionTimestamp). This ensures that resources are properly cleaned up before their finalizers are removed.
  • Consistent Finalizer Management: Finalizers are now consistently applied and managed for IP, OvnEip, IptablesEIP, and Vip resources. New handleAddOrUpdate*Finalizer functions have been introduced to ensure finalizers are added when resources are created or updated, and removed only after all cleanup operations are complete. This prevents resources from being prematurely deleted by Kubernetes.
  • Improved Subnet Status Update Reliability: Subnet status updates are now explicitly triggered by finalizer addition/removal and, as a safety net, during direct deletion handling (e.g., in handleDelIP, handleDelOvnEip, handleDelVirtualIP, handleDelIptablesEip, and handleDeletePod). This ensures that IP allocation and release are accurately reflected in subnet status, even in race conditions or direct API deletions.
  • Enhanced Type Safety for Delete Queues: The delIptablesEipQueue and delOvnEipQueue in pkg/controller/controller.go have been updated to use typed interfaces, now enqueuing the full *kubeovnv1.IptablesEIP and *kubeovnv1.OvnEip objects instead of just string keys. This improves type safety and allows handlers to directly access resource details.
  • Consolidated Label Updates: The logic for updating labels on OvnEip, IptablesEIP, and Vip resources has been consolidated. Instead of separate patch operations for labels, label updates are now applied directly within the main Update call for the resource, simplifying the update process.
  • New E2E Test for IP CR Lifecycle: A new end-to-end conformance test (test/e2e/ip/e2e_test.go) has been added to verify the correct behavior of IP CR creation and deletion, including finalizer management and accurate subnet status updates.
  • New E2E Test for IptablesEIP Lifecycle: Existing E2E tests for iptables-vpc-nat-gw have been extended to include conformance tests for IptablesEIP lifecycle, ensuring finalizer and subnet status updates are correct, and that deletion is blocked when the EIP is in use by NAT rules.
  • New E2E Test for OvnEip Lifecycle: Existing E2E tests for ovn-vpc-nat-gw have been extended to include conformance tests for OvnEip lifecycle, ensuring finalizer and subnet status updates are correct, and that deletion is blocked when the OvnEip is in use by NAT rules.
  • New E2E Test for VIP Subnet Status: A new end-to-end conformance test has been added to verify the correct behavior of VIP creation and deletion with respect to subnet status updates and finalizer management. This test explicitly checks IP counts and ranges before and after VIP lifecycle events.
  • New E2E Test for QoS Policy with EIP: A new E2E test (test/e2e/iptables-eip-qos/e2e_test.go) has been added to validate QoS policies for VPC NAT Gateway, EIPs, and IP-specific QoS rules.
Changelog
  • makefiles/e2e.mk
    • Added ginkgo build for test/e2e/ip.
    • Introduced new ip-conformance-e2e, iptables-eip-conformance-e2e, and iptables-eip-qos-conformance-e2e targets.
    • Modified iptables-vpc-nat-gw-conformance-e2e to call the new iptables-eip-conformance-e2e and iptables-eip-qos-conformance-e2e targets.
  • pkg/controller/controller.go
    • Updated delIptablesEipQueue and delOvnEipQueue to use typed interfaces (*kubeovnv1.IptablesEIP and *kubeovnv1.OvnEip) for improved type safety.
  • pkg/controller/ip.go
    • Removed the slices import.
    • Removed direct updateSubnetStatusQueue.Add calls from enqueueAddIP and enqueueUpdateIP.
    • Integrated handleAddOrUpdateIPFinalizer calls into handleAddReservedIP and handleUpdateIP.
    • Modified handleDelIP to conditionally add to updateSubnetStatusQueue and removed verbose logging for attach subnets.
    • Added the handleAddOrUpdateIPFinalizer function.
    • Added updateSubnetStatusQueue.Add calls after finalizer addition/removal in handleAddOrUpdateIPFinalizer and handleDelIPFinalizer.
    • Removed Finalizers from createOrUpdateIPCR initial object creation and AddFinalizer from its update path.
  • pkg/controller/ovn_dnat.go
    • Modified enqueueUpdateOvnDnatRule to enqueue to updateOvnDnatRuleQueue for deleting DNATs with finalizers.
    • Added deletion handling logic to handleUpdateOvnDnatRule for DNATs with DeletionTimestamp, including resource cleanup and finalizer removal.
    • Added resetOvnEipQueue call after DNAT deletion.
    • Added updateOvnEipQueue call in handleDelOvnDnatFinalizer to trigger EIP recheck.
  • pkg/controller/ovn_eip.go
    • Modified enqueueUpdateOvnEip to enqueue to updateOvnEipQueue for deleting EIPs with finalizers.
    • Changed enqueueDelOvnEip to enqueue the full eip object instead of just its key.
    • Renamed handleAddOvnEipFinalizer to handleAddOrUpdateOvnEipFinalizer.
    • Removed updateSubnetStatusQueue.Add from handleAddOvnEip.
    • Added deletion handling logic to handleUpdateOvnEip for EIPs with DeletionTimestamp, including checking for NAT rule usage, resource cleanup, IPAM release, and finalizer removal.
    • Modified handleDelOvnEip to handle EIPs deleted without finalizers, performing resource cleanup, IPAM release, and subnet status update.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateOvnEipFinalizer and handleDelOvnEipFinalizer.
    • Consolidated label updates within createOrUpdateOvnEipCR.
  • pkg/controller/ovn_fip.go
    • Modified enqueueUpdateOvnFip to enqueue to updateOvnFipQueue for deleting FIPs with finalizers.
    • Added deletion handling logic to handleUpdateOvnFip for FIPs with DeletionTimestamp, including resource cleanup, finalizer removal, and resetOvnEipQueue call.
    • Added updateOvnEipQueue call in handleDelOvnFipFinalizer to trigger EIP recheck.
  • pkg/controller/ovn_snat.go
    • Modified enqueueUpdateOvnSnatRule to enqueue to updateOvnSnatRuleQueue for deleting SNATs with finalizers.
    • Added deletion handling logic to handleUpdateOvnSnatRule for SNATs with DeletionTimestamp, including resource cleanup, finalizer removal, and resetOvnEipQueue call.
    • Added updateOvnEipQueue call in handleDelOvnSnatFinalizer to trigger EIP recheck.
  • pkg/controller/pod.go
    • Added updateSubnetStatusQueue.Add call after ipam.ReleaseAddressByNic in handleDeletePod.
  • pkg/controller/vip.go
    • Added handleAddOrUpdateVipFinalizer calls in handleAddVirtualIP.
    • Added deletion handling logic to handleUpdateVirtualIP for VIPs with DeletionTimestamp, including resource cleanup, IPAM release, and finalizer removal.
    • Modified handleDelVirtualIP to primarily update subnet status, as cleanup is now handled in handleUpdateVirtualIP.
    • Renamed handleAddVipFinalizer to handleAddOrUpdateVipFinalizer.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateVipFinalizer and handleDelVipFinalizer.
    • Removed updateSubnetStatusQueue.Add from createOrUpdateVipCR and podReuseVip.
    • Consolidated label updates within createOrUpdateVipCR.
  • pkg/controller/vpc_nat_gw_eip.go
    • Removed updateSubnetStatusQueue.Add calls from enqueueUpdateIptablesEip and enqueueDelIptablesEip.
    • Changed enqueueDelIptablesEip to enqueue the full eip object instead of just its key.
    • Added handleAddOrUpdateIptablesEipFinalizer call in handleAddIptablesEip.
    • Added deletion handling logic to handleUpdateIptablesEip for EIPs with DeletionTimestamp, including checking for NAT rule usage, IPAM release, and finalizer removal.
    • Modified handleDelIptablesEip to handle EIPs deleted without finalizers, performing subnet status update.
    • Renamed handleAddIptablesEipFinalizer to handleAddOrUpdateIptablesEipFinalizer.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateIptablesEipFinalizer and handleDelIptablesEipFinalizer.
    • Consolidated label updates within createOrUpdateEipCR.
  • test/e2e/framework/vpc-nat-gateway.go
    • Added MakeVpcNatGatewayWithNoDefaultEIP function to create VPC NAT Gateways with the NoDefaultEIP option.
  • test/e2e/ip/e2e_test.go
    • New file added, containing conformance tests for IP CR lifecycle, finalizer management, and subnet status updates.
  • test/e2e/iptables-eip-qos/e2e_test.go
    • New file added, containing conformance tests for QoS policies related to VPC NAT Gateway, EIPs, and IP-specific QoS rules.
  • test/e2e/iptables-vpc-nat-gw/e2e_test.go
    • Modified setupNetworkAttachmentDefinition to handle existing NADs and subnets.
    • Added waitForIptablesEIPReady and verifySubnetStatusAfterEIPOperation helper functions.
    • Added conformance tests for IptablesEIP lifecycle with finalizer and subnet status update, and blocking IptablesEIP deletion when used by NAT rules.
    • Included a test for VPC NAT Gateway with no IPAM NAD and noDefaultEIP.
    • Updated the vpc-nat-gateway image version to v1.14.19.
    • Corrected shared EIP NAT rule deletion names.
  • test/e2e/ovn-vpc-nat-gw/e2e_test.go
    • Modified BeforeEach to use randomSuffix for all test resource names.
    • Modified itFn to handle existing provider networks.
    • Modified BeforeEach to handle existing VLANs and subnets.
    • Added waitForOvnEipReady helper function.
    • Added conformance tests for OvnEip lifecycle with finalizer and subnet status update, and blocking OvnEip deletion when used by NAT rules.
  • test/e2e/vip/e2e_test.go
    • Added a new conformance test 'Test vip subnet status update with finalizer' to verify VIP creation/deletion and subnet status updates.
    • Modified the existing 'Test vip' to explicitly wait for finalizer and subnet status updates.
Activity
  • gemini-code-assist[bot] provided an initial summary of changes.
  • coveralls posted a test coverage report, noting a potential inaccuracy due to the base commit no longer being HEAD.
  • zbb88888 requested a /genimi review.
  • zbb88888 requested a /gemini summary.

@zbb88888 zbb88888 marked this pull request as ready for review December 13, 2025 12:29
@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. bug Something isn't working test automation tests labels Dec 13, 2025
@zbb88888
Copy link
Copy Markdown
Collaborator Author

/genimi review

@zbb88888
Copy link
Copy Markdown
Collaborator Author

/gemini summary

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

This pull request significantly enhances the robustness and consistency of IP-related resource management within the controller. It introduces a more robust and centralized approach to handling resource deletion and finalizers, ensuring that network resources are properly cleaned up and IPAM statuses are accurately reflected. This prevents resource leaks and improves data consistency, supported by new and extended end-to-end tests that validate these critical improvements across various IP-related custom resources.

Highlights

  • Refactored Resource Deletion Logic: The handling of IP, OvnEip, IptablesEIP, and Vip resource deletions has been significantly refactored. Cleanup operations, including IPAM release and associated network resource deletion, are now centralized within the respective handleUpdate functions when a resource is marked for deletion (has a DeletionTimestamp). This ensures that resources are properly cleaned up before their finalizers are removed.
  • Consistent Finalizer Management: Finalizers are now consistently applied and managed for IP, OvnEip, IptablesEIP, and Vip resources. New handleAddOrUpdate*Finalizer functions have been introduced to ensure finalizers are added when resources are created or updated, and removed only after all cleanup operations are complete. Deprecated finalizers are also explicitly removed.
  • Improved Subnet Status Update Reliability: Subnet status updates are now explicitly triggered by finalizer addition/removal and, as a safety net, during direct deletion handling (e.g., in handleDelIP, handleDelOvnEip, handleDelVirtualIP, handleDelIptablesEip, and handleDeletePod). This ensures that IP allocation and release are accurately reflected in subnet status, even in race conditions or direct API deletions.
  • Enhanced Type Safety for Delete Queues: The delIptablesEipQueue and delOvnEipQueue in pkg/controller/controller.go have been updated to use typed interfaces, now enqueuing the full *kubeovnv1.IptablesEIP and *kubeovnv1.OvnEip objects instead of just string keys. This improves type safety and allows handlers to directly access resource details.
  • Consolidated Label Updates: The logic for updating labels on OvnEip, IptablesEIP, and Vip resources has been consolidated. Instead of separate patch operations for labels, label updates are now applied directly within the main Update call for the resource, simplifying the update process.
  • New and Extended E2E Tests: New end-to-end conformance tests have been added for IP CR lifecycle (test/e2e/ip/e2e_test.go) and QoS policies with EIPs (test/e2e/iptables-eip-qos/e2e_test.go). Existing E2E tests for iptables-vpc-nat-gw, ovn-vpc-nat-gw, and vip have been extended to validate finalizer management, subnet status updates, and deletion blocking for IP, EIP, and VIP resources.
Changelog
  • makefiles/e2e.mk
    • Added ginkgo build for test/e2e/ip.
    • Introduced new ip-conformance-e2e, iptables-eip-conformance-e2e, and iptables-eip-qos-conformance-e2e targets.
    • Modified iptables-vpc-nat-gw-conformance-e2e to call the new iptables-eip-conformance-e2e and iptables-eip-qos-conformance-e2e targets.
  • pkg/controller/controller.go
    • Updated delIptablesEipQueue and delOvnEipQueue to use typed interfaces (*kubeovnv1.IptablesEIP and *kubeovnv1.OvnEip) for improved type safety.
  • pkg/controller/ip.go
    • Removed the slices import.
    • Removed direct updateSubnetStatusQueue.Add calls from enqueueAddIP and enqueueUpdateIP.
    • Integrated handleAddOrUpdateIPFinalizer calls into handleAddReservedIP and handleUpdateIP.
    • Modified handleDelIP to conditionally add to updateSubnetStatusQueue and removed verbose logging for attach subnets.
    • Added the handleAddOrUpdateIPFinalizer function.
    • Added updateSubnetStatusQueue.Add calls after finalizer addition/removal in handleAddOrUpdateIPFinalizer and handleDelIPFinalizer.
    • Removed Finalizers from createOrUpdateIPCR initial object creation and AddFinalizer from its update path.
  • pkg/controller/ippool.go
    • Added controllerutil.RemoveFinalizer(newIPPool, util.DepreciatedFinalizerName) before adding the current finalizer.
  • pkg/controller/ovn_dnat.go
    • Modified enqueueUpdateOvnDnatRule to enqueue to updateOvnDnatRuleQueue for deleting DNATs with finalizers.
    • Added deletion handling logic to handleUpdateOvnDnatRule for DNATs with DeletionTimestamp, including resource cleanup and finalizer removal.
    • Added updateOvnEipQueue call in handleDelOvnDnatFinalizer to trigger EIP recheck.
    • Added controllerutil.RemoveFinalizer(newDnat, util.DepreciatedFinalizerName) before adding the current finalizer.
  • pkg/controller/ovn_eip.go
    • Modified enqueueUpdateOvnEip to enqueue to updateOvnEipQueue for deleting EIPs with finalizers.
    • Changed enqueueDelOvnEip to enqueue the full eip object instead of just its key.
    • Renamed handleAddOvnEipFinalizer to handleAddOrUpdateOvnEipFinalizer.
    • Removed updateSubnetStatusQueue.Add from handleAddOvnEip.
    • Added deletion handling logic to handleUpdateOvnEip for EIPs with DeletionTimestamp, including checking for NAT rule usage, resource cleanup, IPAM release, and finalizer removal.
    • Modified handleDelOvnEip to handle EIPs deleted without finalizers, performing resource cleanup, IPAM release, and subnet status update.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateOvnEipFinalizer and handleDelOvnEipFinalizer.
    • Consolidated label updates within createOrUpdateOvnEipCR.
    • Added controllerutil.RemoveFinalizer(newEip, util.DepreciatedFinalizerName) before adding the current finalizer.
  • pkg/controller/ovn_fip.go
    • Modified enqueueUpdateOvnFip to enqueue to updateOvnFipQueue for deleting FIPs with finalizers.
    • Added deletion handling logic to handleUpdateOvnFip for FIPs with DeletionTimestamp, including resource cleanup, finalizer removal, and resetOvnEipQueue call.
    • Added updateOvnEipQueue call in handleDelOvnFipFinalizer to trigger EIP recheck.
    • Added controllerutil.RemoveFinalizer(newFip, util.DepreciatedFinalizerName) before adding the current finalizer.
  • pkg/controller/ovn_snat.go
    • Modified enqueueUpdateOvnSnatRule to enqueue to updateOvnSnatRuleQueue for deleting SNATs with finalizers.
    • Added deletion handling logic to handleUpdateOvnSnatRule for SNATs with DeletionTimestamp, including resource cleanup, finalizer removal, and resetOvnEipQueue call.
    • Added updateOvnEipQueue call in handleDelOvnSnatFinalizer to trigger EIP recheck.
    • Added controllerutil.RemoveFinalizer(newSnat, util.DepreciatedFinalizerName) before adding the current finalizer.
  • pkg/controller/pod.go
    • Added updateSubnetStatusQueue.Add call after ipam.ReleaseAddressByNic in handleDeletePod.
  • pkg/controller/qos_policy.go
    • Added controllerutil.RemoveFinalizer(newQoSPolicies, util.DepreciatedFinalizerName) in handleDelQoSPoliciesFinalizer.
    • Added controllerutil.RemoveFinalizer(newQoSPolicy, util.DepreciatedFinalizerName) in handleAddQoSPolicyFinalizer.
  • pkg/controller/subnet.go
    • Added controllerutil.RemoveFinalizer(newSubnet, util.DepreciatedFinalizerName) in handleSubnetFinalizer for both add and remove finalizer paths.
  • pkg/controller/vip.go
    • Added handleAddOrUpdateVipFinalizer calls in handleAddVirtualIP.
    • Added deletion handling logic to handleUpdateVirtualIP for VIPs with DeletionTimestamp, including resource cleanup, IPAM release, and finalizer removal.
    • Modified handleDelVirtualIP to primarily update subnet status, as cleanup is now handled in handleUpdateVirtualIP.
    • Renamed handleAddVipFinalizer to handleAddOrUpdateVipFinalizer.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateVipFinalizer and handleDelVipFinalizer.
    • Removed updateSubnetStatusQueue.Add from createOrUpdateVipCR and podReuseVip.
    • Consolidated label updates within createOrUpdateVipCR.
    • Added controllerutil.RemoveFinalizer(newVip, util.DepreciatedFinalizerName) before adding/removing the current finalizer.
  • pkg/controller/vpc.go
    • Added controllerutil.RemoveFinalizer(vpc, util.DepreciatedFinalizerName) in formatVpc for both add and remove finalizer paths.
  • pkg/controller/vpc_egress_gateway.go
    • Added controllerutil.RemoveFinalizer(gw, util.DepreciatedFinalizerName) in handleAddOrUpdateVpcEgressGateway and handleDelVpcEgressGateway.
  • pkg/controller/vpc_nat_gw_eip.go
    • Removed updateSubnetStatusQueue.Add calls from enqueueUpdateIptablesEip and enqueueDelIptablesEip.
    • Changed enqueueDelIptablesEip to enqueue the full eip object instead of just its key.
    • Added handleAddOrUpdateIptablesEipFinalizer call in handleAddIptablesEip.
    • Added deletion handling logic to handleUpdateIptablesEip for EIPs with DeletionTimestamp, including checking for NAT rule usage, IPAM release, and finalizer removal.
    • Modified handleDelIptablesEip to handle EIPs deleted without finalizers, performing subnet status update.
    • Renamed handleAddIptablesEipFinalizer to handleAddOrUpdateIptablesEipFinalizer.
    • Added updateSubnetStatusQueue.Add calls in handleAddOrUpdateIptablesEipFinalizer and handleDelIptablesEipFinalizer.
    • Consolidated label updates within createOrUpdateEipCR.
    • Added controllerutil.RemoveFinalizer(newIptablesEip, util.DepreciatedFinalizerName) before adding/removing the current finalizer.
  • test/e2e/framework/vpc-nat-gateway.go
    • Added MakeVpcNatGatewayWithNoDefaultEIP function to create VPC NAT Gateways with the NoDefaultEIP option.
  • test/e2e/ip/e2e_test.go
    • New file added, containing conformance tests for IP CR lifecycle, finalizer management, and subnet status updates.
  • test/e2e/iptables-eip-qos/e2e_test.go
    • New file added, containing conformance tests for QoS policies related to VPC NAT Gateway, EIPs, and IP-specific QoS rules.
  • test/e2e/iptables-vpc-nat-gw/e2e_test.go
    • Modified setupNetworkAttachmentDefinition to handle existing NADs and subnets.
    • Added waitForIptablesEIPReady and verifySubnetStatusAfterEIPOperation helper functions.
    • Added conformance tests for IptablesEIP lifecycle with finalizer and subnet status update, and blocking IptablesEIP deletion when used by NAT rules.
    • Included a test for VPC NAT Gateway with no IPAM NAD and noDefaultEIP.
    • Updated the vpc-nat-gateway image version to v1.14.19.
    • Corrected shared EIP NAT rule deletion names.
  • test/e2e/ovn-vpc-nat-gw/e2e_test.go
    • Modified BeforeEach to use randomSuffix for all test resource names.
    • Modified itFn to handle existing provider networks.
    • Modified BeforeEach to handle existing VLANs and subnets.
    • Added waitForOvnEipReady helper function.
    • Added conformance tests for OvnEip lifecycle with finalizer and subnet status update, and blocking OvnEip deletion when used by NAT rules.
  • test/e2e/vip/e2e_test.go
    • Added a new conformance test 'Test vip subnet status update with finalizer' to verify VIP creation/deletion and subnet status updates.
    • Modified the existing 'Test vip' to explicitly wait for finalizer and subnet status updates.
Activity
  • gemini-code-assist[bot] provided an initial summary of changes.
  • coveralls posted a test coverage report, noting a potential inaccuracy due to the base commit no longer being HEAD.
  • zbb88888 requested a /genimi review.
  • zbb88888 requested a /gemini summary.
  • zbb88888 requested a /genimi review.
  • zbb88888 requested a /gemini summary.

@zbb88888
Copy link
Copy Markdown
Collaborator Author

image

@oilbeater 大佬,有空帮忙review一下,上面那个报错,感觉和master 的代码有关系? 我并没有涉及改动这些文件

@zbb88888
Copy link
Copy Markdown
Collaborator Author

image

@zbb88888
Copy link
Copy Markdown
Collaborator Author

zbb88888 commented Dec 14, 2025

ovn vpc nat gw e2e 测试失败

作用: 每次测试运行使用不同的网络名称,避免与之前运行遗留的网络冲突。


问题根本原因

不是并发测试创建同一个网络,而是:

  1. 测试文件中有 3 个测试用例共享同一个 Docker 网络
  2. 之前的 AfterEach 只断开网络连接,但不删除网络
  3. 当测试失败或手动重跑时,遗留的网络会导致下次运行失败
  4. 原来的代码虽然传入了 skipIfExists=true,但 NetworkCreate 函数在遇到 "already exists" 错误时直接返回错误,没有处理这种情况

三层防护

现在的代码有三层防护:

  1. 幂等性:NetworkCreate 能处理网络已存在的情况
  2. 清理机制:AfterEach 确保删除网络
  3. 唯一命名:每次运行使用不同的网络名称

这样即使某一层失败,其他层也能保证测试的稳定性。

  1. 在你的测试场景中

从你的输出:
f4dba081039d kube-ovn-vlan bridge local
64d85812782f kube-ovn-extra-vlan bridge local

当前情况:

  • kube-ovn-vlan: 172.21.0.0/16
  • kube-ovn-extra-vlan: 172.22.0.0/16
  • 这两个网络 CIDR 不重叠,可以共存 ✅

不同测试流水线的情况:

假设有两个并行的测试流水线:

场景 是否会冲突 原因
流水线A和B在不同主机 ❌ 不冲突 Docker 网络是主机级别的,完全隔离
流水线A和B在同一主机,使用相同网络名 ✅ 会冲突 Docker 不允许同名网络
流水线A和B在同一主机,使用不同网络名但相同CIDR ✅ 会冲突 Docker 不允许 CIDR 重叠
流水线A和B顺序执行(A清理后B开始) ❌ 不冲突 删除后可以重建同名网络

@zbb88888
Copy link
Copy Markdown
Collaborator Author


🎯 解决的问题

原有方案的局限性

方案 问题 解决程度
方案1:网络名称随机化 CIDR 固定,无法并发 ⚠️ 部分解决
方案2:AfterEach 清理 清理失败仍会冲突 ⚠️ 部分解决
方案3(旧):名称唯一 CIDR 重叠无法创建 ❌ 无法解决

新方案的优势

特性 说明 价值
CIDR 随机化 每次运行使用不同的 /24 子网 ✅ 支持并发
网段复用 在 172.28.0.0/16 内复用 ✅ 节省地址空间
冲突避免 同一次生成的子网不重复 ✅ 避免内部冲突
并发能力 支持 128 个并发测试 ✅ 满足 CI/CD 需求
资源优化 从 /16 降级到 /24 ✅ 减少浪费

📈 对比分析

修改前:
测试1: kube-ovn-vlan (172.21.0.0/16) - 65534 个 IP
测试1: kube-ovn-extra-vlan (172.22.0.0/16) - 65534 个 IP
总计: 131068 个 IP,仅支持顺序运行

修改后:
测试1: kube-ovn-vlan-abc123 (172.28.155.0/24) - 254 个 IP
测试1: kube-ovn-extra-vlan-abc123 (172.28.220.0/24) - 254 个 IP

测试2: kube-ovn-vlan-def456 (172.28.8.0/24) - 254 个 IP
测试2: kube-ovn-extra-vlan-def456 (172.28.41.0/24) - 254 个 IP

...最多支持 128 个并发测试
总容量: 256 个 /24 子网 = 65024 个 IP

优化效果:

  • 🔽 单次测试占用 IP 数量:131068 → 508 (减少 99.6%)
  • 🔼 并发能力:1 → 128 (提升 12700%)
  • ✅ 完全解决 CIDR 重叠问题

@zbb88888
Copy link
Copy Markdown
Collaborator Author

zbb88888 commented Dec 14, 2025

测试场景

场景 默认 "external" 子网存在 ConfigMap external-gw-switch 结果 错误/警告
1 未指定 使用默认名 "external" 后续报:子网不存在
2 未指定 使用默认 "external"
3 custom-ext 使用 custom-ext
4 custom-ext (不同名) ❌ 报错 配置冲突错误
5 external (同名) 使用默认 "external"

@zbb88888
Copy link
Copy Markdown
Collaborator Author

OVN VPC NAT GW e2e 之前只有一个用例,现有三个,所以标识为串行用例。

奇怪的是我自测默认都是串行,github 默认都是并行。感觉有这个差异 @oilbeater @zhangzujian

@zbb88888
Copy link
Copy Markdown
Collaborator Author

zbb88888 commented Dec 15, 2025

有一个 ovn-vpc-nat 测试用例会出现 ovn-central 重启的问题,但是 e2e 已经成功测试完了。我查了一下 log 感觉和 cat ovn-northd.log | grep -v INFO 有关。

需要单独修复下 @oilbeater

单独记录了一个 issue: #6053

killed (Segmentation fault)

root@kube-ovn-control-plane:/var/log/ovn# cat ovn-northd.log
2025-12-15T03:03:56.393Z|00001|vlog|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:03:56.394Z|00002|ovn_northd|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:03:56.394Z|00002|vlog(monitor)|INFO|closing log file
2025-12-15T03:03:56.395Z|00003|reconnect|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:03:56.395Z|00004|reconnect|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:03:56.395Z|00005|ovn_northd|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:03:56.395Z|00006|reconnect|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:03:56.395Z|00007|reconnect|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:03:56.395Z|00008|ovn_northd|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:03:56.395Z|00009|ovn_northd|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:03:56.399Z|00010|ovn_northd|INFO|OVNNB commit failed, force recompute next time.
2025-12-15T03:03:56.461Z|00011|ovn_northd|INFO|ovn-northd lock lost. This ovn-northd instance is now on standby.
2025-12-15T03:03:57.462Z|00012|ovn_northd|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:04:06.420Z|00013|memory|INFO|10720 kB peak resident set size after 10.0 seconds
2025-12-15T03:04:06.420Z|00014|memory|INFO|idl-cells-OVN_Northbound:12 idl-cells-OVN_Southbound:189
2025-12-15T03:04:09.453Z|00015|northd|WARN|No path for static route 0.0.0.0/0 on router ovn-cluster; next hop 100.64.0.1
2025-12-15T03:05:26.064Z|00016|memory_trim|INFO|Detected inactivity (last active 30002 ms ago): trimming memory
2025-12-15T03:08:09.994Z|00017|memory_trim|INFO|Detected inactivity (last active 30000 ms ago): trimming memory
2025-12-15T03:09:18.449Z|00018|northd|WARN|Dropped 3 log messages in last 309 seconds (most recently, 309 seconds ago) due to excessive rate
2025-12-15T03:09:18.449Z|00019|northd|WARN|No path for static route 192.168.3.0/24 on router no-bfd-vpc-125016627; next hop 172.28.133.1
2025-12-15T03:10:22.072Z|00020|memory_trim|INFO|Detected inactivity (last active 30002 ms ago): trimming memory
2025-12-15T03:12:59.176Z|00003|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:12:59.177Z|00004|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x2b8) [0x7f34c69412d8]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:12:59.177Z|00005|daemon_unix(monitor)|ERR|1 crashes: pid 495 died, killed (Segmentation fault), restarting
2025-12-15T03:12:59.177Z|00006|vlog(monitor)|INFO|closing log file
2025-12-15T03:12:59.177Z|00006|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:12:59.178Z|00007|memory(ovn-northd)|INFO|6648 kB peak resident set size after 542.8 seconds
2025-12-15T03:12:59.178Z|00008|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:12:59.178Z|00009|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:12:59.178Z|00010|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:12:59.178Z|00011|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:12:59.178Z|00012|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:12:59.178Z|00013|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:12:59.179Z|00014|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:12:59.189Z|00007|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:12:59.190Z|00008|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:12:59.190Z|00009|daemon_unix(monitor)|WARN|2 crashes: pid 8777 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:09.190Z|00010|daemon_unix(monitor)|ERR|2 crashes: pid 8777 died, killed (Segmentation fault), restarting
2025-12-15T03:13:09.191Z|00011|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:09.191Z|00011|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:09.191Z|00012|memory(ovn-northd)|INFO|5456 kB peak resident set size after 552.8 seconds
2025-12-15T03:13:09.191Z|00013|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:09.191Z|00014|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:09.191Z|00015|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:09.191Z|00016|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:09.191Z|00017|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:09.191Z|00018|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:09.191Z|00019|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:09.202Z|00012|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:09.203Z|00013|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:09.203Z|00014|daemon_unix(monitor)|WARN|3 crashes: pid 8803 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:19.203Z|00015|daemon_unix(monitor)|ERR|3 crashes: pid 8803 died, killed (Segmentation fault), restarting
2025-12-15T03:13:19.203Z|00016|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:19.203Z|00016|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:19.204Z|00017|memory(ovn-northd)|INFO|5456 kB peak resident set size after 562.8 seconds
2025-12-15T03:13:19.204Z|00018|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:19.204Z|00019|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:19.204Z|00020|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:19.204Z|00021|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:19.204Z|00022|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:19.204Z|00023|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:19.204Z|00024|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:19.214Z|00017|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:19.215Z|00018|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:19.215Z|00019|daemon_unix(monitor)|WARN|4 crashes: pid 8848 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:29.215Z|00020|daemon_unix(monitor)|ERR|4 crashes: pid 8848 died, killed (Segmentation fault), restarting
2025-12-15T03:13:29.215Z|00021|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:29.215Z|00021|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:29.216Z|00022|memory(ovn-northd)|INFO|5456 kB peak resident set size after 572.8 seconds
2025-12-15T03:13:29.216Z|00023|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:29.216Z|00024|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:29.216Z|00025|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:29.216Z|00026|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:29.216Z|00027|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:29.216Z|00028|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:29.216Z|00029|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:29.226Z|00022|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:29.227Z|00023|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:29.227Z|00024|daemon_unix(monitor)|WARN|5 crashes: pid 8897 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:39.227Z|00025|daemon_unix(monitor)|ERR|5 crashes: pid 8897 died, killed (Segmentation fault), restarting
2025-12-15T03:13:39.227Z|00026|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:39.227Z|00026|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:39.228Z|00027|memory(ovn-northd)|INFO|5456 kB peak resident set size after 582.8 seconds
2025-12-15T03:13:39.228Z|00028|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:39.228Z|00029|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:39.228Z|00030|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:39.228Z|00031|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:39.228Z|00032|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:39.228Z|00033|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:39.228Z|00034|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:39.239Z|00027|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:39.240Z|00028|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:39.240Z|00029|daemon_unix(monitor)|WARN|6 crashes: pid 8933 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:49.240Z|00030|daemon_unix(monitor)|ERR|6 crashes: pid 8933 died, killed (Segmentation fault), restarting
2025-12-15T03:13:49.240Z|00031|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:49.240Z|00031|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:49.241Z|00032|memory(ovn-northd)|INFO|5456 kB peak resident set size after 592.8 seconds
2025-12-15T03:13:49.241Z|00033|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:49.241Z|00034|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:49.241Z|00035|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:49.241Z|00036|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:49.241Z|00037|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:49.241Z|00038|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:49.242Z|00039|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:49.251Z|00032|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:49.252Z|00033|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:49.252Z|00034|daemon_unix(monitor)|WARN|7 crashes: pid 8984 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:59.252Z|00035|daemon_unix(monitor)|ERR|7 crashes: pid 8984 died, killed (Segmentation fault), restarting
2025-12-15T03:13:59.253Z|00036|vlog(monitor)|INFO|closing log file
2025-12-15T03:13:59.253Z|00036|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:13:59.253Z|00037|memory(ovn-northd)|INFO|5456 kB peak resident set size after 602.9 seconds
2025-12-15T03:13:59.253Z|00038|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:13:59.253Z|00039|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:13:59.253Z|00040|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:13:59.253Z|00041|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:13:59.253Z|00042|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:13:59.253Z|00043|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:13:59.254Z|00044|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:13:59.264Z|00037|vlog(monitor)|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:13:59.264Z|00038|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:59.264Z|00039|daemon_unix(monitor)|WARN|8 crashes: pid 9034 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:14:09.264Z|00040|daemon_unix(monitor)|ERR|8 crashes: pid 9034 died, killed (Segmentation fault), restarting
2025-12-15T03:14:09.265Z|00041|vlog(monitor)|INFO|closing log file
2025-12-15T03:14:09.265Z|00041|ovn_northd(ovn-northd)|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:14:09.265Z|00042|memory(ovn-northd)|INFO|5456 kB peak resident set size after 612.9 seconds
2025-12-15T03:14:09.265Z|00043|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:14:09.265Z|00044|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6641: connection attempt failed (Connection refused)
2025-12-15T03:14:09.265Z|00045|ovn_northd(ovn-northd)|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:14:09.265Z|00046|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:14:09.265Z|00047|reconnect(ovn-northd)|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:14:09.265Z|00048|ovn_northd(ovn-northd)|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:14:09.266Z|00049|ovn_northd(ovn-northd)|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:14:09.319Z|00050|ovn_northd(ovn-northd)|INFO|OVNSB commit failed, force recompute next time.
2025-12-15T03:14:09.320Z|00051|jsonrpc(ovn-northd)|WARN|tcp:[172.18.0.2]:6642: receive error: Connection reset by peer
2025-12-15T03:14:09.320Z|00052|reconnect(ovn-northd)|WARN|tcp:[172.18.0.2]:6642: connection dropped (Connection reset by peer)
2025-12-15T03:14:09.320Z|00053|ovn_northd(ovn-northd)|INFO|ovn-northd lock lost. This ovn-northd instance is now on standby.
2025-12-15T03:14:09.864Z|00001|vlog|INFO|opened log file /var/log/ovn/ovn-northd.log
2025-12-15T03:14:09.865Z|00002|vlog(monitor)|INFO|closing log file
2025-12-15T03:14:09.865Z|00002|ovn_northd|INFO|OVN internal version is : [25.03.3-20.41.0-78.8]
2025-12-15T03:14:09.865Z|00003|reconnect|INFO|tcp:[172.18.0.2]:6641: connecting...
2025-12-15T03:14:09.865Z|00004|reconnect|INFO|tcp:[172.18.0.2]:6641: connected
2025-12-15T03:14:09.865Z|00005|ovn_northd|INFO|OVN NB IDL reconnected, force recompute.
2025-12-15T03:14:09.865Z|00006|reconnect|INFO|tcp:[172.18.0.2]:6642: connecting...
2025-12-15T03:14:09.865Z|00007|reconnect|INFO|tcp:[172.18.0.2]:6642: connected
2025-12-15T03:14:09.865Z|00008|ovn_northd|INFO|OVN SB IDL reconnected, force recompute.
2025-12-15T03:14:09.866Z|00009|ovn_northd|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:14:09.927Z|00010|ovn_northd|INFO|ovn-northd lock lost. This ovn-northd instance is now on standby.
2025-12-15T03:14:10.928Z|00011|ovn_northd|INFO|ovn-northd lock acquired. This ovn-northd instance is now active.
2025-12-15T03:14:20.202Z|00012|memory|INFO|14036 kB peak resident set size after 10.3 seconds
2025-12-15T03:14:20.202Z|00013|memory|INFO|idl-cells-OVN_Northbound:484 idl-cells-OVN_Southbound:4330
2025-12-15T03:15:46.836Z|00014|memory_trim|INFO|Detected inactivity (last active 30000 ms ago): trimming memory
2025-12-15T03:16:51.444Z|00015|memory_trim|INFO|Detected inactivity (last active 30003 ms ago): trimming memory
root@kube-ovn-control-plane:/var/log/ovn# cat ovn-northd.log | grep -v INFO
2025-12-15T03:04:09.453Z|00015|northd|WARN|No path for static route 0.0.0.0/0 on router ovn-cluster; next hop 100.64.0.1
2025-12-15T03:09:18.449Z|00018|northd|WARN|Dropped 3 log messages in last 309 seconds (most recently, 309 seconds ago) due to excessive rate
2025-12-15T03:09:18.449Z|00019|northd|WARN|No path for static route 192.168.3.0/24 on router no-bfd-vpc-125016627; next hop 172.28.133.1
2025-12-15T03:12:59.177Z|00004|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x2b8) [0x7f34c69412d8]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:12:59.177Z|00005|daemon_unix(monitor)|ERR|1 crashes: pid 495 died, killed (Segmentation fault), restarting
2025-12-15T03:12:59.190Z|00008|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:12:59.190Z|00009|daemon_unix(monitor)|WARN|2 crashes: pid 8777 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:09.190Z|00010|daemon_unix(monitor)|ERR|2 crashes: pid 8777 died, killed (Segmentation fault), restarting
2025-12-15T03:13:09.203Z|00013|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:09.203Z|00014|daemon_unix(monitor)|WARN|3 crashes: pid 8803 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:19.203Z|00015|daemon_unix(monitor)|ERR|3 crashes: pid 8803 died, killed (Segmentation fault), restarting
2025-12-15T03:13:19.215Z|00018|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:19.215Z|00019|daemon_unix(monitor)|WARN|4 crashes: pid 8848 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:29.215Z|00020|daemon_unix(monitor)|ERR|4 crashes: pid 8848 died, killed (Segmentation fault), restarting
2025-12-15T03:13:29.227Z|00023|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:29.227Z|00024|daemon_unix(monitor)|WARN|5 crashes: pid 8897 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:39.227Z|00025|daemon_unix(monitor)|ERR|5 crashes: pid 8897 died, killed (Segmentation fault), restarting
2025-12-15T03:13:39.240Z|00028|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:39.240Z|00029|daemon_unix(monitor)|WARN|6 crashes: pid 8933 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:49.240Z|00030|daemon_unix(monitor)|ERR|6 crashes: pid 8933 died, killed (Segmentation fault), restarting
2025-12-15T03:13:49.252Z|00033|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:49.252Z|00034|daemon_unix(monitor)|WARN|7 crashes: pid 8984 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:13:59.252Z|00035|daemon_unix(monitor)|ERR|7 crashes: pid 8984 died, killed (Segmentation fault), restarting
2025-12-15T03:13:59.264Z|00038|backtrace(monitor)|WARN|SIGSEGV detected, backtrace:
/lib/x86_64-linux-gnu/libovn-25.03.so.0(backtrace_capture+0x16) [0x7f34c6aa8656]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(fatal_signal_handler+0x8f) [0x7f34c69c44df]
/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7f34c65bf330]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_row_is_synthetic+0x4) [0x7f34c6a2d1b4]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(ovsdb_idl_txn_delete+0x10) [0x7f34c6a30060]
ovn-northd(+0x3c709) [0x562bb33a4709]
ovn-northd(+0x5156c) [0x562bb33b956c]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(+0x102d35) [0x7f34c6940d35]
/lib/x86_64-linux-gnu/libovn-25.03.so.0(engine_run+0x295) [0x7f34c69412b5]
ovn-northd(+0x6298f) [0x562bb33ca98f]
ovn-northd(+0x1dbb2) [0x562bb3385bb2]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f34c65a41ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f34c65a428b]
ovn-northd(+0x1e845) [0x562bb3386845]
2025-12-15T03:13:59.264Z|00039|daemon_unix(monitor)|WARN|8 crashes: pid 9034 died, killed (Segmentation fault), waiting until 10 seconds since last restart
2025-12-15T03:14:09.264Z|00040|daemon_unix(monitor)|ERR|8 crashes: pid 9034 died, killed (Segmentation fault), restarting
2025-12-15T03:14:09.320Z|00051|jsonrpc(ovn-northd)|WARN|tcp:[172.18.0.2]:6642: receive error: Connection reset by peer
2025-12-15T03:14:09.320Z|00052|reconnect(ovn-northd)|WARN|tcp:[172.18.0.2]:6642: connection dropped (Connection reset by peer)
root@kube-ovn-control-plane:/var/log/ovn#

@zbb88888
Copy link
Copy Markdown
Collaborator Author

ovn-eip-snat 扩展了一个 logical-switch 的指定方式: 允许复用 CRD 维护的 underlay 网络。

kubeovn/docs#370

Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
1. make sure ip CR exist and then update subnet status
2. make sure ipam release ip and ip CR deleted and then update subnet status
3. add e2e for all ip creation and deletion

Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
- Adjusted the wait duration in the OVN VPC NAT Gateway e2e tests to 2 seconds for checking finalizer addition and resource deletion, improving test responsiveness.
- Refactored conditional checks for subnet protocols in VIP e2e tests to use switch-case statements for better readability and maintainability.
- Added default cases in protocol checks to handle dual stack scenarios more clearly.
- Simplified the loop for waiting on VIP finalizer addition to enhance code clarity.
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
…r refered object is not managed by kube-ovn-controller

Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working size:XXL This PR changes 1000+ lines, ignoring generated files. test automation tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants