Isolate tests by cluster and make run interface simpler#4593
Isolate tests by cluster and make run interface simpler#4593kleimkuhler merged 44 commits intomainfrom
Conversation
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Sure thing! I have added a few suggestions now! |
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
alpeb
left a comment
There was a problem hiding this comment.
Thanks @kleimkuhler, all this looks pretty good to me 👍
One thing I noticed is the calls to helm delete were removed. This might cause issues when running all the tests locally, as both the helm install and helm upgrade tests use the same helm release name. And also the helm upgrade test should remove its release as to not conflict with a further test run (and also to leave the user's helm config as it was before).
Probably you're already aware of it, but this still needs to add the edge upgrade test that got just merged into master, and to propagate the changes from kind_integration.yml and cloud_integration.yml into release.yml.
|
Also I've just noticed the helm upgrade test is currently failing silently in master because the |
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
|
|
||
| The integration test suite operates on your currently configured Kubernetes | ||
| cluster. Prior to running the test suite, verify that: | ||
| The integration tests will configure their own KinD clusters by default. There |
There was a problem hiding this comment.
isn't kind a prerequisite? What about resource requirements? Is kind running on docker-for-desktop on a 4 year old macbook going to cut it?
There was a problem hiding this comment.
isn't kind a prerequisite? What about resource requirements?
The script uses bind/kind which downloads kind if it is not present. You don't need kind in your PATH to use the script.
Is kind running on docker-for-desktop on a 4 year old macbook going to cut it?
I haven't had any issues with running kind locally on my 2015 macbook. If anything, Docker For Mac with Kubernetes turned on seems to use a lot more resources than kind ever does; I rarely use Docker For Mac these days because of that.
Also keep in mind we already use kind on the GitHub Action runners which I think are 2-core machines with 7 GB of ram. Knowing we don't have issues on those, I think we're good to assume running this locally will be fine as well.
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
Signed-off-by: Kevin Leimkuhler <[email protected]>
…r-configs Signed-off-by: Kevin Leimkuhler <[email protected]>
…configs Signed-off-by: Kevin Leimkuhler <[email protected]>
## Description As discussed [here](#4653 (comment)), the `kind_integration` job of the release workflow was not kept in sync with the changes made in #4593. Until GitHub actions can reuse yaml for separate workflows, these sections are supposed to be kept in sync. This would be an issue if we had tried doing a release since #4593 merged, but that has not happened yet. ## Changes This updates the release workflow `kind_integration` job to use the use new test interface, mainly removing cluster creation and image loading as necessary prerequisites. Signed-off-by: Kevin Leimkuhler <[email protected]>
Summary
Change the default behavior of integration tests to be isolated by cluster.
Additionally, make running one or all tests easier than the current process.
These changes are explained more in the Testing
RFC
Changes
This is a script used only by Linkerd developers, but there is a lot of useful
usage examples and explanations in
bin/tests --helpoutput:Run all tests
Old:
bin/test-run $PWD/bin/linkerdNew:
bin/tests $PWD/bin/linkerdRun single test (upgrade for example):
Current:
New:
bin/tests --name upgrade $PWD/bin/linkerdRun tests in isolated KinD clusters
Current: Not possible without running single tests in newly created clusters
manually
New:
bin/tests $PWD/bin/linkerdRun tests in isolated namespaces on an existing cluster
Old:
bin/test-run $PWD/bin/linkerdNew:
bin/tests --skip-kind-create $PWD/bin/linkerdCI
kind_integrationhas been updated so that it does not create a KinD cluster aspart of its test setup.
cloud_integrationpasses the--skip-kind-createflag so that the tests arerun serially in a non-KinD cluster.