-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Update oldest supported Kubernetes versions #21490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We use constants.OldestKubernetesVersion for testing the oldest version and limiting --kubernetes-version when starting the clusters. Our tradition is testing 6 releases back from current version, but we were testing 14 release back (1.20.0). For upgrading containerd to latest version (v2.1.4) we need to upgrade to a newer release. Upgrade constants.OldestKubernetesVersion to 1.28.0 which seems to pass all tests. legacyVersion() used in version_upgrade_test.go was 1.26.0. The comment in file mention that this should be release from the last 6 month. We do see failures in the relevant tests (TestRunningBinaryUpgrade) in many builds so I bumped it as well to 1.32.0 (2 releases back from current). In preload_test.go we tested --kubernetes-version=1.24.4 which is not compatible with containerd v2. Use legacyVersion() instead so we don't need to maintain another version. We had many example of --kubernetes-version in the docs using older version which are not supported. Replace all example with current version to minimize future maintenance. We need to automated this later so updating the version in minikube will also update the examples. With this change we have 2 places to update kubernetes versions: - constants.*KubernetesVersion - legacyVersion()
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nirs The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
| startArgs = append(startArgs, StartArgs()...) | ||
| k8sVersion := "v1.24.4" | ||
| startArgs = append(startArgs, fmt.Sprintf("--kubernetes-version=%s", k8sVersion)) | ||
| startArgs = append(startArgs, fmt.Sprintf("--kubernetes-version=%s", legacyVersion())) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this one is a test that we specifically do NOT have a preload for this kubernetes version and we are testing that no preload for this...this might break the test
I might be wrong but I am feeling we chose ""v1.24.4" as one that wont ever get a preload for testing purposes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It may be possible, but we cannot do this. The tested version must be dynamic and change each time we update k8s version, on every release. If this test depend on not having a preload we need to find another way to cause to make preload lookup to fail, or delete the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1.24.4 is is too old to be compatible with containerd v2. Even 1.28 is not supported.
|
/ok-to-test |
|
kvm2 driver with docker runtime Times for minikube start: 49.6s 48.9s 49.7s 49.0s 48.9s Times for minikube ingress: 15.8s 15.8s 15.8s 15.3s 15.8s docker driver with docker runtime Times for minikube start: 25.6s 21.0s 23.1s 22.1s 26.8s Times for minikube ingress: 17.1s 13.6s 13.6s 13.6s 13.6s docker driver with containerd runtime Times for minikube start: 20.9s 25.5s 21.7s 25.6s 20.7s Times for minikube ingress: 24.1s 24.1s 24.2s 40.1s 28.1s |
|
Here are the number of top 10 failed tests in each environments with lowest flake rate.
Besides the following environments also have failed tests: To see the flake rates of all tests by environment, click here. |
We use constants.OldestKubernetesVersion for testing the oldest version and limiting --kubernetes-version when starting the clusters. Our tradition is testing 6 releases back from current version, but we were testing 14 release back (1.20.0).
For upgrading containerd to latest version (v2.1.4) we need to upgrade to a newer release. Upgrade constants.OldestKubernetesVersion to 1.28.0 which seems to pass all tests.
legacyVersion() used in version_upgrade_test.go was 1.26.0. The comment in file mention that this should be release from the last 6 month. We do see failures in the relevant tests (TestRunningBinaryUpgrade) in many builds so I bumped it as well to 1.32.0 (2 releases back from current).
In preload_test.go we tested --kubernetes-version=1.24.4 which is not compatible with containerd v2. Use legacyVersion() instead so we don't need to maintain another version.
We had many example of --kubernetes-version in the docs using older version which are not supported. Replace all example with current version to minimize future maintenance. We need to automated this later so updating the version in minikube will also update the examples.
With this change we have 2 places to update kubernetes versions: