- Uses spaces instead of tabs for the sample job file. Even though Nomad
is written in Go, the HCL style guide uses two spaces for indentation,
and this will match Terraform and Vault in terms of configuration.
- Locks to redis:3.2 instead of floating latest. Running latest in
production is a bad idea and we shouldn't encourage it even via
example.
- Removes the linux constraint (native docker exists for both Mac and
Windows now)
- Aligns equal signs and stuff as per the HCL formatter
- Closes#1743
This improves the "getting started" happy path experience for non-linux
users who are running the native Docker tools on their machines. There
is no need to constrain this job to linux, since driver detection for
docker will already (basically) do this.
Remove use of periodic consul handlers in the client and just use
goroutines. Consul Discovery is now triggered with a chan instead of
using a timer and deadline to trigger.
Once discovery is complete a chan is ticked so all goroutines waiting
for servers will run.
Should speed up bootstraping and recovery while decreasing spinning on
timers.
rpcproxy is refactored into serverlist which prioritizes good servers
over servers in a remote DC or who have had a failure.
Registration, heartbeating, and alloc status updating will retry faster
when new servers are discovered.
Consul discovery will be retried more quickly when no servers are
available (eg on startup or an outage).
At the moment, this ID is only included when using `Jobs().List()`, which returns `api.JobListStub`.
With this change, the ID will also be available when using `Jobs().Info()`, which returns `api.Job`.
In fact, `ParentID` is currently the only field present in `api.JobListStub` that is not part of `api.Job`.
Note: This has the side effect that `nomad run -output` will now include an empty `ParentID`.