Skip to content
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

controller: support updown on same cluster #428

Closed
webern opened this issue May 24, 2022 · 0 comments · Fixed by #476
Closed

controller: support updown on same cluster #428

webern opened this issue May 24, 2022 · 0 comments · Fixed by #476
Assignees
Labels
controller Related to the controller component model Related to the model crate
Milestone

Comments

@webern
Copy link
Member

webern commented May 24, 2022

Currently upgrade-downgrade testing (in which we launch a Bottlerocket instance, do an upgrade into a new version, then downgrade back to the original version) requires access to an EKS cluster that is exclusive. Sonobuoy conformance testing also requires exclusive access (and these exclusivity requirements may also apply to ECS as well).

Here's why:
Sonobuoy testing uses all the nodes on a cluster. So we need to make sure all of the nodes on the cluster are running the Bottlerocket OS that we want to test.
We can run conformance testing with a few nodes or we can run upgrade downgrade (updown) testing, but not both at the same time.

Let's say we are testing bottlerocket version 1.17.1 and the previous version is 1.17.0...

We want a way to model this (CRDs) and have the controller do the following:

  • create cluster (if desired)
  • run nodes for conformance testing of v1.17.1
  • run conformance test
  • terminate the nodes, but not the cluster
  • run nodes of version 1.17.0
  • run the updown test that will upgrade these to 1.17.1 and back to 1.17.0 and check them with sonobuoy quick

Then we will delete the test and resources.

We should be able to create all of these resource and test CRD objects at once, expressing the above desired execution path, and have the controller do it.

Note there may be additional exclusivity requirements for different/new testing modalities (see #TODO), but updown is a known/scoped case that we have before us now even before we write new test modalities such as #419 and #426.

@webern webern added controller Related to the controller component model Related to the model crate labels May 24, 2022
@webern webern added this to the bottlerocket milestone May 24, 2022
@ecpullen ecpullen modified the milestones: bottlerocket, Testsys 0.0.2 Jul 18, 2022
@ecpullen ecpullen self-assigned this Aug 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
controller Related to the controller component model Related to the model crate
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants