diff --git a/cmd/kubeadm/app/cmd/phases/controlplane_test.go b/cmd/kubeadm/app/cmd/phases/controlplane_test.go index 5f0ea93e87f..f64fa053fb5 100644 --- a/cmd/kubeadm/app/cmd/phases/controlplane_test.go +++ b/cmd/kubeadm/app/cmd/phases/controlplane_test.go @@ -91,7 +91,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) { { command: "all", additionalFlags: []string{ - "--kubernetes-version=v1.7.0", + "--kubernetes-version=v1.8.0", "--apiserver-advertise-address=1.2.3.4", "--apiserver-bind-port=6443", "--service-cidr=1.2.3.4/16", @@ -106,7 +106,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) { { command: "apiserver", additionalFlags: []string{ - "--kubernetes-version=v1.7.0", + "--kubernetes-version=v1.8.0", "--apiserver-advertise-address=1.2.3.4", "--apiserver-bind-port=6443", "--service-cidr=1.2.3.4/16", @@ -116,7 +116,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) { { command: "controller-manager", additionalFlags: []string{ - "--kubernetes-version=v1.7.0", + "--kubernetes-version=v1.8.0", "--pod-network-cidr=1.2.3.4/16", }, expectedFiles: []string{"kube-controller-manager.yaml"}, @@ -124,7 +124,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) { { command: "scheduler", additionalFlags: []string{ - "--kubernetes-version=v1.7.0", + "--kubernetes-version=v1.8.0", }, expectedFiles: []string{"kube-scheduler.yaml"}, }, diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go index 9e1239eaa9a..c706466a9b3 100644 --- a/cmd/kubeadm/app/constants/constants.go +++ b/cmd/kubeadm/app/constants/constants.go @@ -206,7 +206,7 @@ var ( MasterComponents = []string{KubeAPIServer, KubeControllerManager, KubeScheduler} // MinimumControlPlaneVersion specifies the minimum control plane version kubeadm can deploy - MinimumControlPlaneVersion = version.MustParseSemantic("v1.7.0") + MinimumControlPlaneVersion = version.MustParseSemantic("v1.8.0") // MinimumCSRAutoApprovalClusterRolesVersion defines whether kubeadm can rely on the built-in CSR approval ClusterRole or not (note, the binding is always created by kubeadm!) // TODO: Remove this when the v1.9 cycle starts and we bump the minimum supported version to v1.8.0 @@ -217,7 +217,7 @@ var ( UseEnableBootstrapTokenAuthFlagVersion = version.MustParseSemantic("v1.8.0-beta.0") // MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports - MinimumKubeletVersion = version.MustParseSemantic("v1.8.0-beta.0") + MinimumKubeletVersion = version.MustParseSemantic("v1.8.0") ) // GetStaticPodDirectory returns the location on the disk where the Static Pod should be present diff --git a/cmd/kubeadm/app/phases/upgrade/policy_test.go b/cmd/kubeadm/app/phases/upgrade/policy_test.go index 659a5fe990a..bdbd9fb707e 100644 --- a/cmd/kubeadm/app/phases/upgrade/policy_test.go +++ b/cmd/kubeadm/app/phases/upgrade/policy_test.go @@ -32,129 +32,129 @@ func TestEnforceVersionPolicies(t *testing.T) { }{ { // everything ok vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.5", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.5", }, - newK8sVersion: "v1.7.5", + newK8sVersion: "v1.8.5", }, { // everything ok vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.2", - kubeadmVersion: "v1.8.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.2", + kubeadmVersion: "v1.9.1", }, - newK8sVersion: "v1.8.0", + newK8sVersion: "v1.9.0", }, { // downgrades not supported vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.3", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.3", }, - newK8sVersion: "v1.7.2", + newK8sVersion: "v1.8.2", expectedSkippableErrs: 1, }, { // upgrades without bumping the version number not supported yet. TODO: Change this? vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.3", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.3", }, - newK8sVersion: "v1.7.3", + newK8sVersion: "v1.8.3", expectedSkippableErrs: 1, }, { // new version must be higher than v1.7.0 vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.3", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.3", }, - newK8sVersion: "v1.6.10", - expectedMandatoryErrs: 1, // version must be higher than v1.7.0 + newK8sVersion: "v1.7.10", + expectedMandatoryErrs: 1, // version must be higher than v1.8.0 expectedSkippableErrs: 1, // version shouldn't be downgraded }, { // upgrading two minor versions in one go is not supported vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.9.0", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.10.0", }, - newK8sVersion: "v1.9.0", + newK8sVersion: "v1.10.0", expectedMandatoryErrs: 1, // can't upgrade two minor versions expectedSkippableErrs: 1, // kubelet <-> apiserver skew too large }, { // kubeadm version must be higher than the new kube version. However, patch version skews may be forced vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.3", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.3", }, - newK8sVersion: "v1.7.5", + newK8sVersion: "v1.8.5", expectedSkippableErrs: 1, }, { // kubeadm version must be higher than the new kube version. Trying to upgrade k8s to a higher minor version than kubeadm itself should never be supported vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.7.3", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.8.3", }, - newK8sVersion: "v1.8.0", + newK8sVersion: "v1.9.0", expectedMandatoryErrs: 1, }, { // the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though. vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.6.8", - kubeadmVersion: "v1.8.0", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.7.8", + kubeadmVersion: "v1.9.0", }, - newK8sVersion: "v1.8.0", + newK8sVersion: "v1.9.0", expectedSkippableErrs: 1, }, { // experimental upgrades supported if the flag is set vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.8.0-beta.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.9.0-beta.1", }, - newK8sVersion: "v1.8.0-beta.1", + newK8sVersion: "v1.9.0-beta.1", allowExperimental: true, }, { // release candidate upgrades supported if the flag is set vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.8.0-rc.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.9.0-rc.1", }, - newK8sVersion: "v1.8.0-rc.1", + newK8sVersion: "v1.9.0-rc.1", allowRCs: true, }, { // release candidate upgrades supported if the flag is set vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.8.0-rc.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.9.0-rc.1", }, - newK8sVersion: "v1.8.0-rc.1", + newK8sVersion: "v1.9.0-rc.1", allowExperimental: true, }, { // the user should not be able to upgrade to an experimental version if they haven't opted into that vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.8.0-beta.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.9.0-beta.1", }, - newK8sVersion: "v1.8.0-beta.1", + newK8sVersion: "v1.9.0-beta.1", allowRCs: true, expectedSkippableErrs: 1, }, { // the user should not be able to upgrade to an release candidate version if they haven't opted into that vg: &fakeVersionGetter{ - clusterVersion: "v1.7.3", - kubeletVersion: "v1.7.3", - kubeadmVersion: "v1.8.0-rc.1", + clusterVersion: "v1.8.3", + kubeletVersion: "v1.8.3", + kubeadmVersion: "v1.9.0-rc.1", }, - newK8sVersion: "v1.8.0-rc.1", + newK8sVersion: "v1.9.0-rc.1", expectedSkippableErrs: 1, }, }