One Endpoint Multiple Zones / Zone without Endpoints


Can somebody give me a hint on Zones/Endpoints setup as something I’m trying to achieve does not work?

What I’m trying to achieve is to get an Endpoint to sync multiple zones (not global zones). So as per my example below:

  • I have an Endpoint STAGING-01 that I want to receive config for zone STAGING-SERVERS
  • In future I will add more common config (ex. host templates that I don’t want to be global) to this STAGING-SERVERS zone
  • STAGING-SERVERS is an empty zone just for config (it does not have any satellite, endpoint in it etc.)

Zones on MASTER

object Endpoint "MASTER" {}

object Zone "master" {endpoints = [ "MASTER" ] }

object Zone "global-templates" { global = true }
object Zone "director-global" { global = true }

object Zone "STAGING-SERVERS" { parent = "master"  }
object Endpoint "STAGING-01" { host = "STAGING-01" }
object Zone "STAGING-01" { parent = "STAGING-SERVERS", endpoints = [ "STAGING-01"] }

Zones on STAGING-01 Endpoint:

object Endpoint "MASTER" { host = "MASTER", port = "5565"}
object Zone "master" {endpoints = [ "MASTER" ] }

object Zone "global-templates" { global = true }
object Zone "director-global" { global = true }

object Zone "STAGING-SERVERS" { parent = "master"  }
object Zone "STAGING-01" { parent = "STAGING-SERVERS "  }
object Endpoint "STAGING-01" { }

With this setup I’m getting:

[2021-09-23 22:01:28 +0000] debug/ApiListener: Not connecting to Zone 'STAGING-SERVERS' because it's not in the same zone, a parent or a child zone.

I can fix it so it syncs STAGING-SERVERS by removing ENDPOINT from STAGING-01 Zone (Local Zone for Endpoint) and add it to STAGING-SERVERS but then I’m landing in same problem situation:

  • I can see my check on host STAGING-01 but it’s in PENDING state … seems nobody (or endpoint or master is interested in picking it up).

Is it because my STAGING-SERVERS zone is empty and it should not be? Just looking for way to group few endpoints in one ZONE so they can receive specific config only for them not as part of global config.


What you are trying is not how the zones concept is designed.

I would achieve the goal by using a global zone STAGING-SERVERS which will only be known to the staging servers and the master and using the zone master and STAGING-01 to create the hierarchy for communication.