• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubeovn / kube-ovn / 25472384490
25%

Build:
DEFAULT BRANCH: master
Ran 07 May 2026 02:23AM UTC
Jobs 1
Files 211
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 May 2026 02:20AM UTC coverage: 24.899% (+0.06%) from 24.835%
25472384490

push

github

web-flow
feat(servicecidr): support K8s multiple ServiceCIDR (KEP-1880) (#6690)

* feat(servicecidr): support Kubernetes multiple ServiceCIDR (KEP-1880)

Watch networking.k8s.io/v1 ServiceCIDR objects and merge them with the
--service-cluster-ip-range flag value into a single source of truth used
by every Service-CIDR consumer (U2O policy routes, vpc-lb init
containers, vpc-nat-gw routes, daemon ipset/iptables). The flag now
serves as a startup fallback that yields once the API observes any valid
entry, and re-engages if the API set ever empties — so old clusters
without the API behave exactly as before, while 1.33+ clusters converge
to the API-advertised set and pick up dynamic add/remove.

ServiceCIDR API discovery uses APIResourceExists with a 10s ticker
fallback (same shape as the NAD/KubeVirt scaffolds), so missing API on
older clusters is a no-op rather than an error. RBAC for
networking.k8s.io/servicecidrs is added to system:ovn and
system:kube-ovn-cni in install.sh and both Helm charts.

Notable behavior changes:
- vpc-lb deployment is now upserted with a ServiceCIDR hash annotation;
  changing the merged set rolls the pod via the existing Recreate
  strategy.
- U2O no-LB policy routes are pruned at the start of every reconcile
  (policy-only delete, port groups untouched) so shrinking the set no
  longer leaves stale OVN entries.
- Existing VPC NAT gateways are intentionally not re-enqueued on
  ServiceCIDR change; their routes only refresh when the pod is
  recreated by other means. Newly created NAT gateways pick up the
  current store via their own add path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Mengxin Liu <liumengxinfly@gmail.com>

* refactor(servicecidr): consolidate duplicates and use stdlib helpers

- Promote readyServiceCIDRs to util.ReadyServiceCIDRs so controller and
  daemon share one source of truth.
- Drop custom equalStringSlice in favour of slices.Equal.
- Extract vpcLbInitContainers helpe... (continued)

124 of 467 new or added lines in 12 files covered. (26.55%)

2 existing lines in 1 file now uncovered.

14198 of 57023 relevant lines covered (24.9%)

0.29 hits per line

Uncovered Changes

Lines Coverage ∆ File
96
0.0
pkg/controller/service_cidr.go
75
0.0
pkg/daemon/service_cidr.go
73
5.41
-0.62% pkg/controller/vpc_lb.go
37
11.84
-0.06% pkg/controller/subnet.go
15
89.21
pkg/util/servicecidr_store.go
13
1.13
0.0% pkg/controller/controller.go
12
86.86
-3.98% pkg/util/k8s.go
11
3.3
-0.01% pkg/controller/vpc_nat_gateway.go
6
6.22
0.0% pkg/daemon/controller.go
3
4.39
0.04% pkg/daemon/gateway.go
1
0.0
0.0% pkg/controller/kubevirt.go
1
9.8
0.0% pkg/controller/network_attachment.go

Coverage Regressions

Lines Coverage ∆ File
2
5.41
-0.62% pkg/controller/vpc_lb.go
Jobs
ID Job ID Ran Files Coverage
1 25472384490.1 07 May 2026 02:23AM UTC 211
24.9
GitHub Action Run
Source Files on build 25472384490
  • Tree
  • List 211
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 00896432 on github
  • Prev Build on master (#25428568791)
  • Next Build on master (#25545906245)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc