Skip to content

docs(virtual-machine): correct persistent EFI migration documentation - #4494

Merged
Aleksei Sviridkin (lexfrei) merged 1 commit into
cozystack:mainfrom
opsmon:4420
Sep 28, 2026
Merged

Aleksei Sviridkin (lexfrei) merged 1 commit into
cozystack:mainfrom
opsmon:4420

Conversation

@opsmon

@opsmon ∆Sergey∆ (opsmon) commented Sep 26, 2026 •

Copy link
Copy Markdown

What this PR does

Removes the outdated warning that persistent EFI state on default RWO storage makes a virtual machine node-pinned and prevents live migration. The warning no longer reflects the supported migration behavior and could discourage users from persisting Secure Boot keys.

This is a documentation-only change. The chart documentation, JSON schema, generated API comment, and ApplicationDefinition schema were regenerated without changing defaults, validation, or runtime behavior.

Fixes #4420

Validation

  • make -C packages/apps/vm-instance generate
  • make generate
  • make manifests
  • make -C packages/apps/vm-instance test — 59 tests passed
  • git diff --check
  • A second complete generation pass produced no additional changes

Screenshots

N/A — documentation-only change.

Downstream repositories

Release note

NONE

Summary by CodeRabbit

  • Documentation
    • Updated EFI persistence descriptions to remove claims that using default RWO storage pins virtual machines to a node or prevents live migration. The persistence behavior and UEFI-only applicability remain unchanged.

@github-actions github-actions Bot added area/virtualization Issues or PRs related to virtualization (kubevirt, cdi, vmi, vm-import) kind/documentation Categorizes issue or PR as related to documentation size/S This PR changes 10-29 lines, ignoring generated files labels Sep 26, 2026
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: cozystack/cozystack/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: ec3aa8d6-9cf8-47ce-a020-dce88f14c9a9

📥 Commits

Reviewing files that changed from the base of the PR and between 2c2c030 and db97e37.

📒 Files selected for processing (5)
  • api/apps/v1alpha1/vminstance/types.go
  • packages/apps/vm-instance/README.md
  • packages/apps/vm-instance/values.schema.json
  • packages/apps/vm-instance/values.yaml
  • packages/system/vm-instance-rd/cozyrds/vm-instance.yaml

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The efiPersistent API comment and vm-instance descriptions no longer say that default RWO storage pins the VM to a node or prevents live migration. The field and its JSON representation are unchanged.

Changes

EFI persistence descriptions

Layer / File(s) Summary
Update EFI persistence descriptions
api/apps/v1alpha1/vminstance/types.go, packages/apps/vm-instance/README.md, packages/apps/vm-instance/values.schema.json, packages/apps/vm-instance/values.yaml, packages/system/vm-instance-rd/cozyrds/vm-instance.yaml
The descriptions remove the claim that default RWO storage prevents live migration. The UEFI condition and NVRAM persistence details remain where stated.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other · Severity of issue fixed: Low

Merge Risk: ⚪ Minimal · up to db97e

These documentation updates remove a blanket migration warning that repository documentation shows is outdated for the default replicated RWO filesystem backend. No actionable merge risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: correcting documentation about persistent EFI state and VM migration.
Linked Issues check ✅ Passed The changes satisfy issue #4420. They remove the incorrect default-RWO node-pinning and no-live-migration statement from packages/apps/vm-instance/values.yaml, `api/apps/v1alpha1/vminstance/types.go…
Out of Scope Changes check ✅ Passed All reported changes update the firmware.efiPersistent documentation or its generated representations. The changes do not alter defaults, validation, or runtime behavior. The changes have a direct c…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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.

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.

∆Sergey∆ (@opsmon) LGTM — the removed sentence is wrong for the KubeVirt version this repo ships, and all five files match what the generator produces.

The chart only passes the value through. templates/vm.yaml:76 sets bootloader.efi.persistent from efiPersistent, and nothing else in the chart reads it. So the behaviour is KubeVirt's, and the pin is v1.9.0 (packages/system/kubevirt-operator/Makefile).

At v1.9.0 an RWO state PVC does not block live migration. CreatePVCForMigrationTarget in pkg/storage/backend-storage/backend-storage.go creates a new PVC on the target unless the source is RWX, and MigrationHandoff switches to it after the migration. The state PVC is also not in vmi.spec.volumes, so the RWX check in checkVolumesForMigration (pkg/virt-handler/vm.go) does not see it.

I ran make generate in packages/apps/vm-instance on this head and the tree stayed clean. helm unittest passes 59/59, and the old sentence is not left anywhere else in the repo.

@lexfrei
Aleksei Sviridkin (lexfrei) merged commit ec9843b into cozystack:main Sep 28, 2026
84 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/virtualization Issues or PRs related to virtualization (kubevirt, cdi, vmi, vm-import) kind/documentation Categorizes issue or PR as related to documentation size/S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vm-instance: efiPersistent description claims the VM loses live migration on RWO storage

2 participants