-
Notifications
You must be signed in to change notification settings - Fork 87
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
KEP-0008: Multi-cluster - Proposals for TestSuite Changes #342
base: main
Are you sure you want to change the base?
KEP-0008: Multi-cluster - Proposals for TestSuite Changes #342
Conversation
… yaml. Add Proposals for changes to `TestSuite` to support configuring multiple kind clusters for multi-cluster tests. Signed-off-by: Miles-Garnsey <[email protected]>
c8c97e9
to
0812237
Compare
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.
a number of questions / comments which will likely drive some organization
- there has been a history of folks wanting kuttl to be the cluster creation tool as well as the testing tool. We prefer cluster creation to be a pre step to kuttl. We did add kind as a convenience, but I often wonder if we should have. it is great for some CI capabilities. A concern is supporting more cluster types. while k3s and others could be interesting.. it would add a lot of dependencies for things that isn't the pure intention of kuttl. If someone wants gcp, or minikube or k3s... we don't have any plans to support the cluster spin up... but we happily support the testing.
- It would be good to start with the testing components first... what does it mean to support that? how is it expected to report back. Examples of questions we need to solve for.
a. can a teststep span clusters or is it single cluster only
b. can we look at the existing tests as a set of testsuites defined by a cluster and adjust our current tests as a first pass to have an overarching cluster (which is 1 by default... providing backward compat)
c. assuming a suite is for a cluster.. is there any relationship between the testsuites?
generally we think of TestSuites-> TestSteps -> Steps. Are we designing for a cluster that contains TestSuites? or ? If this is the course, it feels like we should define a name for that "ClusterSuites"? or "ClusterTests".
Love the contribution and drive. Thank you!
and thanks for the DCO! |
and to add to the thinking... can the cluster tests run in parallel? or is it gated in some way... I can image the need for a clusterwide setup / assert to confirm we can execute each cluster. I can imagine 1 cluster testsuite being required after another. etc. It is the lifecycle of tests which should come to a good mental model on. |
I can see why you'd say that the TestStep/reporting could be a good place to start. The reason I started with the It seemed ideal to have some sort of keyed data structure (I chose a map in this case) that could identify all of the involved clusters across the entire It would certainly be simpler to have the The real question here is - what key do we want to use to refer to a cluster? The original proposal called for a path to a PS: I've raised separate PRs for discussion on the |
I was going to answer the remainder of the questions in the
I think that a
I don't quite understand the question here. I think that the regular single-cluster behaviour needs to remain 100% unchanged. Backwards compatibility is obviously a priority.
Ah, I was envisaging a |
What this PR does / why we need it:
KEP-0008 is currently light on detail. To get it ready for implementation this PR fleshes out proposed changes to the TestSuite API.
The changes proposed are designed to allow for the creation of multiple KinD clusters. They aim to leave room for the future addition of external clusters, and local clusters (etcd and apiserver running uncontainerised).