mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-02 17:57:33 +00:00
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:
@@ -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"},
|
||||||
},
|
},
|
||||||
|
@@ -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
|
||||||
|
@@ -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,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user