-
Notifications
You must be signed in to change notification settings - Fork 532
Enable CI testing with multiple clusters using kind #428
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: font The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
.travis.yml
Outdated
# Install must be set to prevent default `go get` to run. | ||
# The dependencies have already been vendored by `dep` so | ||
# we don't need to fetch them. | ||
install: | ||
- | ||
|
||
script: | ||
- bash -x ./scripts/pre-commit.sh | ||
- bash -c "DEBUG=y CONFIGURE_INSECURE_REGISTRY=y ./scripts/pre-commit.sh" |
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.
(No action required) If the only point of DEBUG
is to enable -x
, can it be discontinued in favor of calling the script with -x
?
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.
Yep, agreed. I had opted for this as I was having difficulty passing a variable and invoking with -x
because when using -x
the next argument must be an executable bash file. I've addressed that now.
Awesome sauce, multiple clusters at last!! I figure it's worth restarting the job a few times to confirm that it's stable. The code LGTM, and in any case it looks likely that the added code will evolve as features and bugs are resolved in the kind repo. |
This LGTM. Excited to merge this soon. Also look forward to stable release of
None the less, CI seems to be successful all the time. So will figure out the issue in my dev env Thanks @font! |
@shashidharatd I believe you're hitting that because the docker daemon on your host needs to be configured with the insecure registry. To do that, have you tried setting |
@font, there could be some corner cases while running in dev environment, which we could eventually fix. Like couple of them i faced.
|
CI environment is good and so lets merge this and deal with dev environment issues and documentation in subsequent pr's. |
Very cool! Apologies for the issues in I'm also aiming to eventually get to a place where we have proper releases and strictly require compatibility with future changes, but we're definitely not there yet. There will probably be a few more sweeping changes to enable multi-node support and improve logging in particular. |
@BenTheElder Not a problem. Thanks for all the great work to create We are currently versioning using a specific git sha, so hopefully that should allow us to keep using |
Very happy to hear that, especially pinning a specific sha, discussing getting a release out the door as well with @munnerz 👍 |
This adds support for running CI with multiple clusters using the new tool
kind
(kubernetes in docker). You can also run thepre-commit.sh
script locally as well. The number of clusters is 2 by default, but you can override this if you'd like to test with a different number.There are a few
kind
workarounds that are implemented in this PR until these issues are resolved:kubernetes-sigs/kind#110
kubernetes-sigs/kind#111
kubernetes-sigs/kind#112
kubernetes-sigs/kind#113
Also, adding a versioned release for
kind
is still WIP (PR is at kubernetes-sigs/kind#81). For now we have to rely on a git sha.Lastly, this adds ~3 minutes to the CI job run time. There is perhaps some savings by not having to launch a minikube cluster anymore, albeit with some
kind
workarounds for the time being, but this adds a crucial extra cluster to each test.Next will be to add docs for a dev workflow.