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

rollandf / spectrum-x-operator / 27598990328
29%
main: 32%

Build:
Build:
LAST BUILD BRANCH: vf-follow
DEFAULT BRANCH: main
Ran 16 Jun 2026 06:37AM UTC
Jobs 1
Files 17
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

16 Jun 2026 06:34AM UTC coverage: 29.393%. Remained the same
27598990328

push

github

rollandf
feat: propagate PF NO-CARRIER to VF representors (VF state follow)

When an upstream switch port goes down the PF correctly shows NO-CARRIER
but the VF representor and the VF inside the pod remain UP, causing
workloads to transmit silently into a dead uplink.

Add a background monitor (internal/vfstatefollower) that polls PF
carrier state every second via netlink OperState. When all PFs of a
RailTopology report NO-CARRIER, the active VF representors (those whose
VF is inside a pod) are set admin-down, propagating the link-down event
into the pod. Carrier recovery on any PF restores the representors.

- Add LinkSetDown and IsLinkNoCarrier to the NetlinkLib interface
- Use sriovnet to enumerate VFs and resolve representor names
- Add VFStateFollow *bool field to SpectrumXRailPoolConfigSpec
  (nil/true = enabled, &false = disabled per CR)
- Wire the monitor into the flowscontroller binary
- 15 unit tests covering carrier logic, rep state transitions,
  node selector filtering, and the VFStateFollow opt-out

Signed-off-by: Fred Rolland <frolland@nvidia.com>

56 of 119 new or added lines in 4 files covered. (47.06%)

44 existing lines in 4 files now uncovered.

470 of 1599 relevant lines covered (29.39%)

0.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
43
56.57
0.0% internal/vfstatefollower/monitor.go
8
0.0
0.0% cmd/flowscontroller/main.go
7
0.0
0.0% pkg/lib/netlink/netlink.go
5
0.0
0.0% api/v1alpha2/zz_generated.deepcopy.go

Coverage Regressions

Lines Coverage ∆ File
17
0.0
0.0% pkg/lib/netlink/netlink.go
16
0.0
0.0% cmd/flowscontroller/main.go
8
0.0
0.0% api/v1alpha2/zz_generated.deepcopy.go
3
0.0
0.0% api/v1alpha2/spectrumxrailpoolconfig_types.go
Jobs
ID Job ID Ran Files Coverage
1 27598990328.1 16 Jun 2026 06:37AM UTC 17
29.39
GitHub Action Run
Source Files on build 27598990328
  • Tree
  • List 17
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27598990328
  • 8e0ba980 on github
  • Prev Build on vf-follow (#27598668622)
  • 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