chore: migrate from kuttl to chainsaw #1250
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Chainsaw was created because kuttl stopped to be actively maintained (it's actually a single maintainer now).
We are also solving most of the kuttl limitations that exist today and wrote a command to automatically migrate from kuttl to chainsaw. It supercharges e2e tests with better logs, config maps assertions, assertions trees and many more things 💪
This is a relatively young project but it has already been adopted by a couple of e2e tests heavy projects (kyverno, keptn, fairwinds rbac-manager, grafana-operator, redis-operator and others).
To give more context, you can see similar PRs at:
Sadly, kuttl haven't done a release since jan 2023.
Here you can find a good video showcasing chainsaw: https://www.youtube.com/watch?v=Ejof-wtAdQM&ab_channel=CamilaMacedo
To make things more concrete, there are a couple of issues in this repo, a few files are not valid and kuttl doesn't complain because unmarshalling is not strict so the non-valid fields are simply ignored. This is a problem because the behaviour of the tests is not the expected one, for example:
argocd-operator/tests/k8s/1-006_validate-managed-by-chain/09-delete-app-and-namespace.yaml
Lines 14 to 15 in 4bd23cb
argocd-operator/tests/olm/1-001_alpha_to_beta_dex_conversion/02-delete.yaml
Lines 1 to 7 in 4bd23cb
argocd-operator/tests/olm/1-003_alpha_to_beta_sso_conflict_conversion/02-delete.yaml
Lines 1 to 7 in 4bd23cb
argocd-operator/tests/olm/1-002_alpha_to_beta_keycloak_conversion/02-delete.yaml
Lines 1 to 9 in 4bd23cb
If you need more infos 👇