fix: skip automatic update check after channel switch in Embedded Cluster to prevent skipped infrastructure upgrades #5622
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.
What this PR does / why we need it:
Fixes an issue where channel switches in Embedded Cluster environments skip infrastructure upgrades, leaving clusters on outdated Kubernetes versions despite the vendor providing updated EmbeddedClusterConfig.
The Problem:
When a license sync triggers a channel switch in EC environments:
CheckForUpdates()which downloads the new channel's releasepkg/version/version.go:DeployVersion)The Root Cause:
KOTS has two distinct deployment flows:
RequiresClusterUpgrade()After a channel switch, the automatic download + manual deploy pattern uses the normal flow, which lacks infrastructure upgrade checks.
The Solution:
In Embedded Cluster environments, skip the automatic
CheckForUpdates()call after channel switches. This allows users to manually check for updates, which can then be properly routed through the upgrade service flow that correctly handles infrastructure upgrades.Changes made in
pkg/handlers/license.go:SyncLicense(): Skip automatic update check in EC after channel changeChangeLicense(): Skip automatic update check in EC after channel changeBehavior after this fix:
Which issue(s) this PR fixes:
Fixes SC-129263
Does this PR require a test?
Tested manually in the local environment. Syncing a license after the channel resulted in the following:

Prior, two new versions showed up in the "All Versions" section with one of them being an upstream update which confusingly didn't deploy the infrastructure.
Does this PR require a release note?
Does this PR require documentation?
NONE