Merge pull request #53204 from ellenkorbes/version-number

Automatic merge from submit-queue (batch tested with PRs 53204, 53364, 53559, 53589, 53088). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

New version number for kubeadm constants.go

**What this PR does / why we need it**:
In kubeadm v1.9 the minimum kubelet & API Server version will be v1.8.0.

```release-note
NONE
```
This commit is contained in:
Kubernetes Submit Queue
2017-10-11 15:14:37 -07:00
committed by GitHub
3 changed files with 63 additions and 63 deletions

View File

@@ -91,7 +91,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) {
{ {
command: "all", command: "all",
additionalFlags: []string{ additionalFlags: []string{
"--kubernetes-version=v1.7.0", "--kubernetes-version=v1.8.0",
"--apiserver-advertise-address=1.2.3.4", "--apiserver-advertise-address=1.2.3.4",
"--apiserver-bind-port=6443", "--apiserver-bind-port=6443",
"--service-cidr=1.2.3.4/16", "--service-cidr=1.2.3.4/16",
@@ -106,7 +106,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) {
{ {
command: "apiserver", command: "apiserver",
additionalFlags: []string{ additionalFlags: []string{
"--kubernetes-version=v1.7.0", "--kubernetes-version=v1.8.0",
"--apiserver-advertise-address=1.2.3.4", "--apiserver-advertise-address=1.2.3.4",
"--apiserver-bind-port=6443", "--apiserver-bind-port=6443",
"--service-cidr=1.2.3.4/16", "--service-cidr=1.2.3.4/16",
@@ -116,7 +116,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) {
{ {
command: "controller-manager", command: "controller-manager",
additionalFlags: []string{ additionalFlags: []string{
"--kubernetes-version=v1.7.0", "--kubernetes-version=v1.8.0",
"--pod-network-cidr=1.2.3.4/16", "--pod-network-cidr=1.2.3.4/16",
}, },
expectedFiles: []string{"kube-controller-manager.yaml"}, expectedFiles: []string{"kube-controller-manager.yaml"},
@@ -124,7 +124,7 @@ func TestControlPlaneCreateFilesWithFlags(t *testing.T) {
{ {
command: "scheduler", command: "scheduler",
additionalFlags: []string{ additionalFlags: []string{
"--kubernetes-version=v1.7.0", "--kubernetes-version=v1.8.0",
}, },
expectedFiles: []string{"kube-scheduler.yaml"}, expectedFiles: []string{"kube-scheduler.yaml"},
}, },

View File

@@ -206,7 +206,7 @@ var (
MasterComponents = []string{KubeAPIServer, KubeControllerManager, KubeScheduler} MasterComponents = []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.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!) // 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 // 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") UseEnableBootstrapTokenAuthFlagVersion = version.MustParseSemantic("v1.8.0-beta.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.8.0-beta.0") MinimumKubeletVersion = version.MustParseSemantic("v1.8.0")
) )
// GetStaticPodDirectory returns the location on the disk where the Static Pod should be present // GetStaticPodDirectory returns the location on the disk where the Static Pod should be present

View File

@@ -32,129 +32,129 @@ func TestEnforceVersionPolicies(t *testing.T) {
}{ }{
{ // everything ok { // everything ok
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.5", kubeadmVersion: "v1.8.5",
}, },
newK8sVersion: "v1.7.5", newK8sVersion: "v1.8.5",
}, },
{ // everything ok { // everything ok
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.2", kubeletVersion: "v1.8.2",
kubeadmVersion: "v1.8.1", kubeadmVersion: "v1.9.1",
}, },
newK8sVersion: "v1.8.0", newK8sVersion: "v1.9.0",
}, },
{ // downgrades not supported { // downgrades not supported
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.3", kubeadmVersion: "v1.8.3",
}, },
newK8sVersion: "v1.7.2", newK8sVersion: "v1.8.2",
expectedSkippableErrs: 1, expectedSkippableErrs: 1,
}, },
{ // upgrades without bumping the version number not supported yet. TODO: Change this? { // upgrades without bumping the version number not supported yet. TODO: Change this?
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.3", kubeadmVersion: "v1.8.3",
}, },
newK8sVersion: "v1.7.3", newK8sVersion: "v1.8.3",
expectedSkippableErrs: 1, expectedSkippableErrs: 1,
}, },
{ // new version must be higher than v1.7.0 { // new version must be higher than v1.7.0
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.3", kubeadmVersion: "v1.8.3",
}, },
newK8sVersion: "v1.6.10", newK8sVersion: "v1.7.10",
expectedMandatoryErrs: 1, // version must be higher than v1.7.0 expectedMandatoryErrs: 1, // version must be higher than v1.8.0
expectedSkippableErrs: 1, // version shouldn't be downgraded expectedSkippableErrs: 1, // version shouldn't be downgraded
}, },
{ // upgrading two minor versions in one go is not supported { // upgrading two minor versions in one go is not supported
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.9.0", kubeadmVersion: "v1.10.0",
}, },
newK8sVersion: "v1.9.0", newK8sVersion: "v1.10.0",
expectedMandatoryErrs: 1, // can't upgrade two minor versions expectedMandatoryErrs: 1, // can't upgrade two minor versions
expectedSkippableErrs: 1, // kubelet <-> apiserver skew too large expectedSkippableErrs: 1, // kubelet <-> apiserver skew too large
}, },
{ // kubeadm version must be higher than the new kube version. However, patch version skews may be forced { // kubeadm version must be higher than the new kube version. However, patch version skews may be forced
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.3", kubeadmVersion: "v1.8.3",
}, },
newK8sVersion: "v1.7.5", newK8sVersion: "v1.8.5",
expectedSkippableErrs: 1, 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 { // 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{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.7.3", kubeadmVersion: "v1.8.3",
}, },
newK8sVersion: "v1.8.0", newK8sVersion: "v1.9.0",
expectedMandatoryErrs: 1, expectedMandatoryErrs: 1,
}, },
{ // the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though. { // 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: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.6.8", kubeletVersion: "v1.7.8",
kubeadmVersion: "v1.8.0", kubeadmVersion: "v1.9.0",
}, },
newK8sVersion: "v1.8.0", newK8sVersion: "v1.9.0",
expectedSkippableErrs: 1, expectedSkippableErrs: 1,
}, },
{ // experimental upgrades supported if the flag is set { // experimental upgrades supported if the flag is set
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.8.0-beta.1", kubeadmVersion: "v1.9.0-beta.1",
}, },
newK8sVersion: "v1.8.0-beta.1", newK8sVersion: "v1.9.0-beta.1",
allowExperimental: true, allowExperimental: true,
}, },
{ // release candidate upgrades supported if the flag is set { // release candidate upgrades supported if the flag is set
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.8.0-rc.1", kubeadmVersion: "v1.9.0-rc.1",
}, },
newK8sVersion: "v1.8.0-rc.1", newK8sVersion: "v1.9.0-rc.1",
allowRCs: true, allowRCs: true,
}, },
{ // release candidate upgrades supported if the flag is set { // release candidate upgrades supported if the flag is set
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.8.0-rc.1", kubeadmVersion: "v1.9.0-rc.1",
}, },
newK8sVersion: "v1.8.0-rc.1", newK8sVersion: "v1.9.0-rc.1",
allowExperimental: true, allowExperimental: true,
}, },
{ // the user should not be able to upgrade to an experimental version if they haven't opted into that { // the user should not be able to upgrade to an experimental version if they haven't opted into that
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.8.0-beta.1", kubeadmVersion: "v1.9.0-beta.1",
}, },
newK8sVersion: "v1.8.0-beta.1", newK8sVersion: "v1.9.0-beta.1",
allowRCs: true, allowRCs: true,
expectedSkippableErrs: 1, expectedSkippableErrs: 1,
}, },
{ // the user should not be able to upgrade to an release candidate version if they haven't opted into that { // the user should not be able to upgrade to an release candidate version if they haven't opted into that
vg: &fakeVersionGetter{ vg: &fakeVersionGetter{
clusterVersion: "v1.7.3", clusterVersion: "v1.8.3",
kubeletVersion: "v1.7.3", kubeletVersion: "v1.8.3",
kubeadmVersion: "v1.8.0-rc.1", kubeadmVersion: "v1.9.0-rc.1",
}, },
newK8sVersion: "v1.8.0-rc.1", newK8sVersion: "v1.9.0-rc.1",
expectedSkippableErrs: 1, expectedSkippableErrs: 1,
}, },
} }