Kolla-ansible can't create default server pool for Designate
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kolla-ansible |
Fix Released
|
High
|
wu.chunyang | ||
Stein |
Triaged
|
High
|
Unassigned | ||
Train |
Triaged
|
High
|
Unassigned | ||
Ussuri |
Triaged
|
High
|
Unassigned | ||
Victoria |
Fix Released
|
High
|
wu.chunyang |
Bug Description
I'm using kolla-ansible 9.0.0.0rc1, designate from stable/train
1. "Designate" to work requires pool of DNS Servers.
2. Kolla-ansible creates /etc/kolla/
- name: default-bind
id: 387cb738-
description: Default BIND9 Pool
attributes: {}
...
3. pool "id" is defined globally in passwords.yml, variable designate_pool_id
4. the same "id" is also used in designate.conf, content:
...
[service:central]
default_pool_id = 387cb738-
...
5. kolla-ansible updates pools here: kolla-ansible/
but this do not take effect - nothing happen, pools are not defined because of "designate-manage" work flow
6. latest "designate-manage" work as following:
- if pool id is defined in pools.yaml it looking for existing pool with that id and then update it if exists, never creates new pool.
- if pool id is not defined in pools.yaml it looking for existing pool with defined name and update it if exists. If pool does not exists, **creates it**.
7. after "Designate" installing empty pool named 'default' exists, with auto generated id
8. In my opinion kolla-ansible should work as following:
- do not use pool id defined in passwords.yml
- should read 'default' pool id from "Designate" and use it in place of designate_pool_id. I'm doing it manually and it works for me.
Regards,
Wojtek
description: | updated |
tags: | added: designate |
Changed in kolla-ansible: | |
importance: | Medium → High |
Changed in kolla-ansible: | |
assignee: | nobody → wu.chunyang (wuchunyang) |
Hi Wojtek, I think there is a chicken and egg problem with your proposal - we need to configure the pool ID in designate config, but need designate to be running in order to query the pool ID.
I checked the code for designate manage, and if the pool is not found then it is created. https:/ /opendev. org/openstack/ designate/ src/commit/ d9fb34767c5bd9f 8f822acc2b91715 db45ab68db/ designate/ manage/ pool.py# L156