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

kubeovn / kube-ovn / 27128495364
27%

Build:
DEFAULT BRANCH: master
Ran 08 Jun 2026 09:33AM UTC
Jobs 1
Files 212
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

08 Jun 2026 09:30AM UTC coverage: 25.742% (+0.05%) from 25.688%
27128495364

push

github

web-flow
perf(controller): skip redundant service update in checkServiceLBIPBelongToSubnet (#6828)

* perf(controller): skip redundant service update in checkServiceLBIPBelongToSubnet

checkServiceLBIPBelongToSubnet ran on every service reconcile and always
issued a Services().Update(), even when the external-IP-from-subnet
annotation was unchanged. That generated a no-op watch event and an extra
DeepCopy plus a full subnet list on every update.

Resolve the desired annotation value first, compare it against the current
annotation, and return early when nothing changed. Only DeepCopy and update
on an actual transition. Skip the subnet list entirely when the service has
no LoadBalancer ingress IP. The diff is keyed on the resolved subnet name so
an IP migrating between subnets still updates the annotation, and the
original "last matching subnet wins" semantics are preserved.

Add unit tests covering set, delete, no-op, and subnet-migration cases.

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

* fix(controller): address review feedback on subnet annotation cleanup

Copilot review on PR #6828:

- Distinguish an absent annotation from one explicitly present with an empty
  value. The early-return now only short-circuits the delete path when the
  key is truly absent, so a stale empty-valued key is still removed, matching
  the original delete() semantics.
- Skip ingress entries with an empty IP (Hostname-only LoadBalancer ingress)
  before calling CIDRContainIP, avoiding noisy "invalid ip" error logs on
  every reconcile.
- Assert annotation presence (not just value) in the unit tests so an empty
  value cannot be mistaken for an absent key, and add cases covering the
  empty-IP guard and the explicit-empty-annotation cleanup.

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

---------

Signed-off-by: Mengxin Liu <l... (continued)

33 of 36 new or added lines in 1 file covered. (91.67%)

2 existing lines in 1 file now uncovered.

14906 of 57905 relevant lines covered (25.74%)

0.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
11.91
8.4% pkg/controller/service.go

Coverage Regressions

Lines Coverage ∆ File
2
75.2
-0.54% pkg/ovs/ovn-nb-logical_router_route.go
Jobs
ID Job ID Ran Files Coverage
1 27128495364.1 08 Jun 2026 09:33AM UTC 212
25.74
GitHub Action Run
Source Files on build 27128495364
  • Tree
  • List 212
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • c5eabdb5 on github
  • Prev Build on master (#27020761364)
  • Next Build on master (#27173609671)
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