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

spawn a new deis cluster (in a new namespace) for each run #12

Closed
arschles opened this issue Dec 31, 2015 · 5 comments
Closed

spawn a new deis cluster (in a new namespace) for each run #12

arschles opened this issue Dec 31, 2015 · 5 comments

Comments

@arschles
Copy link
Member

this one may be involved, but it would be nice to create a new deis cluster in its own namespace for each test run, and then tear it down at the end. this would eliminate a whole class of state management issues across test suite runs, and also allow us to run multiple suite concurrently on the same k8s cluster.

also note that I believe we have some outstanding issues that prevent us from running 2+ deis clusters reliably on the same k8s cluster, so those will have to be cleared before this can be possible.

Purposefully not assigned a milestone, as this is a nice to have and not critical.

@technosophos
Copy link
Member

Can we run on helm HEAD and see if the new template logic will make this easy? There are random functions available to templates that might give us exactly this feature.

@arschles
Copy link
Member Author

@technosophos yea, that'd work. we can have the BeforeSuite issue the helm install with the proper template values, and then wait until all pods are up and running before continuing

@mboersma
Copy link
Member

I think provisioning should remain separate from the tests themselves this time. One reason is that the e2e tests had also been envisioned as a "sanity check" on a user's newly installed cluster before it's put into service, and in that case automatically provisioning / decommissioning would interfere. Another use case that past experience shows is important was captured by the SKIP_CLEANUP env var in the "old" integration tests: provision and run the tests but leave everything intact for further forensic examination.

I don't feel that strongly about this, but I can see value to keeping provisioning and testing separate. Or at the least, allowing the helm parts of BeforeSuite/AfterSuite to be skipped if we do follow through with this proposal.

@arschles
Copy link
Member Author

One reason is that the e2e tests had also been envisioned as a "sanity check" on a user's newly installed cluster before it's put into service, and in that case automatically provisioning / decommissioning would interfere

@mboersma excellent point. 👍

Or at the least, allowing the helm parts of BeforeSuite/AfterSuite to be skipped if we do follow through with this proposal.

I'm ok with either way. Leaning toward putting the helm install + wait for pods logic into a completely separate program because I imagine it could be reusable down the line. Also it's more unixey.

Regardless, I do think we should follow through with this proposal in the beta cycle. Would be nice to see these tests run as part of our pipeline at some point.

@jchauncey
Copy link
Member

See #142

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants