Repository navigation
Conversation
Reviewer's GuideThe PR hardens the OpenShift GIM/VFIO path by delegating host configuration to MCO, scoping privileged SCC access, making VFIO workers safer and retryable, and gating passthrough readiness on verified KMM/VFIO/device-plugin state and AMD resources. It also fixes version-specific GIM artifact packaging, tightens validation, and documents the required OpenShift and KubeVirt setup. Sequence diagram for VF passthrough readiness reconciliationsequenceDiagram
participant Node as Kubernetes Node
participant DS as DevicePlugin DaemonSet
participant Pod as VFIO worker pod
participant Reconciler as DeviceConfigReconciler
participant Status as DeviceConfig status
Reconciler->>Pod: ensureVFIOWorkers()
Pod-->>Reconciler: VFIO binding result
Reconciler->>DS: fetch current DaemonSet
Reconciler->>Node: inspect labels and allocatable resources
Node-->>Reconciler: VFIO label and amd.com/gpu
Reconciler->>Status: deviceConfigReadiness()
alt rollout, VFIO binding, or AMD resource is pending
Status-->>Reconciler: DevicePluginPending or VFIOBindingPending
Reconciler->>Status: SetReadyCondition(false)
else all selected nodes are ready
Reconciler->>Status: SetReadyCondition(true)
end
Sequence diagram for VFIO worker retry and failure handlingsequenceDiagram
participant Worker as VFIO worker pod
participant Watcher as PodEventHandler
participant Manager as workerMgr
participant Node as Worker node
participant Reconciler as DeviceConfigReconciler
Worker-->>Watcher: failed or unknown pod event
Watcher->>Manager: Work() or Cleanup()
Manager->>Node: bind or unbind vfio-pci
Node-->>Manager: verified driver binding result
Manager-->>Watcher: worker pod recreated or cleanup requested
Watcher->>Reconciler: enqueue DeviceConfig
Reconciler->>Reconciler: getFailedWorkerNode()
alt retry remains failed
Reconciler->>Reconciler: SetErrorCondition(VFIOWorkerFailed)
else worker succeeds
Reconciler->>Reconciler: publish ready status
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Owner
Author
|
Superseded by the upstream draft PR: ROCm#680 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
go vet ./..., manager build, Helm lint/render, and whitespace checks pass.DevicePluginPendingwhen noamd.com/gpuresource was advertised.amd.com/kvgpupath.Scope and limitations
E2E_UBUNTU_BASE_IMAGE,GPU_OPERATOR_CHART, and the local test API endpoint.markdownlint-cli2is not installed.Draft PR for review of the GIM/VFIO operator path.
Summary by Sourcery
Harden the OpenShift GIM/VFIO operator path with MCO-owned host configuration, scoped security permissions, reliable VFIO processing, and resource-aware readiness reporting.
New Features:
Bug Fixes:
Enhancements:
Build:
Documentation:
Tests: