Skip to content

fix: keep host-device components in NicClusterPolicy - #224

Merged
almaslennikov merged 1 commit into
mainfrom
fix/hostdevice-without-nicnodepolicy
Aug 18, 2026
Merged

fix: keep host-device components in NicClusterPolicy#224
almaslennikov merged 1 commit into
mainfrom
fix/hostdevice-without-nicnodepolicy

Conversation

@almaslennikov

@almaslennikov almaslennikov commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • delete profiles/host-device-rdma/11-nicnodepolicy.yaml and remove it from the host-device profile
  • always render the host-device OFED driver and SR-IOV device plugin through the singleton NicClusterPolicy
  • update the existing maintenance rendering expectation for the permanent policy placement

This avoids Network Operator deriving an overlong SR-IOV device-plugin DaemonSet name from a host-device NicNodePolicy. Support can be enabled again with Network Operator 26.10.

Testing

  • CGO_ENABLED=0 go test ./... -count=1
  • CGO_ENABLED=0 go build ./...
  • CGO_ENABLED=0 go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.0 run ./...
  • git diff --check

@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown

Greptile Summary

The PR permanently moves host-device OFED and SR-IOV device-plugin configuration into the singleton NicClusterPolicy to avoid overlong DaemonSet names.

  • Removes the release-dependent NicNodePolicy template from the host-device profile.
  • Makes the NicClusterPolicy component configuration apply to every supported release.
  • Updates maintenance-rendering expectations for the new manifest placement.

Confidence Score: 4/5

The PR does not appear safe to merge because merged multirail deployments can still omit valid PCI addresses from SR-IOV resource selectors.

The singleton NicClusterPolicy calls legacySriovDevicePluginConfigList, which reads representative PF addresses while merged configurations place the complete address set in RailPciAddresses; nodes using non-representative addresses therefore remain excluded from the expected rail resource.

Files Needing Attention: profiles/host-device-rdma/10-nicclusterpolicy.yaml and pkg/networkoperatorplugin/templates.go

Important Files Changed

Filename Overview
profiles/host-device-rdma/10-nicclusterpolicy.yaml Makes host-device OFED and SR-IOV plugin configuration permanent in the singleton NicClusterPolicy.
profiles/host-device-rdma/11-nicnodepolicy.yaml Removes the release-gated NicNodePolicy previously used for host-device components.
profiles/host-device-rdma/profile.yaml Removes the deleted NicNodePolicy template from the ordered profile manifest list.
pkg/networkoperatorplugin/maintenance_render_test.go Updates maintenance rendering expectations to locate host-device upgrade policy configuration in NicClusterPolicy.

Reviews (3): Last reviewed commit: "fix: keep host-device components in NicC..." | Re-trigger Greptile

Comment thread profiles/host-device-rdma/10-nicclusterpolicy.yaml Outdated
@almaslennikov
almaslennikov force-pushed the fix/hostdevice-without-nicnodepolicy branch from 643602c to d521ed3 Compare August 18, 2026 06:53
@almaslennikov almaslennikov changed the title fix: defer host-device NicNodePolicy to 26.10 fix: keep host-device components in NicClusterPolicy Aug 18, 2026
@almaslennikov

Copy link
Copy Markdown
Collaborator Author

Updated the PR scope and force-pushed d521ed3:

  1. Release-specific gating and tests removed. The host-device profile now omits 11-nicnodepolicy.yaml entirely and renders its OFED driver and SR-IOV device plugin unconditionally in NicClusterPolicy.
  2. Rail aggregation helper unchanged. The suggested helper expansion is outside this profile-only change; the PR retains the existing cluster-wide configuration behavior.

Validation is clean: CGO_ENABLED=0 go test ./... -count=1, CGO_ENABLED=0 go build ./..., golangci-lint v2.11, and git diff --check.

Delete the host-device NicNodePolicy template and always render the OFED driver and SR-IOV device plugin through the singleton NicClusterPolicy. This avoids generating an overly long SR-IOV device plugin DaemonSet name.

Signed-off-by: Alexander Maslennikov <amaslennikov@nvidia.com>
@almaslennikov
almaslennikov force-pushed the fix/hostdevice-without-nicnodepolicy branch from d521ed3 to 21c9b4b Compare August 18, 2026 06:57
@almaslennikov

Copy link
Copy Markdown
Collaborator Author

Corrected the remaining scope gap and force-pushed 21c9b4b:

  1. Deleted profiles/host-device-rdma/11-nicnodepolicy.yaml, rather than only removing its profile-list entry.
  2. The host-device profile now renders the OFED driver and SR-IOV device plugin only through its singleton NicClusterPolicy.

Validation is green locally: full tests, build, golangci-lint, and git diff --check.

@almaslennikov
almaslennikov merged commit 3214771 into main Aug 18, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant