Unverified Commit c92aa1af authored by liz's avatar liz

Kubeadm/k8s version mismatch is now a skippable error

parent d02cf08e
...@@ -118,8 +118,7 @@ func EnforceVersionPolicies(versionGetter VersionGetter, newK8sVersionStr string ...@@ -118,8 +118,7 @@ func EnforceVersionPolicies(versionGetter VersionGetter, newK8sVersionStr string
if kubeadmVersion.Major() > newK8sVersion.Major() || if kubeadmVersion.Major() > newK8sVersion.Major() ||
kubeadmVersion.Minor() > newK8sVersion.Minor() { kubeadmVersion.Minor() > newK8sVersion.Minor() {
skewErrors.Mandatory = append(skewErrors.Mandatory, fmt.Errorf("Kubeadm version %s can only be used to upgrade to Kubernetes versions %d.%d", kubeadmVersionStr, kubeadmVersion.Major(), kubeadmVersion.Minor())) skewErrors.Skippable = append(skewErrors.Skippable, fmt.Errorf("Kubeadm version %s can only be used to upgrade to Kubernetes version %d.%d", kubeadmVersionStr, kubeadmVersion.Major(), kubeadmVersion.Minor()))
} }
// Detect if the version is unstable and the user didn't allow that // Detect if the version is unstable and the user didn't allow that
......
...@@ -75,7 +75,8 @@ func TestEnforceVersionPolicies(t *testing.T) { ...@@ -75,7 +75,8 @@ func TestEnforceVersionPolicies(t *testing.T) {
kubeadmVersion: "v1.10.3", kubeadmVersion: "v1.10.3",
}, },
newK8sVersion: "v1.9.10", newK8sVersion: "v1.9.10",
expectedMandatoryErrs: 2, // version must be higher than v1.10.0, can't upgrade old k8s with newer kubeadm expectedMandatoryErrs: 1, // version must be higher than v1.10.0
expectedSkippableErrs: 1, // can't upgrade old k8s with newer kubeadm
}, },
{ {
name: "upgrading two minor versions in one go is not supported", name: "upgrading two minor versions in one go is not supported",
...@@ -96,7 +97,8 @@ func TestEnforceVersionPolicies(t *testing.T) { ...@@ -96,7 +97,8 @@ func TestEnforceVersionPolicies(t *testing.T) {
kubeadmVersion: "v1.12.0", kubeadmVersion: "v1.12.0",
}, },
newK8sVersion: "v1.10.3", newK8sVersion: "v1.10.3",
expectedMandatoryErrs: 2, // can't downgrade two minor versions, can't upgrade old k8s with newer kubeadm expectedMandatoryErrs: 1, // can't downgrade two minor versions
expectedSkippableErrs: 1, // can't upgrade old k8s with newer kubeadm
}, },
{ {
name: "kubeadm version must be higher than the new kube version. However, patch version skews may be forced", name: "kubeadm version must be higher than the new kube version. However, patch version skews may be forced",
...@@ -187,7 +189,7 @@ func TestEnforceVersionPolicies(t *testing.T) { ...@@ -187,7 +189,7 @@ func TestEnforceVersionPolicies(t *testing.T) {
kubeadmVersion: "v1.11.0", kubeadmVersion: "v1.11.0",
}, },
newK8sVersion: "v1.10.6", newK8sVersion: "v1.10.6",
expectedMandatoryErrs: 1, // can't upgrade old k8s with newer kubeadm expectedSkippableErrs: 1, // can't upgrade old k8s with newer kubeadm
}, },
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment