pin k8s versions with integration tests #7236
Conversation
Fixes #7112 This pins the default integration tests to run on the latest k3d version (which is currently `v5.0.3` and runs k3s `v1.21.5-k3s2`) by retrieving the latest k3d binary, while also pinning `helm-deep` to run on `v4.4.4` which runs k3s `v1.20.6-k3s1` (our min k8s version). This way we have integration tests running on both sides (i.e latest and minimum) Changes include: - Update `./bin/k3d` to always retrieve the latest k3d binary and use it. - Add new `./bin/k3d-min` script which pins the minimum k3d version (`v1.20.6-k3s1`) and uses it. - Update `_test-helpers.sh` to use the new `./bin/k3d-min` script based on the test. here, we also replace flags that are removed and replaced with newer ones with the latest k3d binary. I've tried to find a GitHub action for K3s, but most of them seem to be have a had a release while ago, and not goes well with our plan of somehow getting the latest k8s. Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
alpeb
left a comment
There was a problem hiding this comment.
Thanks @Pothulapati . There's a bit of code repetition introduced in this change. Can you have start_single_test() simply react differently depending on some new arg? Similarly, I think we can get away with a single bin/k3d maybe through an env var (say K3D_VERSION) defaulting to "latest" (an env var instead of a script arg to avoid messing with the arg forwarding at the last line).
|
integration test failures when loading images: Also note that the latest k3d release supports specifying logical versions like |
even to create a v1.20 cluster Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
|
Updated this PR, to use the latest |
alpeb
left a comment
There was a problem hiding this comment.
Changes look good, but for some reason the helm-deep integration test is still show v1.21:
https://github.com/linkerd/linkerd2/runs/4163956319?check_suite_focus=true#step:8:32
|
@alpeb Yep, That is weird and I think that version is about the k3s wrapper. The k8s version seems to be the expected |
Fixes #7112 This pins the default integration tests to run on the latest k3d version by retrieving the latest k3d binary, while also pinning `helm-deep` to run on `v1.20+` (our min k8s version). T his way we have integration tests running on both sides (i.e latest and minimum) Changes include: - Update `./bin/k3d` to always retrieve the latest k3d binary and use it. - Update `_test-helpers.sh` to use min version image for `helm-deep`. here, we also replace flags that are removed and replaced with newer ones with the latest k3d binary. I've tried to find a GitHub action for K3s, but most of them seem to be have a had a release while ago, and not goes well with our plan of somehow getting the latest k8s. Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com> (cherry picked from commit 5ba7d04) Signed-off-by: Oliver Gould <ver@buoyant.io>
Fixes #7112
This pins the default integration tests to run on the latest
k3d version by retrieving the latest k3d binary, while also
pinning
helm-deepto run onv1.20+(our min k8s version). This way we have integration tests running on both sides
(i.e latest and minimum)
Changes include:
./bin/k3dto always retrieve the latest k3d binary anduse it.
_test-helpers.shto use min version image forhelm-deep.here, we also replace flags that are removed and replaced
with newer ones with the latest k3d binary.
I've tried to find a GitHub action for K3s, but most of them seem to
be have a had a release while ago, and not goes well with our plan of
somehow getting the latest k8s.
Signed-off-by: Tarun Pothulapati tarunpothulapati@outlook.com