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

containernetworking / plugins / 31350959963
53%
master: 55%

Build:
Build:
LAST BUILD BRANCH: pkg-ip-host-local-topofspace-panic
DEFAULT BRANCH: master
Ran 10 Aug 2026 03:02AM UTC
Jobs 1
Files 69
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

10 Aug 2026 02:52AM UTC coverage: 52.926%. First build
31350959963

Pull #1289

github

ravi-arnan
host-local: implement CNI v1.1 GC

Adds the GC verb to host-local, replacing the FIXME placeholder in main.
The runtime hands GC the complete set of attachments it still considers
live, and every reservation outside that set is released. That is how an
allocation leaked by a DEL which never arrived gets reclaimed, which is
the case the issue calls out.

Three details the implementation has to get right, each covered by a test:

The lock and the per-range last_reserved_ip markers live in the same
directory as the reservations, so a GC that simply walked the data dir
would delete them.

Reservations written by older versions hold only a container ID with no
ifname. ReleaseByID already falls back to matching those, and GC has to
agree, otherwise the first GC after an upgrade would release every
pre-upgrade allocation.

An empty valid-attachments list means every reservation for this network
is stale. It is not the same as having nothing to do.

GC deliberately does not rewind last_reserved_ip, so a reclaimed address
returns to service on wrap-around rather than being handed out next. That
keeps allocation order unchanged for everyone else.

Status is left as a separate change.

Signed-off-by: Ravi Arnan <raviarnankeren@gmail.com>
Pull Request #1289: host-local: implement CNI v1.1 GC

44 of 54 new or added lines in 3 files covered. (81.48%)

5073 of 9585 relevant lines covered (52.93%)

27.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
64.57
plugins/ipam/host-local/main.go
3
33.33
plugins/ipam/host-local/backend/disk/backend.go
Jobs
ID Job ID Ran Files Coverage
1 31350959963.1 10 Aug 2026 03:02AM UTC 69
52.93
GitHub Action Run
Source Files on build 31350959963
  • Tree
  • List 69
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #1289
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