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

ovn-kubernetes / ovn-kubernetes / 23402855522
58%

Build:
DEFAULT BRANCH: master
Ran 22 Mar 2026 12:51PM UTC
Jobs 1
Files 313
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

20 Mar 2026 09:31PM UTC coverage: 57.093% (-0.05%) from 57.138%
23402855522

push

github

jcaamano
Add NetlinkDeviceManager for declarative device lifecycle management

Introduce NetlinkDeviceManager, a controller that declaratively manages
Linux network device lifecycle with self-healing and dependency resolution.

Key features:
- Declarative API: Define desired device state (Bridge, VXLAN, VLAN, VRF, Dummy)
  and the manager ensures convergence
- Ownership tracking: Uses IFLA_IFALIAS to mark managed devices, preventing
  conflicts with external tools
- Dependency resolution: Automatically retries device creation when master/parent
  is not yet present
- Self-healing: Periodic reconciliation catches external drift and restores
  desired state
- Bridge VLAN/VNI mappings: Manages VID-to-VNI mappings for VXLAN devices
  with VniFilter enabled
- Bridge port settings: Configures vlan_tunnel, neigh_suppress, learning

Also extends NetLinkOps interface with:
- LinkModify for atomic attribute updates
- Bridge VLAN operations (BridgeVlanAdd/Del, BridgeVniAdd/Del, tunnel info)
- Bridge port settings (LinkSetVlanTunnel, LinkSetBrNeighSuppress, LinkSetLearning)
- Error checking helpers (IsEntryNotFoundError, IsAlreadyExistsError)

Signed-off-by: Matteo Dallaglio <mdallagl@redhat.com>

893 of 1147 new or added lines in 4 files covered. (77.86%)

274 existing lines in 7 files now uncovered.

47644 of 83450 relevant lines covered (57.09%)

385.44 hits per line

Uncovered Changes

Lines Coverage ∆ File
124
66.12
0.0% go-controller/pkg/node/netlinkdevicemanager/controller.go
56
86.89
0.0% go-controller/pkg/node/netlinkdevicemanager/netlink_ops.go
51
41.53
0.0% go-controller/pkg/util/net_linux.go
23
92.41
0.0% go-controller/pkg/node/netlinkdevicemanager/link.go

Coverage Regressions

Lines Coverage ∆ File
222
41.53
0.0% go-controller/pkg/util/net_linux.go
19
62.74
-5.21% go-controller/pkg/ovn/controller/network_qos/network_qos.go
9
83.06
-2.5% go-controller/pkg/clustermanager/networkconnect/cluster_network_connect.go
7
62.6
-5.34% go-controller/pkg/ovn/controller/network_qos/network_qos_namespace.go
6
69.14
-1.95% go-controller/pkg/networkmanager/egressip_tracker.go
6
79.16
-0.5% go-controller/pkg/ovn/controller/networkconnect/topology.go
5
74.93
0.29% go-controller/pkg/ovn/hybrid.go
Jobs
ID Job ID Ran Files Coverage
1 23402855522.1 22 Mar 2026 12:51PM UTC 313
57.09
GitHub Action Run
Source Files on build 23402855522
  • Tree
  • List 313
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b446d7b2 on github
  • Prev Build on master (#23392370537)
  • Next Build on master (#23416645185)
  • Delete
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