Skip to content
This repository was archived by the owner on Feb 6, 2025. It is now read-only.

Commit f6997f9

Browse files
mjuradavidcassany
authored andcommitted
Improve addon upgrade check
1 parent 17b4df5 commit f6997f9

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

internal/pkg/skuba/kubernetes/node_version.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,3 +285,14 @@ func AllNodesMatchClusterVersionWithVersioningInfo(allNodesVersioningInfo NodeVe
285285
}
286286
return true
287287
}
288+
289+
// AllNodesTolerateVersionWithVersioningInfo returns if all nodes tolerate a specific kubernetes version
290+
// This can be used to determine e.g. if an upgrade is ongoing
291+
func AllNodesTolerateClusterVersionWithVersioningInfo(allNodesVersioningInfo NodeVersionInfoMap, clusterVersion *version.Version) bool {
292+
for _, version := range allNodesVersioningInfo {
293+
if !version.ToleratesClusterVersion(clusterVersion) {
294+
return false
295+
}
296+
}
297+
return true
298+
}

pkg/skuba/actions/addon/upgrade/apply.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func Apply(client clientset.Interface) error {
6565
if err != nil {
6666
return err
6767
}
68-
allNodesMatchClusterVersion := kubernetes.AllNodesMatchClusterVersionWithVersioningInfo(allNodesVersioningInfo, currentClusterVersion)
68+
allNodesMatchClusterVersion := kubernetes.AllNodesTolerateClusterVersionWithVersioningInfo(allNodesVersioningInfo, currentClusterVersion)
6969
fmt.Printf("Current Kubernetes cluster version: %s\n", currentVersion)
7070
fmt.Printf("Latest Kubernetes version: %s\n", latestVersion)
7171
fmt.Println()

pkg/skuba/actions/addon/upgrade/plan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func Plan(client clientset.Interface) error {
6262
if err != nil {
6363
return err
6464
}
65-
allNodesMatchClusterVersion := kubernetes.AllNodesMatchClusterVersionWithVersioningInfo(allNodesVersioningInfo, currentClusterVersion)
65+
allNodesMatchClusterVersion := kubernetes.AllNodesTolerateClusterVersionWithVersioningInfo(allNodesVersioningInfo, currentClusterVersion)
6666
fmt.Printf("Current Kubernetes cluster version: %s\n", currentVersion)
6767
fmt.Printf("Latest Kubernetes version: %s\n", latestVersion)
6868
fmt.Println()

0 commit comments

Comments
 (0)