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

ovn-kubernetes / ovn-kubernetes / 23379470922
58%

Build:
DEFAULT BRANCH: master
Ran 21 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.067% (+0.3%) from 56.729%
23379470922

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%)

2464 existing lines in 29 files now uncovered.

47622 of 83450 relevant lines covered (57.07%)

385.4 hits per line

Uncovered Changes

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

Coverage Regressions

Lines Coverage ∆ File
274
58.64
0.76% go-controller/pkg/ovn/layer2_user_defined_network_controller.go
236
65.38
-2.59% go-controller/pkg/ovn/base_network_controller.go
227
77.9
0.05% go-controller/pkg/ovn/gateway.go
215
59.82
0.62% go-controller/pkg/ovn/layer3_user_defined_network_controller.go
210
76.8
0.91% go-controller/pkg/ovn/base_network_controller_policy.go
178
21.93
-0.11% go-controller/pkg/util/util.go
162
27.0
0.17% go-controller/pkg/util/node_annotations.go
126
0.0
0.0% go-controller/pkg/controllermanager/controller_manager.go
117
63.21
-0.46% go-controller/pkg/clustermanager/network_cluster_controller.go
115
37.07
-2.15% go-controller/pkg/clustermanager/node/node_allocator.go
108
78.67
0.34% go-controller/pkg/ovn/base_network_controller_pods.go
103
61.24
0.15% go-controller/pkg/ovn/base_network_controller_user_defined.go
74
63.95
0.05% go-controller/pkg/ovn/master.go
67
56.45
0.25% go-controller/pkg/clustermanager/clustermanager.go
58
45.17
2.02% go-controller/pkg/ovn/base_secondary_layer2_network_controller.go
50
53.71
4.59% go-controller/pkg/ovn/localnet_user_defined_network_controller.go
30
58.77
-1.61% go-controller/pkg/clustermanager/egressip_controller.go
25
59.89
1.75% go-controller/pkg/util/subnet_annotations.go
23
0.0
0.0% go-controller/pkg/networkmanager/fake.go
16
55.73
-12.21% go-controller/pkg/ovn/controller/network_qos/network_qos_namespace.go
15
57.35
0.05% go-controller/pkg/ovn/default_network_controller.go
11
88.66
0.36% go-controller/pkg/clustermanager/user_defined_network_cluster_manager.go
9
54.38
-1.01% go-controller/pkg/node/vrfmanager/vrf_manager.go
6
68.75
-2.34% go-controller/pkg/networkmanager/egressip_tracker.go
3
76.04
0.11% go-controller/pkg/node/routemanager/route_manager.go
2
66.16
-0.06% go-controller/pkg/ovn/egressip.go
2
77.24
-0.25% go-controller/pkg/ovn/egressqos.go
1
78.36
-0.26% go-controller/pkg/ovn/addresssetmanager/addressset_manager.go
1
74.17
-0.33% go-controller/pkg/ovn/pods.go
Jobs
ID Job ID Ran Files Coverage
1 23379470922.1 21 Mar 2026 12:51PM UTC 313
57.07
GitHub Action Run
Source Files on build 23379470922
  • Tree
  • List 313
  • Changed 33
  • Source Changed 0
  • Coverage Changed 33
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b446d7b2 on github
  • Prev Build on master (#23342528920)
  • Next Build on master (#23392370537)
  • 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