Merge pull request #17426 from rifelpet/upgrade-minor

Fix minor version upgrade recommendations
This commit is contained in:
Kubernetes Prow Robot 2025-06-07 10:10:40 -07:00 committed by GitHub
commit 3630433cf3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 21 additions and 0 deletions

View File

@ -172,6 +172,27 @@ func RunUpgradeCluster(ctx context.Context, f *util.Factory, out io.Writer, opti
if err != nil {
klog.Warningf("error parsing KubernetesVersion %q", versionInfo.RecommendedVersion)
}
// Try a minor version upgrade
minorUpgradeVersion := semver.Version{
Major: proposedKubernetesVersion.Major,
Minor: proposedKubernetesVersion.Minor + 1,
Patch: 0,
}
kopsVersion, err := semver.ParseTolerant(kops.Version)
if err != nil {
klog.Warningf("error parsing kOps version %q", kops.Version)
}
if minorUpgradeVersion.LTE(kopsVersion) {
minorUpgradeInfo := kopsapi.FindKubernetesVersionSpec(channel.Spec.KubernetesVersions, minorUpgradeVersion)
if minorUpgradeInfo != nil {
proposedMinorUpgradeVersion, err := kopsutil.ParseKubernetesVersion(minorUpgradeInfo.RecommendedVersion)
if err != nil {
klog.Warningf("error parsing KubernetesVersion %q", minorUpgradeInfo.RecommendedVersion)
} else {
proposedKubernetesVersion = proposedMinorUpgradeVersion
}
}
}
}
} else {
// fallback to recommended version by kOps version, but this is not the usual path