786989dbe3
Adds new package that can be used by client and server RPC endpoints to facilitate monitoring based off of a logger clean up old code small comment about write rm old comment about minsize rename to Monitor Removes connection logic from monitor command Keep connection logic in endpoints, use a channel to send results from monitoring use new multisink logger and interfaces small test for dropped messages update go-hclogger and update sink/intercept logger interfaces |
||
---|---|---|
.. | ||
affinities | ||
allocstats | ||
bin | ||
cli | ||
clientstate | ||
connect | ||
consul | ||
consultemplate | ||
deployment | ||
e2eutil | ||
example | ||
execagent | ||
fabio | ||
framework | ||
hostvolumes | ||
metrics | ||
migrations | ||
nomad09upgrade | ||
nomadexec | ||
prometheus | ||
rescheduling | ||
spread | ||
taskevents | ||
terraform | ||
upgrades | ||
vault | ||
e2e.go | ||
e2e_test.go | ||
README.md |
End to End Tests
This package contains integration tests.
The terraform
folder has provisioning code to spin up a Nomad cluster on AWS. The tests work with the NOMAD_ADDR
environment variable which can be set either to a local dev Nomad agent or a Nomad client on AWS.
Local Development
The workflow when developing end to end tests locally is to run the provisioning step described below once, and then run the tests as described below.
When making local changes, use ./bin/update $(which nomad) /usr/local/bin/nomad
and ./bin/run sudo systemctl restart nomad
to destructively modify the provisioned cluster.
Provisioning
You'll need AWS credentials (AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
) to create the Nomad cluster. See the README for details. The number of servers and clients is configurable, as is the configuration file for each client and server.
Running
After completing the provisioning step above, you should see CLI output showing the IP addresses of Nomad client machines. To run the tests, set the NOMAD_ADDR variable to http://[client IP]:4646/
$ NOMAD_ADDR=<> NOMAD_E2E=1 go test -v