From 174f3c1087ef31ba7568a2e5fba495843aab2ddc Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 20 Feb 2018 23:46:11 -0500 Subject: [PATCH] Recommend kops 1.8.1, require kops 1.7.1 Applying this only to the alpha channel for now --- channels/alpha | 20 ++++++++++---------- pkg/apis/kops/channel.go | 8 +++++++- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/channels/alpha b/channels/alpha index bb05fbd843..696d666011 100644 --- a/channels/alpha +++ b/channels/alpha @@ -48,22 +48,22 @@ spec: requiredVersion: 1.4.2 kopsVersions: - range: ">=1.8.0-alpha.1" - recommendedVersion: 1.8.0 - #requiredVersion: 1.8.0 + recommendedVersion: 1.8.1 + requiredVersion: 1.7.1 kubernetesVersion: 1.8.7 - range: ">=1.7.0-alpha.1" - recommendedVersion: 1.7.1 - #requiredVersion: 1.7.0 + recommendedVersion: 1.8.1 + requiredVersion: 1.7.1 kubernetesVersion: 1.7.12 - range: ">=1.6.0-alpha.1" - #recommendedVersion: 1.6.0 - #requiredVersion: 1.6.0 + recommendedVersion: 1.8.1 + requiredVersion: 1.7.1 kubernetesVersion: 1.6.13 - range: ">=1.5.0-alpha1" - recommendedVersion: 1.5.1 - #requiredVersion: 1.5.1 + recommendedVersion: 1.8.1 + requiredVersion: 1.7.1 kubernetesVersion: 1.5.8 - range: "<1.5.0" - recommendedVersion: 1.4.4 - #requiredVersion: 1.4.4 + recommendedVersion: 1.8.1 + requiredVersion: 1.7.1 kubernetesVersion: 1.4.12 diff --git a/pkg/apis/kops/channel.go b/pkg/apis/kops/channel.go index c6ec7de0d0..73def2e585 100644 --- a/pkg/apis/kops/channel.go +++ b/pkg/apis/kops/channel.go @@ -55,9 +55,13 @@ type ChannelSpec struct { type KopsVersionSpec struct { Range string `json:"range,omitempty"` + // RecommendedVersion is the recommended version of kops to use for this Range of kops versions RecommendedVersion string `json:"recommendedVersion,omitempty"` - RequiredVersion string `json:"requiredVersion,omitempty"` + // RequiredVersion is the required version of kops to use for this Range of kops versions, forcing an upgrade + RequiredVersion string `json:"requiredVersion,omitempty"` + + // KubernetesVersion is the default version of kubernetes to use with this kops version e.g. for new clusters KubernetesVersion string `json:"kubernetesVersion,omitempty"` } @@ -285,6 +289,8 @@ func (c *Channel) FindImage(provider CloudProviderID, kubernetesVersion semver.V return matches[0] } +// RecommendedKubernetesVersion returns the recommended kubernetes version for a version of kops +// It is used by default when creating a new cluster, for example func RecommendedKubernetesVersion(c *Channel, kopsVersionString string) *semver.Version { kopsVersion, err := semver.ParseTolerant(kopsVersionString) if err != nil {