Can't deploy example job (noob question)


I am learning Nomad and have deployed a Nomad Cluster with 3 Servers and 3 Clients in AWS on AWS Linux 2.

It is working and can communicate.

I have also deployed Docker on the Clients and it is working.

But when I follow this guide (and other guides) for deploying my first job it fails.

I get this “error” code:

Task Group "cache" (failed to place 1 allocation):
      * Constraint "${attr.consul.version} semver >= 1.7.0": 3 nodes excluded by filter

It looks like I need consul installed on the clients, but there is nothing in the guides about that being a requirement.

Any help would be appreciated.

Hi @jens.bavenmark ! Sounds like you might be running the example.nomad job produced by nomad job init. The current version of Nomad (accidentally) produces an example file that has a service definition that implicitly requires Consul. We didn’t intend to do that, and have a fix for the example job in Backport of cli: update default redis and use nomad service discovery into release/1.3.x by hc-github-team-nomad-core · Pull Request #13048 · hashicorp/nomad · GitHub. That fix hasn’t gone out in a release yet.

If this is the case, you can simply modify the job to set provider="nomad" in the service block. E.g.

service {
  provider = "nomad"
  name     = "redis-cache"
  tags     = ["global", "cache"]
  port     = "db"