Merge pull request #72685 from yagonobre/bump-minimum

Bump minimum kubeadm supported version to v1.13
This commit is contained in:
Kubernetes Prow Robot 2019-03-06 08:24:10 -08:00 committed by GitHub
commit 5ff303000a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 204 additions and 215 deletions

View File

@ -71,13 +71,13 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
name: "set k8s version", name: "set k8s version",
expectedImageCount: defaultNumberOfImages, expectedImageCount: defaultNumberOfImages,
expectedImageSubstrings: []string{ expectedImageSubstrings: []string{
":v1.12.1", constants.CurrentKubernetesVersion.String(),
}, },
configContents: []byte(dedent.Dedent(` configContents: []byte(dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta1 apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration kind: ClusterConfiguration
kubernetesVersion: v1.12.1 kubernetesVersion: %s
`)), `, constants.CurrentKubernetesVersion))),
}, },
{ {
name: "use coredns", name: "use coredns",

View File

@ -40,7 +40,7 @@ kind: KubeletConfiguration
} }
func TestGetFromConfigMap(t *testing.T) { func TestGetFromConfigMap(t *testing.T) {
k8sVersion := version.MustParseGeneric("v1.12.0") k8sVersion := version.MustParseGeneric(kubeadmconstants.CurrentKubernetesVersion.String())
var tests = []struct { var tests = []struct {
name string name string

View File

@ -387,18 +387,16 @@ var (
ControlPlaneComponents = []string{KubeAPIServer, KubeControllerManager, KubeScheduler} ControlPlaneComponents = []string{KubeAPIServer, KubeControllerManager, KubeScheduler}
// MinimumControlPlaneVersion specifies the minimum control plane version kubeadm can deploy // MinimumControlPlaneVersion specifies the minimum control plane version kubeadm can deploy
MinimumControlPlaneVersion = version.MustParseSemantic("v1.12.0") MinimumControlPlaneVersion = version.MustParseSemantic("v1.13.0")
// MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports // MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports
MinimumKubeletVersion = version.MustParseSemantic("v1.12.0") MinimumKubeletVersion = version.MustParseSemantic("v1.13.0")
// CurrentKubernetesVersion specifies current Kubernetes version supported by kubeadm // CurrentKubernetesVersion specifies current Kubernetes version supported by kubeadm
CurrentKubernetesVersion = version.MustParseSemantic("v1.13.0") CurrentKubernetesVersion = version.MustParseSemantic("v1.14.0")
// SupportedEtcdVersion lists officially supported etcd versions with corresponding Kubernetes releases // SupportedEtcdVersion lists officially supported etcd versions with corresponding Kubernetes releases
SupportedEtcdVersion = map[uint8]string{ SupportedEtcdVersion = map[uint8]string{
10: "3.1.12",
11: "3.2.18",
12: "3.2.24", 12: "3.2.24",
13: "3.2.24", 13: "3.2.24",
14: "3.3.10", 14: "3.3.10",

View File

@ -159,16 +159,6 @@ func TestEtcdSupportedVersion(t *testing.T) {
expectedVersion: nil, expectedVersion: nil,
expectedError: errors.New("Unsupported or unknown Kubernetes version(1.99.0)"), expectedError: errors.New("Unsupported or unknown Kubernetes version(1.99.0)"),
}, },
{
kubernetesVersion: "1.10.2",
expectedVersion: version.MustParseSemantic("3.1.12"),
expectedError: nil,
},
{
kubernetesVersion: "1.11.0",
expectedVersion: version.MustParseSemantic("3.2.18"),
expectedError: nil,
},
{ {
kubernetesVersion: "1.12.1", kubernetesVersion: "1.12.1",
expectedVersion: version.MustParseSemantic("3.2.24"), expectedVersion: version.MustParseSemantic("3.2.24"),

View File

@ -25,8 +25,9 @@ import (
"github.com/coreos/etcd/clientv3" "github.com/coreos/etcd/clientv3"
"github.com/pkg/errors" "github.com/pkg/errors"
apps "k8s.io/api/apps/v1" apps "k8s.io/api/apps/v1"
"k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/version"
versionutil "k8s.io/apimachinery/pkg/util/version" versionutil "k8s.io/apimachinery/pkg/util/version"
clientsetfake "k8s.io/client-go/kubernetes/fake" clientsetfake "k8s.io/client-go/kubernetes/fake"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
@ -121,6 +122,10 @@ func (f fakeEtcdClient) RemoveMember(id uint64) ([]etcdutil.Member, error) {
return []etcdutil.Member{}, nil return []etcdutil.Member{}, nil
} }
func getEtcdVersion(v *version.Version) string {
return constants.SupportedEtcdVersion[uint8(v.Minor())]
}
func TestGetAvailableUpgrades(t *testing.T) { func TestGetAvailableUpgrades(t *testing.T) {
etcdClient := fakeEtcdClient{} etcdClient := fakeEtcdClient{}
tests := []struct { tests := []struct {
@ -137,12 +142,12 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "no action needed, already up-to-date", name: "no action needed, already up-to-date",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.3", clusterVersion: constants.MinimumControlPlaneVersion.String(),
kubeletVersion: "v1.10.3", kubeletVersion: constants.MinimumKubeletVersion.String(),
kubeadmVersion: "v1.10.3", kubeadmVersion: constants.MinimumControlPlaneVersion.String(),
stablePatchVersion: "v1.10.3", stablePatchVersion: constants.MinimumControlPlaneVersion.String(),
stableVersion: "v1.10.3", stableVersion: constants.MinimumControlPlaneVersion.String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "v1.0.6", beforeDNSVersion: "v1.0.6",
@ -155,35 +160,35 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "simple patch version upgrade", name: "simple patch version upgrade",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.1", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
kubeletVersion: "v1.10.1", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(1).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: "v1.10.2", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
stablePatchVersion: "v1.10.3", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
stableVersion: "v1.10.3", stableVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
dnsType: kubeadmapi.CoreDNS, dnsType: kubeadmapi.CoreDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.10 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.1", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.1": 1, constants.MinimumKubeletVersion.WithPatch(1).String(): 1,
}, },
KubeadmVersion: "v1.10.2", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.10.3", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
KubeadmVersion: "v1.10.3", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.1.12", EtcdVersion: getEtcdVersion(constants.MinimumControlPlaneVersion),
}, },
}, },
}, },
@ -194,35 +199,35 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "no version provided to offline version getter does not change behavior", name: "no version provided to offline version getter does not change behavior",
vg: NewOfflineVersionGetter(&fakeVersionGetter{ vg: NewOfflineVersionGetter(&fakeVersionGetter{
clusterVersion: "v1.10.1", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
kubeletVersion: "v1.10.1", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(1).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: "v1.10.2", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
stablePatchVersion: "v1.10.3", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
stableVersion: "v1.10.3", stableVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
}, ""), }, ""),
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
dnsType: kubeadmapi.CoreDNS, dnsType: kubeadmapi.CoreDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.10 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.1", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.1": 1, constants.MinimumKubeletVersion.WithPatch(1).String(): 1,
}, },
KubeadmVersion: "v1.10.2", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.10.3", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
KubeadmVersion: "v1.10.3", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.1.12", EtcdVersion: getEtcdVersion(constants.MinimumControlPlaneVersion),
}, },
}, },
}, },
@ -233,12 +238,12 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "minor version upgrade only", name: "minor version upgrade only",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.1", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
kubeletVersion: "v1.10.1", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(1).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: "v1.11.0", kubeadmVersion: constants.CurrentKubernetesVersion.String(),
stablePatchVersion: "v1.10.1", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
stableVersion: "v1.11.0", stableVersion: constants.CurrentKubernetesVersion.String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -247,21 +252,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "stable version", Description: "stable version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.1", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.1": 1, constants.MinimumKubeletVersion.WithPatch(1).String(): 1,
}, },
KubeadmVersion: "v1.11.0", KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0", KubeVersion: constants.CurrentKubernetesVersion.String(),
KubeadmVersion: "v1.11.0", KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -272,55 +277,55 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "both minor version upgrade and patch version upgrade available", name: "both minor version upgrade and patch version upgrade available",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.3", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
kubeletVersion: "v1.10.3", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(3).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: "v1.10.5", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stablePatchVersion: "v1.10.5", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stableVersion: "v1.11.1", stableVersion: constants.CurrentKubernetesVersion.WithPatch(1).String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
dnsType: kubeadmapi.CoreDNS, dnsType: kubeadmapi.CoreDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.10 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.3", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.3": 1, constants.MinimumKubeletVersion.WithPatch(3).String(): 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
KubeadmVersion: "v1.10.5", // Note: The kubeadm version mustn't be "downgraded" here KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(), // Note: The kubeadm version mustn't be "downgraded" here
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.1.12", EtcdVersion: getEtcdVersion(constants.MinimumControlPlaneVersion),
}, },
}, },
{ {
Description: "stable version", Description: "stable version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.3", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.3": 1, constants.MinimumKubeletVersion.WithPatch(3).String(): 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.1", KubeVersion: constants.CurrentKubernetesVersion.WithPatch(1).String(),
KubeadmVersion: "v1.11.1", KubeadmVersion: constants.CurrentKubernetesVersion.WithPatch(1).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -350,13 +355,13 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "upgrade to an unstable version should be supported", name: "upgrade to an unstable version should be supported",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.5", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
kubeletVersion: "v1.10.5", kubeletVersion: constants.MinimumKubeletVersion.WithPatch(5).String(),
kubeadmVersion: "v1.10.5", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stablePatchVersion: "v1.10.5", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stableVersion: "v1.10.5", stableVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
latestVersion: "v1.11.0-alpha.2", latestVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -365,21 +370,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "experimental version", Description: "experimental version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, constants.MinimumControlPlaneVersion.WithPatch(5).String(): 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0-alpha.2", KubeVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
KubeadmVersion: "v1.11.0-alpha.2", KubeadmVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -390,13 +395,13 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "upgrade from an unstable version to an unstable version should be supported", name: "upgrade from an unstable version to an unstable version should be supported",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.11.0-alpha.1", clusterVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.1").String(),
kubeletVersion: "v1.10.5", kubeletVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
kubeadmVersion: "v1.10.5", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stablePatchVersion: "v1.10.5", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
stableVersion: "v1.10.5", stableVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
latestVersion: "v1.11.0-alpha.2", latestVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -405,21 +410,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "experimental version", Description: "experimental version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.11.0-alpha.1", KubeVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.1").String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, constants.MinimumControlPlaneVersion.WithPatch(5).String(): 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0-alpha.2", KubeVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
KubeadmVersion: "v1.11.0-alpha.2", KubeadmVersion: constants.CurrentKubernetesVersion.WithPreRelease("alpha.2").String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -430,14 +435,14 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "v1.X.0-alpha.0 should be ignored", name: "v1.X.0-alpha.0 should be ignored",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.5", clusterVersion: "v1.11.5",
kubeletVersion: "v1.10.5", kubeletVersion: "v1.11.5",
kubeadmVersion: "v1.10.5", kubeadmVersion: "v1.11.5",
stablePatchVersion: "v1.10.5", stablePatchVersion: "v1.11.5",
stableVersion: "v1.10.5", stableVersion: "v1.11.5",
latestDevBranchVersion: "v1.11.0-beta.1", latestDevBranchVersion: "v1.13.0-beta.1",
latestVersion: constants.MinimumControlPlaneVersion.WithPreRelease("alpha.0").String(), latestVersion: "v1.12.0-alpha.0",
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -446,21 +451,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "experimental version", Description: "experimental version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: "v1.11.5",
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, "v1.11.5": 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: "v1.11.5",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0-beta.1", KubeVersion: "v1.13.0-beta.1",
KubeadmVersion: "v1.11.0-beta.1", KubeadmVersion: "v1.13.0-beta.1",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: "3.2.24",
}, },
}, },
}, },
@ -471,14 +476,14 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "upgrade to an RC version should be supported", name: "upgrade to an RC version should be supported",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.5", clusterVersion: "v1.11.5",
kubeletVersion: "v1.10.5", kubeletVersion: "v1.11.5",
kubeadmVersion: "v1.10.5", kubeadmVersion: "v1.11.5",
stablePatchVersion: "v1.10.5", stablePatchVersion: "v1.11.5",
stableVersion: "v1.10.5", stableVersion: "v1.11.5",
latestDevBranchVersion: "v1.11.0-rc.1", latestDevBranchVersion: "v1.13.0-rc.1",
latestVersion: constants.MinimumControlPlaneVersion.WithPreRelease("alpha.1").String(), latestVersion: "v1.12.0-alpha.1",
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -487,21 +492,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "release candidate version", Description: "release candidate version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: "v1.11.5",
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, "v1.11.5": 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: "v1.11.5",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0-rc.1", KubeVersion: "v1.13.0-rc.1",
KubeadmVersion: "v1.11.0-rc.1", KubeadmVersion: "v1.13.0-rc.1",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: "3.2.24",
}, },
}, },
}, },
@ -512,14 +517,14 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "it is possible (but very uncommon) that the latest version from the previous branch is an rc and the current latest version is alpha.0. In that case, show the RC", name: "it is possible (but very uncommon) that the latest version from the previous branch is an rc and the current latest version is alpha.0. In that case, show the RC",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.5", clusterVersion: "v1.11.5",
kubeletVersion: "v1.10.5", kubeletVersion: "v1.11.5",
kubeadmVersion: "v1.10.5", kubeadmVersion: "v1.11.5",
stablePatchVersion: "v1.10.5", stablePatchVersion: "v1.11.5",
stableVersion: "v1.10.5", stableVersion: "v1.11.5",
latestDevBranchVersion: "v1.11.6-rc.1", latestDevBranchVersion: "v1.13.6-rc.1",
latestVersion: constants.MinimumControlPlaneVersion.WithPatch(1).WithPreRelease("alpha.0").String(), latestVersion: "v1.12.1-alpha.0",
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -528,21 +533,21 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "experimental version", // Note that this is considered an experimental version in this uncommon scenario Description: "experimental version", // Note that this is considered an experimental version in this uncommon scenario
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: "v1.11.5",
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, "v1.11.5": 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: "v1.11.5",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.6-rc.1", KubeVersion: "v1.13.6-rc.1",
KubeadmVersion: "v1.11.6-rc.1", KubeadmVersion: "v1.13.6-rc.1",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: "3.2.24",
}, },
}, },
}, },
@ -553,14 +558,14 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "upgrade to an RC version should be supported. There may also be an even newer unstable version.", name: "upgrade to an RC version should be supported. There may also be an even newer unstable version.",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.5", clusterVersion: "v1.11.5",
kubeletVersion: "v1.10.5", kubeletVersion: "v1.11.5",
kubeadmVersion: "v1.10.5", kubeadmVersion: "v1.11.5",
stablePatchVersion: "v1.10.5", stablePatchVersion: "v1.11.5",
stableVersion: "v1.10.5", stableVersion: "v1.11.5",
latestDevBranchVersion: "v1.11.0-rc.1", latestDevBranchVersion: "v1.13.0-rc.1",
latestVersion: constants.MinimumControlPlaneVersion.WithPreRelease("alpha.2").String(), latestVersion: "v1.12.0-alpha.2",
}, },
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
@ -569,38 +574,38 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
Description: "release candidate version", Description: "release candidate version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: "v1.11.5",
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, "v1.11.5": 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: "v1.11.5",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: "v1.11.0-rc.1", KubeVersion: "v1.13.0-rc.1",
KubeadmVersion: "v1.11.0-rc.1", KubeadmVersion: "v1.13.0-rc.1",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.18", EtcdVersion: "3.2.24",
}, },
}, },
{ {
Description: "experimental version", Description: "experimental version",
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.10.5", KubeVersion: "v1.11.5",
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.10.5": 1, "v1.11.5": 1,
}, },
KubeadmVersion: "v1.10.5", KubeadmVersion: "v1.11.5",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: constants.MinimumControlPlaneVersion.WithPreRelease("alpha.2").String(), KubeVersion: "v1.12.0-alpha.2",
KubeadmVersion: constants.MinimumControlPlaneVersion.WithPreRelease("alpha.2").String(), KubeadmVersion: "v1.12.0-alpha.2",
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.24", EtcdVersion: "3.2.24",
@ -615,11 +620,11 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "Upgrades with external etcd with mismatched versions should not be allowed.", name: "Upgrades with external etcd with mismatched versions should not be allowed.",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.3", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
kubeletVersion: "v1.10.3", kubeletVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
kubeadmVersion: "v1.10.3", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
stablePatchVersion: "v1.10.3", stablePatchVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
stableVersion: "v1.10.3", stableVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
}, },
allowRCs: false, allowRCs: false,
allowExperimental: false, allowExperimental: false,
@ -630,33 +635,33 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "offline version getter", name: "offline version getter",
vg: NewOfflineVersionGetter(&fakeVersionGetter{ vg: NewOfflineVersionGetter(&fakeVersionGetter{
clusterVersion: "v1.11.1", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
kubeletVersion: "v1.11.0", kubeletVersion: constants.MinimumKubeletVersion.String(),
kubeadmVersion: "v1.11.1", kubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
}, constants.MinimumControlPlaneVersion.WithPatch(1).String()), }, constants.CurrentKubernetesVersion.WithPatch(1).String()),
etcdClient: etcdClient, etcdClient: etcdClient,
beforeDNSType: kubeadmapi.CoreDNS, beforeDNSType: kubeadmapi.CoreDNS,
beforeDNSVersion: "1.0.6", beforeDNSVersion: "1.0.6",
dnsType: kubeadmapi.CoreDNS, dnsType: kubeadmapi.CoreDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.11 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.11.1", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.11.0": 1, constants.MinimumKubeletVersion.String(): 1,
}, },
KubeadmVersion: "v1.11.1", KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.0.6", DNSVersion: "1.0.6",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(), KubeVersion: constants.CurrentKubernetesVersion.WithPatch(1).String(),
KubeadmVersion: constants.MinimumControlPlaneVersion.WithPatch(1).String(), KubeadmVersion: constants.CurrentKubernetesVersion.WithPatch(1).String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.24", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -664,12 +669,12 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "kubedns to coredns", name: "kubedns to coredns",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.11.2", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
kubeletVersion: "v1.11.2", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(2).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: constants.MinimumControlPlaneVersion.String(), kubeadmVersion: constants.CurrentKubernetesVersion.String(),
stablePatchVersion: constants.MinimumControlPlaneVersion.String(), stablePatchVersion: constants.CurrentKubernetesVersion.String(),
stableVersion: constants.MinimumControlPlaneVersion.String(), stableVersion: constants.CurrentKubernetesVersion.String(),
}, },
etcdClient: etcdClient, etcdClient: etcdClient,
beforeDNSType: kubeadmapi.KubeDNS, beforeDNSType: kubeadmapi.KubeDNS,
@ -677,23 +682,23 @@ func TestGetAvailableUpgrades(t *testing.T) {
dnsType: kubeadmapi.CoreDNS, dnsType: kubeadmapi.CoreDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.11 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.11.2", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.11.2": 1, constants.MinimumControlPlaneVersion.WithPatch(2).String(): 1,
}, },
KubeadmVersion: constants.MinimumControlPlaneVersion.String(), KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.KubeDNS, DNSType: kubeadmapi.KubeDNS,
DNSVersion: "1.14.7", DNSVersion: "1.14.7",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: constants.MinimumControlPlaneVersion.String(), KubeVersion: constants.CurrentKubernetesVersion.String(),
KubeadmVersion: constants.MinimumControlPlaneVersion.String(), KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.CoreDNS, DNSType: kubeadmapi.CoreDNS,
DNSVersion: "1.3.1", DNSVersion: "1.3.1",
EtcdVersion: "3.2.24", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -701,12 +706,12 @@ func TestGetAvailableUpgrades(t *testing.T) {
{ {
name: "keep coredns", name: "keep coredns",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.11.2", clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
kubeletVersion: "v1.11.2", // the kubelet are on the same version as the control plane kubeletVersion: constants.MinimumKubeletVersion.WithPatch(2).String(), // the kubelet are on the same version as the control plane
kubeadmVersion: constants.MinimumControlPlaneVersion.String(), kubeadmVersion: constants.CurrentKubernetesVersion.String(),
stablePatchVersion: constants.MinimumControlPlaneVersion.String(), stablePatchVersion: constants.CurrentKubernetesVersion.String(),
stableVersion: constants.MinimumControlPlaneVersion.String(), stableVersion: constants.CurrentKubernetesVersion.String(),
}, },
etcdClient: etcdClient, etcdClient: etcdClient,
beforeDNSType: kubeadmapi.KubeDNS, beforeDNSType: kubeadmapi.KubeDNS,
@ -714,23 +719,23 @@ func TestGetAvailableUpgrades(t *testing.T) {
dnsType: kubeadmapi.KubeDNS, dnsType: kubeadmapi.KubeDNS,
expectedUpgrades: []Upgrade{ expectedUpgrades: []Upgrade{
{ {
Description: "version in the v1.11 series", Description: fmt.Sprintf("version in the v%d.%d series", constants.MinimumControlPlaneVersion.Major(), constants.MinimumControlPlaneVersion.Minor()),
Before: ClusterState{ Before: ClusterState{
KubeVersion: "v1.11.2", KubeVersion: constants.MinimumControlPlaneVersion.WithPatch(2).String(),
KubeletVersions: map[string]uint16{ KubeletVersions: map[string]uint16{
"v1.11.2": 1, constants.MinimumControlPlaneVersion.WithPatch(2).String(): 1,
}, },
KubeadmVersion: constants.MinimumControlPlaneVersion.String(), KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.KubeDNS, DNSType: kubeadmapi.KubeDNS,
DNSVersion: "1.14.7", DNSVersion: "1.14.7",
EtcdVersion: "3.1.12", EtcdVersion: "3.1.12",
}, },
After: ClusterState{ After: ClusterState{
KubeVersion: constants.MinimumControlPlaneVersion.String(), KubeVersion: constants.CurrentKubernetesVersion.String(),
KubeadmVersion: constants.MinimumControlPlaneVersion.String(), KubeadmVersion: constants.CurrentKubernetesVersion.String(),
DNSType: kubeadmapi.KubeDNS, DNSType: kubeadmapi.KubeDNS,
DNSVersion: "1.14.13", DNSVersion: "1.14.13",
EtcdVersion: "3.2.24", EtcdVersion: getEtcdVersion(constants.CurrentKubernetesVersion),
}, },
}, },
}, },
@ -874,10 +879,6 @@ func TestGetBranchFromVersion(t *testing.T) {
version: "v1.9.0-rc.1", version: "v1.9.0-rc.1",
expectedVersion: "1.9", expectedVersion: "1.9",
}, },
{
version: constants.MinimumControlPlaneVersion.WithPatch(5).String(),
expectedVersion: "1.12",
},
{ {
version: "v1.11.0-alpha.0", version: "v1.11.0-alpha.0",
expectedVersion: "1.11", expectedVersion: "1.11",

View File

@ -69,14 +69,14 @@ func TestEnforceVersionPolicies(t *testing.T) {
newK8sVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(), newK8sVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
}, },
{ {
name: "new version must be higher than v1.10.0", name: "new version must be higher than v1.12.0",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.10.3", clusterVersion: "v1.12.3",
kubeletVersion: "v1.10.3", kubeletVersion: "v1.12.3",
kubeadmVersion: "v1.10.3", kubeadmVersion: "v1.12.3",
}, },
newK8sVersion: "v1.9.10", newK8sVersion: "v1.11.10",
expectedMandatoryErrs: 1, // version must be higher than v1.10.0 expectedMandatoryErrs: 1, // version must be higher than v1.12.0
expectedSkippableErrs: 1, // can't upgrade old k8s with newer kubeadm expectedSkippableErrs: 1, // can't upgrade old k8s with newer kubeadm
}, },
{ {
@ -93,9 +93,9 @@ func TestEnforceVersionPolicies(t *testing.T) {
{ {
name: "downgrading two minor versions in one go is not supported", name: "downgrading two minor versions in one go is not supported",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.14.3", clusterVersion: "v1.15.3",
kubeletVersion: "v1.14.3", kubeletVersion: "v1.15.3",
kubeadmVersion: "v1.14.0", kubeadmVersion: "v1.15.0",
}, },
newK8sVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(), newK8sVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
expectedMandatoryErrs: 1, // can't downgrade two minor versions expectedMandatoryErrs: 1, // can't downgrade two minor versions
@ -125,7 +125,7 @@ func TestEnforceVersionPolicies(t *testing.T) {
name: "the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though.", name: "the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though.",
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(), clusterVersion: constants.MinimumControlPlaneVersion.WithPatch(3).String(),
kubeletVersion: "v1.11.8", kubeletVersion: "v1.12.8",
kubeadmVersion: constants.CurrentKubernetesVersion.String(), kubeadmVersion: constants.CurrentKubernetesVersion.String(),
}, },
newK8sVersion: constants.CurrentKubernetesVersion.String(), newK8sVersion: constants.CurrentKubernetesVersion.String(),

View File

@ -69,7 +69,7 @@ func TestUploadConfiguration(t *testing.T) {
AdvertiseAddress: "1.2.3.4", AdvertiseAddress: "1.2.3.4",
}, },
ClusterConfiguration: kubeadmapiv1beta1.ClusterConfiguration{ ClusterConfiguration: kubeadmapiv1beta1.ClusterConfiguration{
KubernetesVersion: "v1.12.10", KubernetesVersion: kubeadmconstants.MinimumControlPlaneVersion.WithPatch(10).String(),
}, },
BootstrapTokens: []kubeadmapiv1beta1.BootstrapToken{ BootstrapTokens: []kubeadmapiv1beta1.BootstrapToken{
{ {