Repository navigation
fix(lifecycle): run patch image commands on standalone control-plane hosts - #7417
Merged
cuisongliu merged 1 commit intoOct 29, 2026
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7417 +/- ##
==========================================
- Coverage 61.86% 61.49% -0.38%
==========================================
Files 8 8
Lines 653 657 +4
==========================================
Hits 404 404
- Misses 202 206 +4
Partials 47 47 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…hosts Standalone mode skipped control-plane hosts for both rootfs and patch image commands. Rootfs hooks are owned by the dedicated standalone lifecycle, but patch images are the supported mechanism for layering host-level changes (runtimes, node tools) and their scripts already decide per host what to install or skip. Keep the skip for rootfs mounts only.
zijiren233
force-pushed
the
fix/standalone-patch-on-masters
branch
from
October 29, 2026 03:23
49436d9 to
ed680d1
Compare
cuisongliu
approved these changes
Oct 29, 2026
Contributor
|
🤖 says: cherry pick action finished successfully 🎉! |
cuisongliu
pushed a commit
that referenced
this pull request
Oct 29, 2026
…hosts (#7419) fix(lifecycle): run patch image commands on standalone control-plane hosts (#7417) Standalone mode skipped control-plane hosts for both rootfs and patch image commands. Rootfs hooks are owned by the dedicated standalone lifecycle, but patch images are the supported mechanism for layering host-level changes (runtimes, node tools) and their scripts already decide per host what to install or skip. Keep the skip for rootfs mounts only. Co-authored-by: zijiren <84728412+zijiren233@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #7344.
Problem
The standalone control-plane guard added in #7344 lives in the shared
guest.Applypath, so it skipped control-plane hosts for both rootfs and patch image commands. Patch images are the supported mechanism for layering host-level changes (runtimes, node tooling, image-cri-shim upgrades), and their scripts already decide per host what to install or skip; on a standalone cluster those commands never ran on masters, which only received file distribution while workers executed everything.Change
Keep the skip for rootfs mounts only. In standalone mode the rootfs image hooks are owned by the dedicated standalone lifecycle (containerd, kubelet, static control-plane pods, route controller); patch and application images keep their normal semantics:
Note this is a deliberate behavior change: every patch image now executes on standalone masters. For example an image-cri-shim upgrade patch must run there, since image-cri-shim is installed and active on standalone masters.
Validation
Standalone test cluster (3 control-plane hosts without Node objects, 2 workers, Kubernetes 1.33.6, containerd 1.7, Cilium), sealos built from this branch.
sealos runof three patch images (gVisor runtime, stargz snapshotter, combined runsc-stargz handler):RuntimeClassapplied only on the host holding~/.kube/config(runtimeclass.node.k8s.io/gvisor unchanged), other masters logged the no-kubeconfig noticealready installed; refreshing configuration,configuration unchanged; containerd restart not needed, containerdActiveEnterTimestampunchangedgvisor,stargz,gvisor-stargz),runscstill absent from all control-plane hosts