docs(platform-package): document KubeVirt migration settings - #697
Aleksei Sviridkin (lexfrei) merged 2 commits into
Conversation
Signed-off-by: Yan Bondarenko <202671653+yankawai@users.noreply.github.com>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 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. Comment |
Signed-off-by: Yan Bondarenko <202671653+yankawai@users.noreply.github.com>
scooby87
left a comment
There was a problem hiding this comment.
LGTM (independent review pass).
Docs-only (+13/-0), verified against the actual behaviour in cozystack#4254: the kubevirt.migrations key maps to spec.configuration.migrations, default {} leaves KubeVirt defaults unchanged, and bandwidthPerMigration is a bytes-per-second quantity. The worked example checks out: 625M (decimal, 625,000,000 bytes/s) x 8 = 5 Gbit/s, and the example values match the #4254 test fixture byte-for-byte. Each added paragraph is a single line (no hardwrap). No findings.
#4254) ## What this PR does Cluster-wide migration settings could only be applied by patching the KubeVirt CR: the kubevirt chart did not render `migrations`, and the platform bundle did not forward it. Add the optional `kubevirt.migrations` platform value and pass it through the generated Package to `spec.configuration.migrations`. For example, set the following under `spec.components.platform.values` on the `cozystack.cozystack-platform` Package: ```yaml kubevirt: migrations: bandwidthPerMigration: 625M parallelMigrationsPerCluster: 2 parallelOutboundMigrationsPerNode: 1 ``` `bandwidthPerMigration` is a quantity in bytes per second. Empty or null settings leave the field unset; existing KubeVirt defaults are unchanged. The map is forwarded intact, including explicit `false` and `0` values. `make update` restores the new parameterization independently after a hand-merge. Validation: - All 207 Helm tests in `packages/system/kubevirt` and `packages/core/platform` passed (42 suites). - Before the template changes, the new limit and false/zero cases failed at both forwarding stages (four expected regression failures). - The GNU sed / make update-idempotency suite passed, including restoration of a missing migrations block, repeated runs, and rejection of a missing insertion anchor. - Standalone KubeVirt rendering and `helm lint` passed. Neither modified chart defines a `make generate` target. Full platform rendering requires its live source repository lookup; the platform template behavior was checked through its existing Helm unit-test fixtures. This is separate from #3989, which exposes `vmStateStorageClass` in the same chart and bundle files. ### Screenshots Not applicable; no UI changes. ### Downstream repositories - [ ] No downstream repository is affected by this change - [x] [cozystack/website](https://github.com/cozystack/website) - follow-up: [#697](cozystack/website#697) - [ ] [cozystack/terraform-provider-cozystack](https://github.com/cozystack/terraform-provider-cozystack) - follow-up: - [ ] [cozystack/ansible-cozystack](https://github.com/cozystack/ansible-cozystack) - follow-up: - [ ] [cozystack/ccp](https://github.com/cozystack/ccp) - follow-up: - [ ] [cozystack/talm](https://github.com/cozystack/talm) - follow-up: - [ ] [cozystack/cozyhr](https://github.com/cozystack/cozyhr) - follow-up: - [ ] [cozystack/cozy-proxy](https://github.com/cozystack/cozy-proxy) - follow-up: - [ ] [cozystack/cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server) - follow-up: - [ ] [cozystack/external-apps-example](https://github.com/cozystack/external-apps-example) - follow-up: - [ ] [cozystack/examples](https://github.com/cozystack/examples) - follow-up: - [ ] [cozystack/community](https://github.com/cozystack/community) - follow-up: The website follow-up [#697](cozystack/website#697) documents this new platform value in the unreleased `next` reference and should be merged after this implementation. The merged website PR [#678](cozystack/website#678) documents `kubevirt.disabledFeatureGates` only. The other listed repositories do not need a coordinated change: this adds an optional platform value without changing app schemas, required installer values, CRDs, package layout, source kinds, shared tooling contracts, or node prerequisites. ### Release note ```release-note feat(kubevirt): Configure cluster-wide KubeVirt migration settings through the platform Package value kubevirt.migrations. Empty settings preserve existing defaults. ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added optional KubeVirt migration configuration. * Supports migration bandwidth, concurrency limits, auto-convergence, and completion timeout settings. * Migration bandwidth can be specified in bytes per second. * Empty or unset migration settings preserve KubeVirt defaults. * **Bug Fixes** * Migration values now preserve valid `false` and `0` settings when provided. * **Tests** * Added coverage for default, empty, null, configured, and repeated-update scenarios. * Added validation to prevent incomplete or duplicated migration configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
What this PR does
Document the optional
kubevirt.migrationsplatform value, its empty default, and the path from the parent platform Package to the rendered KubeVirt CR. Include a625M/ two cluster-wide migrations / one outbound migration per node example and explain that bandwidth quantities are bytes per second.Only the unreleased
nextreference changes. This is the documentation companion to cozystack/cozystack#4254, which exposeskubevirt.migrations; merge that implementation first. This adds the migration settings to the existing KubeVirt section alongsidekubevirt.disabledFeatureGatesfrom #678.Validation:
bash hack/check-i18n.sh checkpassed: 29 translation keys and 20 tracked translated pages.git diff origin/main...HEAD --checkpassed after merging currentmain; the PR changes one reference file.nextincluded (2,032 pages across five languages); the rendered KubeVirt section contains the table, YAML example and units.Screenshots
Not applicable; reference documentation only.
Downstream repositories
This reference-only change does not alter any downstream API, schema, build tooling, installer setting or runtime behavior. The companion Cozystack implementation is a prerequisite, not a downstream change caused by this documentation.
Release note