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

kubeovn / kube-ovn / 31485155843
40%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2026 11:11AM UTC
Jobs 1
Files 229
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

11 Aug 2026 11:06AM UTC coverage: 31.083% (-0.01%) from 31.097%
31485155843

push

github

web-flow
fix: release QoS finalizer only after the referencing EIP/NatGw is truly gone (#7176)

Trigger the dependent QoS policy cleanup only once the referencing resource
is actually released, keyed off events that guarantee the informer cache is
already consistent:

- Delete event (DeleteFunc): the EIP/NatGw has been dropped from the informer
  indexer, so re-enqueue its QoS policy for reconcile.
- Status change (UpdateFunc): status.qosPolicy moving away from a non-empty
  value means the QoS was unbound or switched, so re-enqueue the previous QoS
  policy.

The former immediate enqueue right after removing the EIP finalizer raced with
the cache update: the QoS reconcile still observed the EIP as in use and skipped
removing the finalizer, leaving the QoS stuck in Terminating. Add e2e coverage
for both the delete and unbind paths.

Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>

test: wait for QoS to enter Terminating before asserting it stays

Address PR review: Consistently asserted DeletionTimestamp immediately after
Delete, which could flake if the apiserver update lagged. Add an Eventually to
wait for the deletion timestamp first, then Consistently assert it remains.

Signed-off-by: zbb88888 <jmdxjsjgcxy@gmail.com>

test: ensure QoS finalizer is present before exercising the release path

The QoS finalizer is only added when the policy is reconciled through the update
queue, which never happens on create. A freshly created+bound policy therefore
had no finalizer, so Delete removed it immediately and the regression test never
reached the leak path (CI: qos-policy NotFound). Force the finalizer by updating
the policy spec once and wait until it is set before binding and deleting.

fix: add QoS policy finalizer on create, not only on update

The finalizer was added only when the policy was reconciled through the update
queue (status \!= spec), so a policy created and bound but never updated had no
finalizer. Deleting such a policy succeeded immediately and... (continued)

0 of 44 new or added lines in 3 files covered. (0.0%)

2 existing lines in 2 files now uncovered.

19637 of 63176 relevant lines covered (31.08%)

0.36 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
19.71
-0.69% pkg/controller/qos_policy.go
15
3.87
-0.02% pkg/controller/vpc_nat_gateway.go
12
4.63
-0.03% pkg/controller/vpc_nat_gw_eip.go

Coverage Regressions

Lines Coverage ∆ File
1
3.87
-0.02% pkg/controller/vpc_nat_gateway.go
1
4.63
-0.03% pkg/controller/vpc_nat_gw_eip.go
Jobs
ID Job ID Ran Files Coverage
1 31485155843.1 11 Aug 2026 11:11AM UTC 229
31.08
GitHub Action Run
Source Files on build 31485155843
  • Tree
  • List 229
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • a7dc0839 on github
  • Prev Build on master (#31447999071)
  • Next Build on master (#31554923875)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc