Skip to content

docs(gpu): select the container variant from bundle values - #714

Open
Aleksei Sviridkin (lexfrei) wants to merge 1 commit into
mainfrom
docs/gpu-container-bundle-variant
Open

Aleksei Sviridkin (lexfrei) wants to merge 1 commit into
mainfrom
docs/gpu-container-bundle-variant

Conversation

@lexfrei

Copy link
Copy Markdown
Contributor

The container GPU variant can now be set up through the bundle, and the docs say so. cozystack/cozystack#4101 made the iaas bundle accept gpuOperatorVariant: container, so a hand-written Package CR is no longer the only way to get it. The same change stopped rendering the KubeVirt HostDevices gate and permittedHostDevices table for container. Only default and vgpu get them.

The container workloads page now shows the bundle values and keeps the Package CR for overrides the bundle does not expose. The passthrough and vGPU pages say which variants get the KubeVirt wiring.

Only next/ is changed. The fix is on cozystack main and not in any v1.6.x tag, so the v1.6/ pages still describe the released behaviour.

Closes #685

@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6c7bfac4-2216-4cb4-a838-9b9f2ec4ba43
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@netlify

netlify Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 7b26159
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6ac39765b0cb9b0009a28786
😎 Deploy Preview https://deploy-preview-714--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

IvanHunters
IvanHunters previously approved these changes Oct 5, 2026

@IvanHunters IvanHunters left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Docs-only change, and I checked it against current cozystack/cozystack main. Reversing the old claim is right: the iaas bundle now accepts gpuOperatorVariant: container, so the previous "container makes the platform chart fail the Helm render" line had gone stale. The render guard in packages/core/platform/templates/bundles/iaas.yaml allows exactly default, vgpu and container, and packages/core/platform/sources/gpu-operator.yaml carries a real container variant with its own values-container.yaml. The page lives under docs/next, so tracking main is the correct baseline. Netlify preview builds clean too.

What else held up: the KubeVirt wiring block is gated on the variant not being container, so the container path gets no HostDevices feature gate and no permittedHostDevices table. spec.variant and spec.components.<name>.values are what the platform Package helper emits, so the CR example is accurate. The internal link to the container-workloads page resolves.

Two non-blocking notes inline.


The bundle leaves the `KubeVirt` CR untouched for this variant: no `HostDevices` feature gate and no `permittedHostDevices` table. The host driver stays bound, so no GPU on the node can be passed through to a VM.

If you need to override something the bundle does not expose (driver settings, custom node selectors, validator or dcgmExporter tweaks), hand-craft a `Package` CR named `cozystack.gpu-operator` with `variant: container` instead, and put the overrides under `spec.components.gpu-operator.values`. The platform controller installs it without a bundle entry:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MINOR] override path is one level too shallow

The overrides belong one level deeper: spec.components.gpu-operator.values.gpu-operator.<key>. The gpu-operator package is an umbrella chart whose settings live under a nested gpu-operator: key (see its values.yaml and values-container.yaml), and the bundle itself forwards overrides as components.gpu-operator.values.gpu-operator.* in packages/core/platform/templates/bundles/iaas.yaml. So the examples you list (driver settings, validator, dcgmExporter tweaks) placed directly under spec.components.gpu-operator.values would be silently ignored by the chart. Worth a one-line correction so the override actually takes effect.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IvanHunters Checked against main: iaas.yaml forwards components.gpu-operator.values.gpu-operator, and every values file in the package sits under gpu-operator:. The page now uses that path, and the sample Package shows where the overrides go.

- cozystack.gpu-operator
```

The bundle leaves the `KubeVirt` CR untouched for this variant: no `HostDevices` feature gate and no `permittedHostDevices` table. The host driver stays bound, so no GPU on the node can be passed through to a VM.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NIT] "untouched" reads as "not deployed"

The KubeVirt CR is still emitted for the container variant, with its base values (cpuAllocationRatio, disabledFeatureGates, migrations); only the GPU wiring is skipped. "leaves the KubeVirt CR untouched" can read as "KubeVirt is not deployed". The clause right after it scopes the claim to the GPU wiring, so this is purely cosmetic.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded: the bundle still renders the KubeVirt CR with its base settings and only skips the GPU wiring.

The iaas bundle now accepts bundles.iaas.gpuOperatorVariant: container,
so the container workloads page points readers at the bundle and keeps
the hand-written Package CR only for overrides the bundle does not
expose.

The passthrough and vGPU pages described the KubeVirt HostDevices gate
and permittedHostDevices table as following from enabling gpu-operator.
That now holds for the default and vgpu variants only; container keeps
the host driver bound and gets no KubeVirt wiring.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
@lexfrei
Aleksei Sviridkin (lexfrei) force-pushed the docs/gpu-container-bundle-variant branch from b7f62da to 7b26159 Compare October 5, 2026 12:26

This branch has not been deployed

No deployments
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.

docs(gpu): container variant becomes selectable from bundle values

2 participants