Skip to content

docs(kubevirt): name every payload line the tail checks do not cover - #4340

Merged
Aleksei Sviridkin (lexfrei) merged 2 commits into
cozystack:mainfrom
yankawai:fix/kubevirt-tail-check-wording
Sep 23, 2026
Merged

Aleksei Sviridkin (lexfrei) merged 2 commits into
cozystack:mainfrom
yankawai:fix/kubevirt-tail-check-wording

Conversation

@yankawai

@yankawai europrinter (yankawai) commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

What this PR does

Follow-up to a review comment on #4254 that was right and landed after the merge.

The sentence that PR left in packages/system/kubevirt/Makefile says the device and CPU payload lines stay outside the marker checks, which reads as if the rest are handled. The - {{ . }} entries inside the extraFeatureGates and disabledFeatureGates ranges are neither device nor CPU and are not covered either. Deleting either of them from a copy of the CR and running make update CR_FILE=<copy> exits 0 and leaves the range wrapped around nothing, with no check firing; dropping - Template from a clean copy fails the target as a control.

The wording now names every uncovered payload line: the device tables, the cpuAllocationRatio value and both feature-gate entries, and keeps migrations as the one block validated whole. Covering those payloads in code is a wider change; happy to do it separately if that is wanted.

Screenshots

Not a UI change.

Downstream repositories

Comment-only change in one Makefile.

  • No downstream repository is affected by this change

Release note

NONE

Summary by CodeRabbit

  • Documentation
    • Clarified update validation guidance for disabled-feature markers.
    • Documented partial-block recovery requirements and the workflow for restoring missing markers.

@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 18, 2026
@coderabbitai

coderabbitai Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

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

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration

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

Review profile: CHILL

Plan: Advanced

Run ID: 8bc82a2c-9835-41d3-b516-471b92416fb8

📥 Commits

Reviewing files that changed from the base of the PR and between 6a44089 and b6ed32c.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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: 23553aa5-c693-40d5-aa2c-79c0c897f919

📥 Commits

Reviewing files that changed from the base of the PR and between 5e7f047 and 6a44089.

📒 Files selected for processing (1)
  • packages/system/kubevirt/Makefile
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/system/kubevirt/Makefile

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


📝 Walkthrough

Walkthrough

The KubeVirt make update comments now clarify which content the sanity checks validate and state that operators must restore missing markers in partial blocks before rerunning the command.

Changes

KubeVirt update checks

Layer / File(s) Summary
Sanity-check coverage comments
packages/system/kubevirt/Makefile
The comments specify that only three static disabled-feature markers are checked individually, while migrations is validated as a complete block. They identify payload lines excluded from marker-by-marker checks and state that partial blocks require manual repair.

Priority: ⬇️ Low

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

Change: Other

Merge Risk: ⚪ Minimal · up to 6a440

This change clarifies the scope of the existing make update checks without changing their behavior; no actionable merge risk is identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'docs(kubevirt): name every payload line the tail checks do not cover' directly reflects the main change in the PR. The changeset updates Makefile comments to identify and name …
✨ 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.

europrinter (@yankawai) NOT LGTM. Every claim in the new comment holds, but the list still misses one uncovered payload line, so the comment is not complete yet.

Business context: the comment #4254 left in the kubevirt make update recipe reads as if only the device and CPU payloads escape the tail checks, and this PR is meant to name every payload line that does.

The missing one is the entry that renders each disabled gate a user adds. It has the same shape as the extraFeatureGates entry: a - {{ . }} line inside a range, and no check looks at it. Makefile line 84 greps only the {{- range .Values.disabledFeatureGates }} directive. Lines 85-88 grep the key and the three static entries. On a copy of templates/kubevirt-cr.yaml I deleted that line (line 97), and make update CR_FILE=<copy> exits 0. Rendering the copy with disabledFeatureGates={DeclarativeHotplugVolumes} gives a list without that gate, so a configured value silently stops taking effect. As a control, dropping - Template from a clean copy fails the target as expected.

The rest checks out. The device tables, the cpuAllocationRatio value and the extraFeatureGates entry are all outside the checks, and I got the same exit 0 on the extraFeatureGates case. The awk at lines 98-102 is the only check that validates a block whole.

Two ways to fix it: add the disabledFeatureGates entry to the list, or drop the list. "Every other payload line stays outside these checks" is true without it, and the list is the part that goes stale. The PR body becomes the merge commit message as is, so "names all three uncovered payloads" there needs the same fix.

I'm not asking for the code change you deferred.

@yankawai

Copy link
Copy Markdown
Contributor Author

Added the disabledFeatureGates entry to the list. Deleting it from a copy of the CR leaves make update at exit 0 as you found, and dropping - Template still fails the target. The body no longer says three.

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.

europrinter (@yankawai) LGTM. The list is complete now: every payload line the inserts add is either checked by the tail or named in the comment.

I built the set from the inserts myself. The tail greps each insert's directive, the disabledFeatureGates: key and the three static entries, and the awk checks the migrations block whole. That leaves the device tables, the cpuAllocationRatio line and the two - {{ . }} entries, which is what the comment lists. On copies of the CR, deleting either - {{ . }} entry, the cpuAllocationRatio line or the permittedHostDevices toYaml line leaves make update CR_FILE=<copy> at exit 0. Dropping - Template still fails the target.

The other sentences hold, and the body no longer says three.

The sentence cozystack#4254 left behind says the device and CPU payload lines stay
outside the marker checks, which reads as if the rest are handled. The
extraFeatureGates entry is neither device nor CPU and is not covered either:
deleting `      - {{ . }}` under its range on a copy of the CR and running
`make update CR_FILE=<copy>` exits 0 and leaves the range wrapped around
nothing, with no check firing. The sentence it replaced covered that case.

Assisted-by: LLM
Signed-off-by: Yan Bondarenko <[email protected]>
…ines

The disabledFeatureGates range renders each gate a user adds through a
`- {{ . }}` line with the same shape as the extraFeatureGates entry, and
no check looks at it either: deleting it from a copy of the CR leaves
`make update` exiting 0 and the configured gate silently stops taking
effect. The comment listed the extraFeatureGates entry alone, so it read
as complete while one uncovered line was missing from it.

Signed-off-by: Yan Bondarenko <[email protected]>
@lexfrei
Aleksei Sviridkin (lexfrei) merged commit eec069b into cozystack:main Sep 23, 2026
16 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.

2 participants