0

I am trying to setup Nomad ACL among a multi region and multi datacenter cluster, In server stanza I added the below on all server nodes

server {
  enabled = true
  bootstrap_expect = 2
  encrypt = "XXX-same-on-all-servers-XXX"
  authoritative_region = "HOME-DC"
  server_join {
    retry_join = ["server1", "server2", "server3"]
  }
}
acl {
  enabled = true
}

After I restart all the servers on tailing the logs this is what I get

2021-02-01T11:38:04.156Z [WARN]  nomad.rpc: no path found to region: region=HOME-DC
2021-02-01T11:38:04.157Z [ERROR] nomad: failed to fetch namespaces from authoritative region: error="No path to region"

And this is I get if I run

nomad acl bootstrap -address=$NOMAD_ADDR
Error bootstrapping: Unexpected response code: 500 (No path to region)

On the docs I see it asks you to set the replication_token value of the acl stanza, but I am not clear on how to do it, Does it has to be generated somehow like the encrypt token? If yes then how? Reference

Unmil
  • 21
  • 3

1 Answers1

1
  • authoritative region: authoritative_region is not required and should be removed. After removing it, run nomad acl bootstrap will success.

  • non-authoritative regions:

    • authoritative_region is always required.
    • replication_token is required too, replication_token could be your authoritative's bootstrap token, or create another token from for less capabilities.
Miao1007
  • 944
  • 6
  • 22