open-nomad/e2e/terraform/README.md

40 lines
1.2 KiB
Markdown
Raw Normal View History

2018-12-18 19:37:03 +00: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.
2019-01-03 21:31:19 +00:00
It uses a Nomad binary identified by its commit SHA that's stored in a shared s3 bucket that Nomad team
2019-01-03 19:19:04 +00:00
developers can access. The commit SHA can be from any branch that's pushed to remote.
2018-12-18 19:37:03 +00:00
2019-01-03 18:12:43 +00:00
Use [envchain](https://github.com/sorah/envchain) to store your AWS credentials.
2018-12-18 19:37:03 +00:00
```
$ cd e2e/terraform/
$ TF_VAR_nomad_sha=<nomad_sha> envchain nomadaws terraform apply
2018-12-18 19:37:03 +00:00
```
2019-01-03 18:12:43 +00:00
After this step, you should have a nomad client address to point the end to end tests in the `e2e` folder to.
2019-01-03 21:31:19 +00:00
## SSH
Terraform will output node IPs that may be accessed via ssh:
```
ssh -i keys/nomad-e2e-*.pem ubuntu@${EC2_IP_ADDR}
```
The Windows client runs OpenSSH for conveniences, but has a different user and will drop you into a Powershell shell instead of bash:
```
ssh -i keys/nomad-e2e-*.pem Administrator@${EC2_IP_ADDR}
```
## Teardown
The terraform state file stores all the info, so the nomad_sha doesn't need to be valid during teardown.
2019-01-03 21:31:19 +00:00
```
$ cd e2e/terraform/
$ envchain nomadaws TF_VAR_nomad_sha=yyyzzz terraform destroy
```