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

noironetworks / aci-containers / 12053 / 1
64%
master: 64%

Build:
Build:
LAST BUILD BRANCH: mmr-6.1.1
DEFAULT BRANCH: master
Ran 10 Jul 2026 10:22AM UTC
Files 49
Run time 4s
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 Jul 2026 10:07AM UTC coverage: 64.04% (+0.1%) from 63.936%
DEFAULT_BRANCH=master GOPROXY=https://proxy.golang.org|https://goproxy.io|direct

Pull #1744

travis-pro

jeffinkottaram
Rework hpp direct mode for scale, restart safety and correctness

hpp-direct rebuilt and rewrote state on every event with no idempotency
or actual-state reconcile, did agent-side label filtering to resolve
remote IPs, and had no sync checkpoint on restart. At scale this meant
redundant renders, CR writes and netpol-file churn, and on restart it
prematurely deleted CRs/files that were still being rebuilt.

CRD:
- Simplify the HostprotPol (HPP) / HostprotRemoteIpContainer (RIC)
  schema: a rule references a single RIC and carries flat pre-resolved
  IPs; drop the label/filter-container types the agent used to filter
  on. Fix the API group (aci.snat -> aci.hpp) and regenerate clients.

Controller:
- Resolve peer IPs up front and hash NetworkPolicies canonically
  (order-independent) so equivalent policies share one HPP CR; keep a
  RIC reverse index for targeted updates.
- Read HPP/RIC through informers instead of live client Gets, and
  reconcile desired-vs-actual idempotently on dedicated work queues
  (create/update/delete only on real diffs).
- Gate stale HPP/RIC deletion on an initial NetworkPolicy sync
  checkpoint so a restart no longer removes CRs still being rebuilt.
- Merge sibling-NP named-port rules and de-dupe rules by content-derived
  name; scope named-port egress per destination IP; emit service-augment
  rules on the CR path.

Hostagent:
- Render off the informer callback onto a rate-limited, deduped,
  node-locality-gated queue, keeping a RIC->HPP reverse index instead of
  rescanning every HPP per RIC event.
- Write netpol files atomically (tmp + rename) with a content-based
  skip, and defer stale-file pruning until the initial render batch
  completes; static/node policies still write eagerly.
- Fix remote-IP CIDR normalization to use net.ParseIP so bare IPv6
  addresses get /128 instead of an incorrect /32, and make protocol
  matching case-insensitive with an added icmpv6 case.
- Track hpp as its own sync type gating taint remova... (continued)
Pull Request #1744: Rework hpp direct mode for scale, restart safety and correctness

13750 of 21471 relevant lines covered (64.04%)

0.73 hits per line

Source Files on job 12053.1 (DEFAULT_BRANCH=master GOPROXY=https://proxy.golang.org|https://goproxy.io|direct)
  • Tree
  • List 49
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 640008550
  • Travis Job 12053.1
  • d6c89994 on github
  • Prev Job for DEFAULT_BRANCH=master GOPROXY=https://proxy.golang.org|https://goproxy.io|direct on hpp-dir-fix (#12041.1)
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