kolla-ansible/ansible/roles/designate/templates/pools.yaml.j2
Michał Nasiadka f193d1af3e designate: allow designate_ns_record to be a list
In most real world deployments, there will be multiple backend DNS
servers, allow to specify all of them for the pool configuration.

Change-Id: Ic9737d0446a807891b429f080ae1bf048a3c8e4a
2022-03-24 08:50:52 +01:00

101 lines
3.3 KiB
Django/Jinja

{% if designate_backend == 'bind9' or designate_backend_external == 'bind9' %}
- name: default-bind
id: {{ designate_pool_id }}
description: Default BIND9 Pool
attributes: {}
ns_records:
{% if designate_ns_record is string %}
- hostname: {{ designate_ns_record }}.
priority: 1
{% else %}
{% for host in designate_ns_record %}
- hostname: {{ host }}.
priority: 1
{% endfor %}
{% endif %}
nameservers:
{% if designate_backend == 'bind9' %}
{% for host in groups['designate-backend-bind9'] %}
- host: {{ 'api' | kolla_address(host) }}
port: {{ designate_bind_port }}
{% endfor %}
{% elif designate_backend_external == 'bind9' %}
{% for host in designate_backend_external_bind9_nameservers.replace(" ", "").split(',') %}
- host: {{ host }}
port: {{ designate_bind_port }}
{% endfor %}
{% endif %}
targets:
{% if designate_backend == 'bind9' %}
{% for bind_host in groups['designate-backend-bind9'] %}
- type: bind9
description: BIND9 Server {{ 'api' | kolla_address(bind_host) }}
masters:
{% for mdns_host in groups['designate-mdns'] %}
- host: {{ 'dns' | kolla_address(mdns_host) }}
port: {{ designate_mdns_port }}
{% endfor %}
options:
host: {{ 'api' | kolla_address(bind_host) }}
port: {{ designate_bind_port }}
rndc_host: {{ 'api' | kolla_address(bind_host) }}
rndc_port: {{ designate_rndc_port }}
rndc_key_file: /etc/designate/rndc.key
{% endfor %}
{% elif designate_backend_external == 'bind9' %}
{% for bind_host in designate_backend_external_bind9_nameservers.replace(" ", "").split(',') %}
- type: bind9
description: BIND9 Server {{ bind_host }}
masters:
{% for mdns_host in groups['designate-mdns'] %}
- host: {{ 'dns' | kolla_address(mdns_host) }}
port: {{ designate_mdns_port }}
{% endfor %}
options:
host: {{ bind_host }}
port: {{ designate_bind_port }}
rndc_host: {{ bind_host }}
rndc_port: {{ designate_rndc_port }}
rndc_key_file: /etc/designate/rndc.key
{% endfor %}
{% endif %}
{% elif designate_backend == 'infoblox' %}
- name: infoblox
id: {{ designate_pool_id }}
description: Default Infoblox Pool
attributes:
internal: true
ns_records:
- hostname: {{ designate_ns_record }}.
priority: 1
nameservers:
{% for host in designate_backend_infoblox_nameservers.replace(" ", "").split(',') %}
- host: {{ host }}
port: {{ designate_bind_port }}
{% endfor %}
also_notifies:
{% for host in designate_backend_infoblox_nameservers.replace(" ", "").split(',') %}
- host: {{ host }}
port: {{ designate_bind_port }}
{% endfor %}
targets:
- type: infoblox
description: Default Infoblox Pool
masters:
{% for mdns_host in groups['designate-mdns'] %}
- host: {{ 'dns' | kolla_address(mdns_host) }}
port: {{ designate_mdns_port }}
{% endfor %}
options:
host: {{ designate_infoblox_host }}
port: 53
http_pool_maxsize: 100
http_pool_connections: 100
wapi_url: {{ designate_infoblox_wapi_url }}
sslverify: {{ designate_infoblox_ssl_verify }}
username: {{ designate_infoblox_auth_username }}
password: {{ designate_infoblox_auth_password }}
multi_tenant: {{ designate_infoblox_multi_tenant }}
ns_group: {{ designate_infoblox_ns_group }}
{% endif %}