rndc addzone commands populated with internal IPs for masters

Bug #1843841 reported by John George on 2019-09-12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Designate Charm

Bug Description

With designate dns-slaves charm config set to an upstream bind server, rndc addzone commands are sent populated with internal IPs for masters. We want the masters IPs to be the public address, so the upstream slave can successfully connect back.

The designate charm was deployed with it's dns-backend binding set to 'oam-space', which maps to a routable subnet.

Here's an example from the upstream bind server log:
received control channel command 'addzone openstack.customername.lan { type slave; masters { port 5354; port 5354; port 5354;}; file "slave.openstack.customername.lan.a61ec558-f4c7-4590-8d23-01e136a12629"; };'

Here are the related details from juju and the bundle:

juju spaces
$ juju spaces
Space Subnets

  oam-space: &oam-space oam-space
  admin-space: &admin-space oam-space
  public-space: &public-space oam-space
  internal-space: &internal-space internal-space

    charm: cs:~openstack-charmers-next/designate
    num_units: 3
      "": *oam-space
      public: *public-space
      admin: *admin-space
      internal: *internal-space
      shared-db: *internal-space
      dns-backend: *public-space
      coordinator-memcached: *internal-space
      openstack-origin: *openstack-origin
      region: *openstack-region
      vip: *designate-vip
      use-internal-endpoints: True
      nameservers: *designate-nameservers
      also-notifies: ''
      dns-slaves: ''
    - lxd:1003
    - lxd:1005
    - lxd:1006

John George (jog) wrote :
John George (jog) wrote :
David Ames (thedac) wrote :

When using the dns-slaves (external-slaves) it may be required to specify which interface to advertise to the slaves. In John's case, a routable address is required.

We appear to be hardcoding the internal space for the RNDC master [0]
{% for rndc_master_ip in cluster.internal_addresses %}

Test and validate:
Pass the dns-backend space addresses to the context
Test without a dns-backend relation attached.

If that does not work, we may need to create an external binding for this purpose.

[0] https://github.com/openstack/charm-designate/blob/master/src/templates/rocky/pools.yaml#L47

Changed in charm-designate:
status: New → Triaged
importance: Undecided → High
milestone: none → 19.10
David Ames (thedac) on 2019-10-24
Changed in charm-designate:
milestone: 19.10 → 20.01
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers