open-nomad/e2e
2019-07-02 09:13:24 -07:00
..
affinities
allocstats Remove unnecessary step in getting node client 2019-04-01 10:45:41 -05:00
bin e2e update shell scripts argument quoting 2019-06-04 15:52:32 -04:00
cli
clientstate test: properly skip client state in beforeall 2019-03-22 06:42:04 -07:00
consul Add flag similar to --all for allocs to be able to filter deployments by latest 2019-05-13 18:33:41 -05:00
consultemplate
deployment e2e/deployment DeploymentsForJob fail instead of nil, error passing 2019-06-04 14:31:42 -04:00
e2eutil e2e/deployment DeploymentsForJob fail instead of nil, error passing 2019-06-04 14:31:42 -04:00
example
execagent e2e: add NomadAgent and basic client state test 2019-03-21 07:14:34 -07:00
fabio
framework remove stray println 2019-03-21 09:23:37 -05:00
metrics docs: update s3 urls to use virtual bucket style 2019-05-06 10:39:51 -04:00
migrations
nomad09upgrade e2e: add NomadAgent and basic client state test 2019-03-21 07:14:34 -07:00
nomadexec add e2e tests for nomad exec 2019-05-09 16:49:08 -04:00
prometheus
rescheduling Add flag similar to --all for allocs to be able to filter deployments by latest 2019-05-13 18:33:41 -05:00
spread
taskevents
terraform systemd: set a high but non-infinite fd limit 2019-07-02 09:13:24 -07:00
upgrades scripts for upgrade testing 2019-04-04 22:31:57 -05:00
vault vault e2e: pass vault version into setup instead of having to infer it from test name 2019-04-10 10:34:10 -05:00
e2e.go
e2e_test.go e2e add deployment to the list of e2e tests, minor fixes 2019-05-22 12:34:57 -04:00
README.md e2e bin/update and bin/run, README 2019-06-04 13:42:07 -04:00

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