Skip to content

Commit 7b1d873

Browse files
committed
add kubelet policy skew test for kubeadm
1 parent 534a094 commit 7b1d873

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

cmd/kubeadm/app/constants/constants.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,6 @@ var (
453453
MinimumControlPlaneVersion = getSkewedKubernetesVersion(-1)
454454

455455
// MinimumKubeletVersion specifies the minimum version of kubelet which kubeadm supports
456-
// Refer to https://kubernetes.io/releases/version-skew-policy/#kubelet-1
457456
MinimumKubeletVersion = getSkewedKubernetesVersion(-3)
458457

459458
// CurrentKubernetesVersion specifies current Kubernetes version supported by kubeadm

cmd/kubeadm/app/phases/upgrade/policy.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ const (
3535
MaximumAllowedMinorVersionDowngradeSkew = 1
3636

3737
// MaximumAllowedMinorVersionKubeletSkew describes how many minor versions the control plane version and the kubelet can skew in a kubeadm cluster
38-
// Refer to https://kubernetes.io/releases/version-skew-policy/#kubelet-1
3938
MaximumAllowedMinorVersionKubeletSkew = 3
4039
)
4140

cmd/kubeadm/app/phases/upgrade/policy_test.go

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,24 @@ func TestEnforceVersionPolicies(t *testing.T) {
9090
},
9191
newK8sVersion: "v1.13.0",
9292
expectedMandatoryErrs: 1, // can't upgrade two minor versions
93+
},
94+
{
95+
name: "upgrading with n-3 kubelet is supported",
96+
vg: &fakeVersionGetter{
97+
clusterVersion: "v1.14.3",
98+
kubeletVersion: "v1.12.3",
99+
kubeadmVersion: "v1.15.0",
100+
},
101+
newK8sVersion: "v1.15.0",
102+
},
103+
{
104+
name: "upgrading with n-4 kubelet is not supported",
105+
vg: &fakeVersionGetter{
106+
clusterVersion: "v1.14.3",
107+
kubeletVersion: "v1.11.3",
108+
kubeadmVersion: "v1.15.0",
109+
},
110+
newK8sVersion: "v1.15.0",
93111
expectedSkippableErrs: 1, // kubelet <-> apiserver skew too large
94112
},
95113
{
@@ -123,13 +141,22 @@ func TestEnforceVersionPolicies(t *testing.T) {
123141
expectedMandatoryErrs: 1,
124142
},
125143
{
126-
name: "the maximum skew between the cluster version and the kubelet versions should be one minor version. This may be forced through though.",
144+
name: "the maximum skew between the cluster version and the kubelet versions should be three minor version.",
145+
vg: &fakeVersionGetter{
146+
clusterVersion: "v1.13.0",
147+
kubeletVersion: "v1.10.8",
148+
kubeadmVersion: "v1.13.0",
149+
},
150+
newK8sVersion: "v1.13.0",
151+
},
152+
{
153+
name: "the maximum skew between the cluster version and the kubelet versions should be three minor version. This may be forced through though.",
127154
vg: &fakeVersionGetter{
128-
clusterVersion: "v1.12.0",
155+
clusterVersion: "v1.14.0",
129156
kubeletVersion: "v1.10.8",
130-
kubeadmVersion: "v1.12.0",
157+
kubeadmVersion: "v1.14.0",
131158
},
132-
newK8sVersion: "v1.12.0",
159+
newK8sVersion: "v1.14.0",
133160
expectedSkippableErrs: 1,
134161
},
135162
{

0 commit comments

Comments
 (0)