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

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

Build:
Build:
LAST BUILD BRANCH: mmr-6.1.1
DEFAULT BRANCH: master
Ran 10 Jul 2026 10:23AM 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 10:08AM UTC coverage: 64.007% (+0.04%) from 63.969%
12055

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)

552 of 707 new or added lines in 11 files covered. (78.08%)

56 existing lines in 2 files now uncovered.

13743 of 21471 relevant lines covered (64.01%)

0.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
132
79.79
-3.46% 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
53
79.79
-3.46% pkg/controller/network_policy.go
3
63.51
-0.21% pkg/apicapi/apicapi.go
Jobs
ID Job ID Ran Files Coverage
1 12055.1 (DEFAULT_BRANCH=master GOPROXY=https://proxy.golang.org|https://goproxy.io|direct) 10 Jul 2026 10:23AM UTC 49
64.01
Travis Job 12055.1
Source Files on build 12055
  • Tree
  • List 49
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Travis Build #12055
  • 73b64cd5 on github
  • Prev Build on mmr-6.1.1 (#12050)
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