open-nomad/e2e/terraform
Tim Gross 7ee3333a2d e2e: filter default AMI by OS
Add an OS tag to Packer builds of our e2e test AMIs and then filters
by this in Terraform.
2019-08-30 16:51:13 -04:00
..
configs chore: Format hcl configurations 2019-07-20 16:55:07 +02:00
shared chore: Format hcl configurations 2019-07-20 16:55:07 +02:00
compute.tf e2e: enable systemd units so they start on boot 2019-05-03 07:52:03 -07:00
iam.tf Terraform configs for e2e tests 2018-12-17 11:40:09 -06:00
main.tf e2e: filter default AMI by OS 2019-08-30 16:51:13 -04:00
network.tf Terraform configs for e2e tests 2018-12-17 11:40:09 -06:00
packer.json e2e: filter default AMI by OS 2019-08-30 16:51:13 -04:00
README.md e2e readme minor changes to command + env val templates and order 2019-05-22 12:34:57 -04:00
terraform.tfvars suggestions from code review 2018-12-17 15:06:22 -06:00
user-data-client.sh Terraform configs for e2e tests 2018-12-17 11:40:09 -06:00
user-data-server.sh Terraform configs for e2e tests 2018-12-17 11:40:09 -06:00

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