3469c50275
When multiple developers are working on e2e testing, it helps to be able to identify which infrastructure belongs to which Nomad SHA and which developer. This adds tags to the EC2 instances. |
||
---|---|---|
.. | ||
configs | ||
shared | ||
compute.tf | ||
iam.tf | ||
main.tf | ||
network.tf | ||
packer.json | ||
README.md | ||
terraform.tfvars | ||
user-data-client.sh | ||
user-data-server.sh |
Terraform provisioner for end to end tests
This folder contains terraform resources for provisioning a nomad cluster on AWS for end to end tests. It uses a Nomad binary identified by its commit SHA that's stored in a shared s3 bucket that Nomad team developers can access. The commit SHA can be from any branch that's pushed to remote.
Use envchain to store your AWS credentials.
$ cd e2e/terraform/
$ TF_VAR_nomad_sha=<nomad_sha> envchain nomadaws terraform apply
After this step, you should have a nomad client address to point the end to end tests in the e2e
folder to.
SSH
Terraform will output node IPs that may be accessed via ssh:
ssh -i keys/nomad-e2e-*.pem ubuntu@${EC2_IP_ADDR}
Teardown
The terraform state file stores all the info, so the nomad_sha doesn't need to be valid during teardown.
$ cd e2e/terraform/
$ envchain nomadaws TF_VAR_nomad_sha=yyyzzz terraform destroy