hashicorp/terraform-aws-nomad

Why pin version?

rboarman-sc opened this issue · 3 comments

In file:

https://github.com/hashicorp/terraform-aws-nomad/blob/master/examples/nomad-consul-ami/nomad-consul-docker.json

{
  "min_packer_version": "0.12.0",
  "variables": {
    "aws_region": "us-east-1",
    "nomad_version": "0.7.1",
    "consul_module_version": "v0.3.1", <-------
    "consul_version": "1.0.3"
},

The version of "consul_module_version" is being pinned to a branch named "v0.3.1."

Shouldn't this be the latest version of the module? Why pin to a very old version?

If I remove the pin and use master instead, I get this error (Amazon Linux 2):

Starting cloud-init: Cloud-init v. 0.7.6 running 'modules:final' at Tue, 20 Aug 2019 20:00:05 +0000. Up 33.87 seconds.

user-data: 2019-08-20 20:00:05 [ERROR] [run-consul] The binary 'systemctl' is required by this script but is not installed or in the system's PATH.

What is the correct version to use and what should I use for consul_version?

It's pinned for precisely the reason you mentioned: to avoid picking up breaking changes accidentally! We want to test each new version, make sure it works, and only update after tests have passed. That said, we should probably bump the version number more often, as that is indeed quite far behind.

The release notes for the Consul module indicate the changes that need to be made: https://github.com/hashicorp/terraform-aws-consul/releases.

Can you please make the change(s)? I'd be happy to test all three AMIs and report back. Thank you!

Pull requests are welcome :)