-
Notifications
You must be signed in to change notification settings - Fork 580
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
Copy a subset of e2e templates to ClusterClass #3346
Comments
@sedefsavas @pydctw - an intersting bit is the upgrade tests and how we're resolving to the right AMI |
Relevant issue to keep an eye on: In the tests, we will need to provide all fields in a list in the templates as a workaround. |
/assign |
Continuing discussion from 4/4/22 office hours. There are ~20 e2e tests in unmanaged test suites (ClusterClass is not supported for EKS cluster at the moment) and only some of tests make sense to run with ClusterClass. Options I've been thinking
Pseudo code
We can combine tests and refactor down the road but it will take some iterations and I plan to to port tests individually to make sure existing functionalities are verified correctly first and make debugging easier. |
@pydctw Thanks for listing out the options. I'd opt for having a separate folder for ClusterClass tests for the following reasons:
|
Thanks for the input and it makes sense. A few follow-up questions
I agree with this goal in the long term but will start porting individual test first because 1) it is already difficult to write ClusterClass correctly, make e2e test work and confirm the parity with existing e2e test. As you said, e2e tests are very complicated and have high learning curve. 2) I don't have context to all the existing e2e tests so it will be difficult to combine them at this stage. Having said that, my plan is once we have a few tests implemented using ClusterClass, will try to combine them as we see fit - refactoring and deleting code is easy to do once the foundation is set. I am a big believer of continuous refactoring. |
If the purpose is to reduce code duplication, CAPI is doing it by having specs and calling them with different flavors instead of having flags to switch flavors. My suggestion is not towards combining tests in the first iteration. We can have a separate file/folder and copy paste the test flavors that we want to replicate with ClusterClass. This will make bundling the tests in the next iteration easier + during debugging existing tests, we don't need to worry about ClusterClass logic. |
I think we are saying the same thing. Option 1 proposed is to call different flavors as CAPI does. CAPI can do it without flags because their tests accepts flavors as an input variable while our test does not. I was trying to mimic the behavior using a config variable instead of extracting out each test as a separate file as CAPI does (https://github.com/kubernetes-sigs/cluster-api/blob/main/test/e2e/quick_start.go) and provide different flavors as an input. Based on the discussion, I think I will start with option 2, meaning creating a separate file for ClusterClass test and see how it goes. As mentioned, we can always change our approach down the road after a few tests are implemented. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
We only have a quick start e2e test ported to ClusterClass, missing templates that use ClusterClass patching.
To validate CAPA's ClusterClass support, we need to port some of the e2e tests to ClusterClass templates.
/priority important-soon
/milestone v1.x
The text was updated successfully, but these errors were encountered: