Repository navigation
[Backport release-1.6] feat(kubevirt): expose migration configuration through platform values - #4322
github-actions[bot] wants to merge 1 commit into
Conversation
|
Please cherry-pick the changes locally and resolve any conflicts. git fetch origin backport-4254-to-release-1.6
git worktree add --checkout .worktree/backport-4254-to-release-1.6 backport-4254-to-release-1.6
cd .worktree/backport-4254-to-release-1.6
git reset --hard HEAD^
git cherry-pick -x 5ed076cff87edb0fb1bd1f86ef59d410834eb579 f7f4eb66565e2bd5c6edca62b8829e8dfe99750b
git push --force-with-lease |
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
This branch carries conflict markers in four files as its only commit, which is also why DCO is red. Every conflict comes from Happy for this one to be closed in favour of it, or to hand the resolution over some other way if you would rather keep the automated branch. |
Backport of cozystack#4254 to release-1.6. 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. The optional `kubevirt.migrations` platform value now passes through the generated Package to `spec.configuration.migrations`, and a hand patch of that Package is undone on the next platform render, so this hop is the only supported setter. Four differences from main, all from release-1.6 predating the disabledFeatureGates work: - platform values gains a `kubevirt` block holding `migrations` alone, and the iaas bundle gains only the migrations hop; - the wiring test takes the four migrations cases and the case for a null `kubevirt` block, without the assertions that belong to disabledFeatureGates cases absent here; - update_idempotency_test.sh gains `run_update_logged`, which arrived on main alongside that work and the new cases need; - the kubevirt Makefile header counts six sed patches rather than five. Verified on this branch: 9 kubevirt chart tests, 31 platform wiring tests (102 across the platform suite), and update_idempotency_test PASS under GNU make and sed. Removing the new awk guard from the Makefile turns that test red naming the migrations block, so the ported guard is not decorative. On this line (.Values.kubevirt).migrations is the only reader of .Values.kubevirt, and rewriting it as .Values.kubevirt.migrations turns the null-block case red with a nil pointer. The automated backport in cozystack#4322 stopped with conflict markers in four files as its only commit, which is why this exists. Assisted-by: LLM Signed-off-by: Yan Bondarenko <[email protected]>
Backport of #4254 to release-1.6. 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. The optional `kubevirt.migrations` platform value now passes through the generated Package to `spec.configuration.migrations`, and a hand patch of that Package is undone on the next platform render, so this hop is the only supported setter. Four differences from main, all from release-1.6 predating the disabledFeatureGates work: - platform values gains a `kubevirt` block holding `migrations` alone, and the iaas bundle gains only the migrations hop; - the wiring test takes the four migrations cases and the case for a null `kubevirt` block, without the assertions that belong to disabledFeatureGates cases absent here; - update_idempotency_test.sh gains `run_update_logged`, which arrived on main alongside that work and the new cases need; - the kubevirt Makefile header counts six sed patches rather than five. Verified on this branch: 9 kubevirt chart tests, 31 platform wiring tests (102 across the platform suite), and update_idempotency_test PASS under GNU make and sed. Removing the new awk guard from the Makefile turns that test red naming the migrations block, so the ported guard is not decorative. On this line (.Values.kubevirt).migrations is the only reader of .Values.kubevirt, and rewriting it as .Values.kubevirt.migrations turns the null-block case red with a nil pointer. The automated backport in #4322 stopped with conflict markers in four files as its only commit, which is why this exists. Assisted-by: LLM Signed-off-by: Yan Bondarenko <[email protected]>
Backport of #4254 to release-1.6. 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. The optional `kubevirt.migrations` platform value now passes through the generated Package to `spec.configuration.migrations`, and a hand patch of that Package is undone on the next platform render, so this hop is the only supported setter. Four differences from main, all from release-1.6 predating the disabledFeatureGates work: - platform values gains a `kubevirt` block holding `migrations` alone, and the iaas bundle gains only the migrations hop; - the wiring test takes the four migrations cases and the case for a null `kubevirt` block, without the assertions that belong to disabledFeatureGates cases absent here; - update_idempotency_test.sh gains `run_update_logged`, which arrived on main alongside that work and the new cases need; - the kubevirt Makefile header counts six sed patches rather than five. Verified on this branch: 9 kubevirt chart tests, 31 platform wiring tests (102 across the platform suite), and update_idempotency_test PASS under GNU make and sed. Removing the new awk guard from the Makefile turns that test red naming the migrations block, so the ported guard is not decorative. On this line (.Values.kubevirt).migrations is the only reader of .Values.kubevirt, and rewriting it as .Values.kubevirt.migrations turns the null-block case red with a nil pointer. The automated backport in #4322 stopped with conflict markers in four files as its only commit, which is why this exists. Assisted-by: LLM Signed-off-by: Yan Bondarenko <[email protected]>
… through platform values (#4402) This reopens a fork backport from a branch in this repository so its CI can run. The commit is the one from #4339 by @yankawai, unchanged. On release-1.6 the pull-request CI pushes the images it builds, and a run from a fork has no registry credentials, so #4339 stopped at the build jobs and never reached e2e. The description below is the author's. ## What this PR does Manual backport of #4254 to `release-1.6`. The automated backport, #4322, stopped with conflict markers in four files as its only commit, so it is red on DCO and unmergeable as it stands. Every conflict has the same cause: the `kubevirt.disabledFeatureGates` work landed on main after 1.6 was cut, and the cherry-pick carried it into hunks this line does not have. Four differences follow: - platform values gains a `kubevirt` block holding `migrations` alone, and the iaas bundle gains only the migrations hop; - the wiring test takes the four migrations cases and the case for a null `kubevirt` block, without the assertions that belong to disabledFeatureGates cases this line does not have; - `update_idempotency_test.sh` gains `run_update_logged`, a four-line helper that arrived on main with that work and the new cases need; - the kubevirt Makefile header counts six sed patches rather than five. Verified on this branch: 9 kubevirt chart tests, 31 platform wiring tests (102 across the platform suite), and `update_idempotency_test` PASS under GNU make and sed. Removing the new awk guard from the Makefile turns that test red naming the migrations block, so the ported guard is doing work. On this line `(.Values.kubevirt).migrations` is the only reader of `.Values.kubevirt`; rewriting it as `.Values.kubevirt.migrations` turns the null-block case red with a nil pointer. Feature summary, unchanged from #4254: cluster-wide migration settings could only be applied by patching the KubeVirt CR, because the kubevirt chart did not render `migrations` and the platform bundle did not forward it. `kubevirt.migrations` now passes through the generated Package to `spec.configuration.migrations`. A hand patch of that Package is undone on the next platform render, so this hop is the only supported setter. ```yaml kubevirt: migrations: bandwidthPerMigration: 625M parallelMigrationsPerCluster: 2 parallelOutboundMigrationsPerNode: 1 ``` ### Screenshots Not a UI change. ### Downstream repositories Walked the trigger map against the diff: platform values, the iaas bundle and the kubevirt chart. The v1.6 reference page of the platform values had no `kubevirt` section, so the row goes there as a follow-up that should land with this backport. - [ ] No downstream repository is affected by this change - [x] [cozystack/website](https://github.com/cozystack/website) - follow-up: cozystack/website#705 ### Release note ```release-note feat(kubevirt): expose `kubevirt.migrations` in the platform values and forward it to `spec.configuration.migrations` on the KubeVirt CR, so live-migration bandwidth and parallelism can be set without patching a Package that the platform re-renders. ```
Description
Backport of #4254 to
release-1.6.