mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-11 04:52:08 +00:00
Bump minimum kubeadm supported version to v1.12
This commit is contained in:
parent
257205d656
commit
59d2f13850
@ -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",
|
||||||
|
@ -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
|
||||||
|
@ -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",
|
||||||
|
@ -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"),
|
||||||
|
@ -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",
|
||||||
|
@ -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(),
|
||||||
|
@ -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{
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user