Repository navigation
docs(kubevirt): name every payload line the tail checks do not cover - #4340
Aleksei Sviridkin (lexfrei) merged 2 commits into
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configurationConfiguration used: Repository: cozystack/cozystack/.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:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: cozystack/cozystack/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe KubeVirt ChangesKubeVirt update checks
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~2 minutes Change: Other Merge Risk: ⚪ Minimal · up to This change clarifies the scope of the existing 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Aleksei Sviridkin (lexfrei)
left a comment
There was a problem hiding this comment.
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.
|
Added the |
Aleksei Sviridkin (lexfrei)
left a comment
There was a problem hiding this comment.
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]>
6a44089 to
b6ed32c
Compare
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/Makefilesays the device and CPU payload lines stay outside the marker checks, which reads as if the rest are handled. The- {{ . }}entries inside theextraFeatureGatesanddisabledFeatureGatesranges are neither device nor CPU and are not covered either. Deleting either of them from a copy of the CR and runningmake update CR_FILE=<copy>exits 0 and leaves the range wrapped around nothing, with no check firing; dropping- Templatefrom a clean copy fails the target as a control.The wording now names every uncovered payload line: the device tables, the
cpuAllocationRatiovalue and both feature-gate entries, and keepsmigrationsas 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.
Release note
Summary by CodeRabbit