rndc addzone commands populated with internal IPs for masters
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Designate Charm |
Triaged
|
High
|
Unassigned |
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.
Here are the related details from juju and the bundle:
juju spaces
--------
$ juju spaces
Space Subnets
ceph-access-space 192.168.36.64/26
ceph-replica-space 192.168.35.64/26
external-space 10.244.32.0/21
internal-space 192.168.33.128/25
oam-space 10.246.64.0/21
ps45routers 91.189.92.0/24
undefined 10.199.196.0/24
bundle.yaml
--------
oam-space: &oam-space oam-space
admin-space: &admin-space oam-space
public-space: &public-space oam-space
internal-space: &internal-space internal-space
designate:
charm: cs:~openstack-
num_units: 3
bindings:
"": *oam-space
public: *public-space
admin: *admin-space
internal: *internal-space
shared-db: *internal-space
dns-backend: *public-space
coordinat
options:
openstack
region: *openstack-region
vip: *designate-vip
use-
nameservers: *designate-
also-
dns-slaves: '10.245.
to:
- lxd:1003
- lxd:1005
- lxd:1006
Changed in charm-designate: | |
milestone: | 19.10 → 20.01 |
Changed in charm-designate: | |
milestone: | 20.01 → 20.05 |
Changed in charm-designate: | |
milestone: | 20.05 → 20.08 |
Changed in charm-designate: | |
milestone: | 20.08 → none |
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] internal_ addresses %}
{% for rndc_master_ip in cluster.
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