-
Notifications
You must be signed in to change notification settings - Fork 782
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
Kkavish/compatibility test #1907
Conversation
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.
Approving README
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.
@kkavish there's a lot about this PR that's not well-motivated by the README or even the PR description. We're running Docker-in-Docker here? Why the rsyslogd? Why are we reading from cgroups? Shouldn't these tests run in CI and not exist in a Makefile?
compatibility_tests/Dockerfile
Outdated
|
||
ADD rsyslog.conf /etc/rsyslog.conf | ||
ADD run_tests.sh /run_tests.sh | ||
ADD run_nomad.sh /run_nomad.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.
This script doesn't appear to exist
… kkavish/compatibility-test
With respect to CI, could you please let me know what is on your mind to integrate this better with Consul Template. Thanks for taking time out to review this. |
Why do we care about "the system" here... tests like should be running in CI, where the whole environment gets thrown away when we're done. Right?
It definitely does not require rsyslogd, but I can't tell you why you're running into trouble because you're not even running Nomad in this test rig anymore and never had any scripts or configuration in this PR to do so.
It's possible I've missed it, but as far as I can tell none of the tests actually run Nomad workloads, so it's not like we need to run a real Nomad client that can run Docker here, right?
Well it's your PR... what exactly did you have in mind for this test if it's not going to be running in CI? |
Sorry, I re-tried and it was docker which did not start without rsyslog.
It definitely does not run a Nomad workload, but it does query Nomad variables, services, etc in the tests. So, I think a running Nomad client is required.
The problem with running this in CI is how do you input what versions of Consul and CT to tests without actually changing the versions manually. Also, this was not meant to run in CI rather manually by configuring any version of Consul or Vault or Nomad against any version of CT. And hence the question. |
That would require a Nomad server and agent, not a client. But again, it doesn't matter at all if you're not actually running Nomad here.
Typically that's done with either a matrix test (via GHA's features) or something like how we do our Consul compatibility tests on Nomad where we let the test itself construct the matrix: https://github.com/hashicorp/nomad/blob/main/e2e/consulcompat/shared_download_test.go
Why wouldn't you run it in CI so that we know that new PRs don't break backwards compatibility? No one is ever going to run these tests again by hand if that's the only way they can be run. |
@kkavish The matrix looks good to me. Thank you for doing this, this was asked by a customer. |
This PR builds and runs Consul, Nomad and other dependencies using a docker image and then runs all the tests using the image to test whether a particular version of consul template is compatible with a particular version of consul CE/ENT.
Go through the Readme.md file for more details.
Read about the test results here - https://hashicorp.atlassian.net/browse/NET-8062