open-nomad/e2e/terraform/packer/README.md
Tim Gross 08ae13d3b9
e2e: Windows provisioning improvements (#9246)
Small changes to the Windows 2016 Packer build for debuggability of
provisioning:

* improve verbosity of powershell error handling
* remove unused "tools" installation
* use ssh communicator for Packer to improve Packer build times and eliminate
  deprecated winrm remote access (unavailable from current macOS)
2020-11-09 13:29:40 -05:00

1.3 KiB

Packer Builds

These builds are run as-needed to update the AMIs used by the end-to-end test infrastructure.

What goes here?

  • steps that aren't specific to a given Nomad build: ex. all Linux instances need jq and awscli.
  • steps that aren't specific to a given EC2 instance: nothing that includes an IP address.
  • steps that infrequently change: the version of Consul or Vault we ship.

Running Packer builds

$ packer --version
1.6.4

# build Ubuntu Bionic AMI
$ packer build ubuntu-bionic-amd64.pkr.hcl

# build Windows AMI
$ packer build windows-2016-amd64.pkr.hcl

Debugging Packer Builds

To debug a Packer build you'll need to pass the -debug and -on-error flags. You can then ssh into the instance using the ec2_amazon-ebs.pem file that Packer drops in this directory.

Packer doesn't have a cleanup command if you've run -on-error=abort. So when you're done, clean up the machine by looking for "Packer" in the AWS console: