diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go index d8b9c763eb7..36584da4add 100644 --- a/cmd/kubeadm/app/constants/constants.go +++ b/cmd/kubeadm/app/constants/constants.go @@ -236,6 +236,7 @@ var ( 8: "3.0.17", 9: "3.1.10", 10: "3.1.10", + 11: "3.1.10", } ) diff --git a/cmd/kubeadm/app/phases/addons/dns/dns.go b/cmd/kubeadm/app/phases/addons/dns/dns.go index ffa7250c119..4f1db3d045e 100644 --- a/cmd/kubeadm/app/phases/addons/dns/dns.go +++ b/cmd/kubeadm/app/phases/addons/dns/dns.go @@ -75,7 +75,7 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac // Get the YAML manifest conditionally based on the k8s version kubeDNSDeploymentBytes := GetKubeDNSManifest(k8sVersion) dnsDeploymentBytes, err := kubeadmutil.ParseTemplate(kubeDNSDeploymentBytes, - struct{ ImageRepository, Arch, Version, DNSBindAddr, DNSProbeAddr, DNSDomain, DNSProbeType, MasterTaintKey string }{ + struct{ ImageRepository, Arch, Version, DNSBindAddr, DNSProbeAddr, DNSDomain, MasterTaintKey string }{ ImageRepository: cfg.ImageRepository, Arch: runtime.GOARCH, // Get the kube-dns version conditionally based on the k8s version @@ -83,7 +83,6 @@ func kubeDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac DNSBindAddr: dnsBindAddr, DNSProbeAddr: dnsProbeAddr, DNSDomain: cfg.Networking.DNSDomain, - DNSProbeType: GetKubeDNSProbeType(k8sVersion), MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster, }) if err != nil { diff --git a/cmd/kubeadm/app/phases/addons/dns/dns_test.go b/cmd/kubeadm/app/phases/addons/dns/dns_test.go index 55967aae3d7..c144dc49e04 100644 --- a/cmd/kubeadm/app/phases/addons/dns/dns_test.go +++ b/cmd/kubeadm/app/phases/addons/dns/dns_test.go @@ -92,14 +92,13 @@ func TestCompileManifests(t *testing.T) { }{ { manifest: v180AndAboveKubeDNSDeployment, - data: struct{ ImageRepository, Arch, Version, DNSBindAddr, DNSProbeAddr, DNSDomain, DNSProbeType, MasterTaintKey string }{ + data: struct{ ImageRepository, Arch, Version, DNSBindAddr, DNSProbeAddr, DNSDomain, MasterTaintKey string }{ ImageRepository: "foo", Arch: "foo", Version: "foo", DNSBindAddr: "foo", DNSProbeAddr: "foo", DNSDomain: "foo", - DNSProbeType: "foo", MasterTaintKey: "foo", }, expected: true, diff --git a/cmd/kubeadm/app/phases/addons/dns/manifests.go b/cmd/kubeadm/app/phases/addons/dns/manifests.go index ce2de307400..e2d0f60a3d1 100644 --- a/cmd/kubeadm/app/phases/addons/dns/manifests.go +++ b/cmd/kubeadm/app/phases/addons/dns/manifests.go @@ -156,8 +156,8 @@ spec: args: - --v=2 - --logtostderr - - --probe=kubedns,{{ .DNSProbeAddr }}:10053,kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }} - - --probe=dnsmasq,{{ .DNSProbeAddr }}:53,kubernetes.default.svc.{{ .DNSDomain }},5,{{ .DNSProbeType }} + - --probe=kubedns,{{ .DNSProbeAddr }}:10053,kubernetes.default.svc.{{ .DNSDomain }},5,SRV + - --probe=dnsmasq,{{ .DNSProbeAddr }}:53,kubernetes.default.svc.{{ .DNSDomain }},5,SRV ports: - containerPort: 10054 name: metrics diff --git a/cmd/kubeadm/app/phases/addons/dns/versions.go b/cmd/kubeadm/app/phases/addons/dns/versions.go index 96267a9f7f8..c728f55f09c 100644 --- a/cmd/kubeadm/app/phases/addons/dns/versions.go +++ b/cmd/kubeadm/app/phases/addons/dns/versions.go @@ -22,48 +22,26 @@ import ( ) const ( - kubeDNSv180AndAboveVersion = "1.14.5" kubeDNSv190AndAboveVersion = "1.14.7" - - kubeDNSProbeSRV = "SRV" - kubeDNSProbeA = "A" - coreDNSVersion = "1.0.1" + coreDNSVersion = "1.0.1" ) // GetDNSVersion returns the right kube-dns version for a specific k8s version func GetDNSVersion(kubeVersion *version.Version, dns string) string { - // v1.8.0+ uses kube-dns 1.14.5 // v1.9.0+ uses kube-dns 1.14.7 - // v1.9.0+ uses CoreDNS 1.0.1 + // v1.9.0+ uses CoreDNS 1.0.1 if feature gate "CoreDNS" is enabled. // In the future when the version is bumped at HEAD; add conditional logic to return the right versions // Also, the version might be bumped for different k8s releases on the same branch switch dns { - case kubeadmconstants.KubeDNS: - // return the kube-dns version - if kubeVersion.Major() == 1 && kubeVersion.Minor() >= 9 { - return kubeDNSv190AndAboveVersion - } - return kubeDNSv180AndAboveVersion case kubeadmconstants.CoreDNS: // return the CoreDNS version return coreDNSVersion default: - return kubeDNSv180AndAboveVersion + return kubeDNSv190AndAboveVersion } } -// GetKubeDNSProbeType returns the right kube-dns probe for a specific k8s version -func GetKubeDNSProbeType(kubeVersion *version.Version) string { - // v1.8.0+ uses type A, just return that here - // In the future when the kube-dns version is bumped at HEAD; add conditional logic to return the right versions - // Also, the version might be bumped for different k8s releases on the same branch - if kubeVersion.Major() == 1 && kubeVersion.Minor() >= 9 { - return kubeDNSProbeSRV - } - return kubeDNSProbeA -} - // GetKubeDNSManifest returns the right kube-dns YAML manifest for a specific k8s version func GetKubeDNSManifest(kubeVersion *version.Version) string { // v1.8.0+ has only one known YAML manifest spec, just return that here diff --git a/cmd/kubeadm/app/phases/addons/dns/versions_test.go b/cmd/kubeadm/app/phases/addons/dns/versions_test.go index 7580ba19a31..c4ca3e78f89 100644 --- a/cmd/kubeadm/app/phases/addons/dns/versions_test.go +++ b/cmd/kubeadm/app/phases/addons/dns/versions_test.go @@ -25,45 +25,38 @@ import ( func TestGetKubeDNSVersion(t *testing.T) { var tests = []struct { - k8sVersion, expected string + k8sVersion string + dns string + expected string }{ { - k8sVersion: "v1.7.0", - expected: "1.14.5", + k8sVersion: "v1.9.0", + dns: kubeadmconstants.KubeDNS, + expected: kubeDNSv190AndAboveVersion, }, { - k8sVersion: "v1.7.1", - expected: "1.14.5", - }, - { - k8sVersion: "v1.7.2", - expected: "1.14.5", - }, - { - k8sVersion: "v1.7.3", - expected: "1.14.5", - }, - { - k8sVersion: "v1.8.0-alpha.2", - expected: "1.14.5", - }, - { - k8sVersion: "v1.8.0", - expected: "1.14.5", + k8sVersion: "v1.10.0", + dns: kubeadmconstants.KubeDNS, + expected: kubeDNSv190AndAboveVersion, }, { k8sVersion: "v1.9.0", - expected: "1.14.7", + dns: kubeadmconstants.CoreDNS, + expected: coreDNSVersion, + }, + { + k8sVersion: "v1.10.0", + dns: kubeadmconstants.CoreDNS, + expected: coreDNSVersion, }, } for _, rt := range tests { - k8sVersion, err := version.ParseSemantic(rt.k8sVersion) if err != nil { t.Fatalf("couldn't parse kubernetes version %q: %v", rt.k8sVersion, err) } - actualDNSVersion := GetDNSVersion(k8sVersion, kubeadmconstants.KubeDNS) + actualDNSVersion := GetDNSVersion(k8sVersion, rt.dns) if actualDNSVersion != rt.expected { t.Errorf( "failed GetDNSVersion:\n\texpected: %s\n\t actual: %s", @@ -73,54 +66,3 @@ func TestGetKubeDNSVersion(t *testing.T) { } } } - -func TestGetKubeDNSProbeType(t *testing.T) { - var tests = []struct { - k8sVersion, expected string - }{ - { - k8sVersion: "v1.7.0", - expected: "A", - }, - { - k8sVersion: "v1.7.1", - expected: "A", - }, - { - k8sVersion: "v1.7.2", - expected: "A", - }, - { - k8sVersion: "v1.7.3", - expected: "A", - }, - { - k8sVersion: "v1.8.0-alpha.2", - expected: "A", - }, - { - k8sVersion: "v1.8.0", - expected: "A", - }, - { - k8sVersion: "v1.9.0", - expected: "SRV", - }, - } - for _, rt := range tests { - - k8sVersion, err := version.ParseSemantic(rt.k8sVersion) - if err != nil { - t.Fatalf("couldn't parse kubernetes version %q: %v", rt.k8sVersion, err) - } - - actualDNSProbeType := GetKubeDNSProbeType(k8sVersion) - if actualDNSProbeType != rt.expected { - t.Errorf( - "failed GetKubeDNSProbeType:\n\texpected: %s\n\t actual: %s", - rt.expected, - actualDNSProbeType, - ) - } - } -} diff --git a/cmd/kubeadm/app/phases/upgrade/compute_test.go b/cmd/kubeadm/app/phases/upgrade/compute_test.go index 0ca86fa184c..7835493f79a 100644 --- a/cmd/kubeadm/app/phases/upgrade/compute_test.go +++ b/cmd/kubeadm/app/phases/upgrade/compute_test.go @@ -47,7 +47,7 @@ func (f *fakeVersionGetter) VersionFromCILabel(ciVersionLabel, _ string) (string if ciVersionLabel == "latest" { return f.latestVersion, versionutil.MustParseSemantic(f.latestVersion), nil } - if ciVersionLabel == "latest-1.9" { + if ciVersionLabel == "latest-1.10" { return f.latestDevBranchVersion, versionutil.MustParseSemantic(f.latestDevBranchVersion), nil } return f.stablePatchVersion, versionutil.MustParseSemantic(f.stablePatchVersion), nil @@ -64,7 +64,7 @@ type fakeEtcdCluster struct{} func (f fakeEtcdCluster) GetEtcdClusterStatus() (*clientv3.StatusResponse, error) { client := &clientv3.StatusResponse{} - client.Version = "3.0.14" + client.Version = "3.1.10" return client, nil } @@ -78,12 +78,12 @@ func TestGetAvailableUpgrades(t *testing.T) { }{ { // no action needed, already up-to-date vg: &fakeVersionGetter{ - clusterVersion: "v1.8.3", - kubeletVersion: "v1.8.3", - kubeadmVersion: "v1.8.3", + clusterVersion: "v1.9.3", + kubeletVersion: "v1.9.3", + kubeadmVersion: "v1.9.3", - stablePatchVersion: "v1.8.3", - stableVersion: "v1.8.3", + stablePatchVersion: "v1.9.3", + stableVersion: "v1.9.3", }, expectedUpgrades: []Upgrade{}, allowExperimental: false, @@ -91,30 +91,30 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // simple patch version upgrade vg: &fakeVersionGetter{ - clusterVersion: "v1.8.1", - kubeletVersion: "v1.8.1", // the kubelet are on the same version as the control plane - kubeadmVersion: "v1.8.2", + clusterVersion: "v1.9.1", + kubeletVersion: "v1.9.1", // the kubelet are on the same version as the control plane + kubeadmVersion: "v1.9.2", - stablePatchVersion: "v1.8.3", - stableVersion: "v1.8.3", + stablePatchVersion: "v1.9.3", + stableVersion: "v1.9.3", }, expectedUpgrades: []Upgrade{ { - Description: "version in the v1.8 series", + Description: "version in the v1.9 series", Before: ClusterState{ - KubeVersion: "v1.8.1", + KubeVersion: "v1.9.1", KubeletVersions: map[string]uint16{ - "v1.8.1": 1, + "v1.9.1": 1, }, - KubeadmVersion: "v1.8.2", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.2", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.8.3", - KubeadmVersion: "v1.8.3", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.17", + KubeVersion: "v1.9.3", + KubeadmVersion: "v1.9.3", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, }, }, @@ -123,28 +123,28 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // minor version upgrade only vg: &fakeVersionGetter{ - clusterVersion: "v1.8.1", - kubeletVersion: "v1.8.1", // the kubelet are on the same version as the control plane - kubeadmVersion: "v1.9.0", + clusterVersion: "v1.9.1", + kubeletVersion: "v1.9.1", // the kubelet are on the same version as the control plane + kubeadmVersion: "v1.10.0", - stablePatchVersion: "v1.8.1", - stableVersion: "v1.9.0", + stablePatchVersion: "v1.9.1", + stableVersion: "v1.10.0", }, expectedUpgrades: []Upgrade{ { Description: "stable version", Before: ClusterState{ - KubeVersion: "v1.8.1", + KubeVersion: "v1.9.1", KubeletVersions: map[string]uint16{ - "v1.8.1": 1, + "v1.9.1": 1, }, - KubeadmVersion: "v1.9.0", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.10.0", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0", - KubeadmVersion: "v1.9.0", + KubeVersion: "v1.10.0", + KubeadmVersion: "v1.10.0", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -155,46 +155,46 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // both minor version upgrade and patch version upgrade available vg: &fakeVersionGetter{ - clusterVersion: "v1.8.3", - kubeletVersion: "v1.8.3", // the kubelet are on the same version as the control plane - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.3", + kubeletVersion: "v1.9.3", // the kubelet are on the same version as the control plane + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.9.1", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.10.1", }, expectedUpgrades: []Upgrade{ { - Description: "version in the v1.8 series", + Description: "version in the v1.9 series", Before: ClusterState{ - KubeVersion: "v1.8.3", + KubeVersion: "v1.9.3", KubeletVersions: map[string]uint16{ - "v1.8.3": 1, + "v1.9.3": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.8.5", - KubeadmVersion: "v1.8.5", // Note: The kubeadm version mustn't be "downgraded" here - DNSVersion: "1.14.5", - EtcdVersion: "3.0.17", + KubeVersion: "v1.9.5", + KubeadmVersion: "v1.9.5", // Note: The kubeadm version mustn't be "downgraded" here + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, }, { Description: "stable version", Before: ClusterState{ - KubeVersion: "v1.8.3", + KubeVersion: "v1.9.3", KubeletVersions: map[string]uint16{ - "v1.8.3": 1, + "v1.9.3": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.1", - KubeadmVersion: "v1.9.1", + KubeVersion: "v1.10.1", + KubeadmVersion: "v1.10.1", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -205,13 +205,13 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // allow experimental upgrades, but no upgrade available vg: &fakeVersionGetter{ - clusterVersion: "v1.9.0-alpha.2", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.10.0-alpha.2", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestVersion: "v1.9.0-alpha.2", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestVersion: "v1.10.0-alpha.2", }, expectedUpgrades: []Upgrade{}, allowExperimental: true, @@ -219,29 +219,29 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // upgrade to an unstable version should be supported vg: &fakeVersionGetter{ - clusterVersion: "v1.8.5", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.5", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestVersion: "v1.9.0-alpha.2", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestVersion: "v1.10.0-alpha.2", }, expectedUpgrades: []Upgrade{ { Description: "experimental version", Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0-alpha.2", - KubeadmVersion: "v1.9.0-alpha.2", + KubeVersion: "v1.10.0-alpha.2", + KubeadmVersion: "v1.10.0-alpha.2", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -252,29 +252,29 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // upgrade from an unstable version to an unstable version should be supported vg: &fakeVersionGetter{ - clusterVersion: "v1.9.0-alpha.1", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.10.0-alpha.1", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestVersion: "v1.9.0-alpha.2", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestVersion: "v1.10.0-alpha.2", }, expectedUpgrades: []Upgrade{ { Description: "experimental version", Before: ClusterState{ - KubeVersion: "v1.9.0-alpha.1", + KubeVersion: "v1.10.0-alpha.1", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", + KubeadmVersion: "v1.9.5", DNSVersion: "1.14.7", - EtcdVersion: "3.0.14", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0-alpha.2", - KubeadmVersion: "v1.9.0-alpha.2", + KubeVersion: "v1.10.0-alpha.2", + KubeadmVersion: "v1.10.0-alpha.2", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -285,30 +285,30 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // v1.X.0-alpha.0 should be ignored vg: &fakeVersionGetter{ - clusterVersion: "v1.8.5", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.5", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestDevBranchVersion: "v1.9.0-beta.1", - latestVersion: "v1.10.0-alpha.0", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestDevBranchVersion: "v1.10.0-beta.1", + latestVersion: "v1.11.0-alpha.0", }, expectedUpgrades: []Upgrade{ { Description: "experimental version", Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0-beta.1", - KubeadmVersion: "v1.9.0-beta.1", + KubeVersion: "v1.10.0-beta.1", + KubeadmVersion: "v1.10.0-beta.1", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -319,30 +319,30 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // upgrade to an RC version should be supported vg: &fakeVersionGetter{ - clusterVersion: "v1.8.5", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.5", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestDevBranchVersion: "v1.9.0-rc.1", - latestVersion: "v1.10.0-alpha.1", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestDevBranchVersion: "v1.10.0-rc.1", + latestVersion: "v1.11.0-alpha.1", }, expectedUpgrades: []Upgrade{ { Description: "release candidate version", Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0-rc.1", - KubeadmVersion: "v1.9.0-rc.1", + KubeVersion: "v1.10.0-rc.1", + KubeadmVersion: "v1.10.0-rc.1", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -353,30 +353,30 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // 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{ - clusterVersion: "v1.8.5", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.5", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestDevBranchVersion: "v1.9.6-rc.1", - latestVersion: "v1.10.1-alpha.0", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestDevBranchVersion: "v1.10.6-rc.1", + latestVersion: "v1.11.1-alpha.0", }, expectedUpgrades: []Upgrade{ { Description: "experimental version", // Note that this is considered an experimental version in this uncommon scenario Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.6-rc.1", - KubeadmVersion: "v1.9.6-rc.1", + KubeVersion: "v1.10.6-rc.1", + KubeadmVersion: "v1.10.6-rc.1", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -387,30 +387,30 @@ func TestGetAvailableUpgrades(t *testing.T) { }, { // upgrade to an RC version should be supported. There may also be an even newer unstable version. vg: &fakeVersionGetter{ - clusterVersion: "v1.8.5", - kubeletVersion: "v1.8.5", - kubeadmVersion: "v1.8.5", + clusterVersion: "v1.9.5", + kubeletVersion: "v1.9.5", + kubeadmVersion: "v1.9.5", - stablePatchVersion: "v1.8.5", - stableVersion: "v1.8.5", - latestDevBranchVersion: "v1.9.0-rc.1", - latestVersion: "v1.10.0-alpha.2", + stablePatchVersion: "v1.9.5", + stableVersion: "v1.9.5", + latestDevBranchVersion: "v1.10.0-rc.1", + latestVersion: "v1.11.0-alpha.2", }, expectedUpgrades: []Upgrade{ { Description: "release candidate version", Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.9.0-rc.1", - KubeadmVersion: "v1.9.0-rc.1", + KubeVersion: "v1.10.0-rc.1", + KubeadmVersion: "v1.10.0-rc.1", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -418,17 +418,17 @@ func TestGetAvailableUpgrades(t *testing.T) { { Description: "experimental version", Before: ClusterState{ - KubeVersion: "v1.8.5", + KubeVersion: "v1.9.5", KubeletVersions: map[string]uint16{ - "v1.8.5": 1, + "v1.9.5": 1, }, - KubeadmVersion: "v1.8.5", - DNSVersion: "1.14.5", - EtcdVersion: "3.0.14", + KubeadmVersion: "v1.9.5", + DNSVersion: "1.14.7", + EtcdVersion: "3.1.10", }, After: ClusterState{ - KubeVersion: "v1.10.0-alpha.2", - KubeadmVersion: "v1.10.0-alpha.2", + KubeVersion: "v1.11.0-alpha.2", + KubeadmVersion: "v1.11.0-alpha.2", DNSVersion: "1.14.7", EtcdVersion: "3.1.10", }, @@ -463,36 +463,36 @@ func TestKubeletUpgrade(t *testing.T) { }{ { // upgrade available before: map[string]uint16{ - "v1.7.1": 1, + "v1.9.1": 1, }, - after: "v1.7.3", + after: "v1.9.3", expected: true, }, { // upgrade available before: map[string]uint16{ - "v1.7.1": 1, - "v1.7.3": 100, + "v1.9.1": 1, + "v1.9.3": 100, }, - after: "v1.7.3", + after: "v1.9.3", expected: true, }, { // upgrade not available before: map[string]uint16{ - "v1.7.3": 1, + "v1.9.3": 1, }, - after: "v1.7.3", + after: "v1.9.3", expected: false, }, { // upgrade not available before: map[string]uint16{ - "v1.7.3": 100, + "v1.9.3": 100, }, - after: "v1.7.3", + after: "v1.9.3", expected: false, }, { // upgrade not available if we don't know anything about the earlier state before: map[string]uint16{}, - after: "v1.7.3", + after: "v1.9.3", expected: false, }, }