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

noironetworks / aci-containers / 12052
64%
master: 64%

Build:
Build:
LAST BUILD BRANCH: mmr-6.1.1
DEFAULT BRANCH: master
Ran 10 Jul 2026 07:58AM UTC
Jobs 1
Files 49
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 Jul 2026 07:43AM UTC coverage: 64.003% (+0.03%) from 63.969%
12052

push

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)

546 of 707 new or added lines in 11 files covered. (77.23%)

54 existing lines in 2 files now uncovered.

13742 of 21471 relevant lines covered (64.0%)

0.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
138
79.57
-3.68% pkg/controller/network_policy.go
16
70.93
12.32% pkg/hostagent/agent.go
3
74.21
1.0% pkg/hostagent/group_assign.go
2
77.53
-0.27% pkg/controller/nodes.go
1
70.34
0.82% pkg/controller/controller.go
1
47.53
5.89% pkg/hostagent/environment.go

Coverage Regressions

Lines Coverage ∆ File
52
79.57
-3.68% pkg/controller/network_policy.go
2
59.39
-0.04% pkg/controller/services.go
Jobs
ID Job ID Ran Files Coverage
1 12052.1 (DEFAULT_BRANCH=master GOPROXY=https://proxy.golang.org|https://goproxy.io|direct) 10 Jul 2026 07:58AM UTC 49
64.0
Travis Job 12052.1
Source Files on build 12052
  • Tree
  • List 49
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Travis Build #12052
  • 4af1a823 on github
  • Prev Build on mmr-6.1.1 (#12050)
  • Next Build on hpp-dir-fix-mmr (#12055)
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