kolla-ansible/ansible/roles/designate/templates/pools.yaml.j2
Scott Solkhon 2520a421bc Add support for Infoblox in Designate role
This change adds support for Infoblox as a backend for Designate.

Change-Id: I7ae038befa88f5a1b3a1187a0e9037ed30f94b17
2019-01-22 14:29:40 +00:00

89 lines
3.4 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:
- hostname: {{ designate_ns_record }}.
priority: 1
nameservers:
{% if designate_backend == 'bind9' %}
{% for host in groups['designate-backend-bind9'] %}
- host: {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}
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 {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
masters:
{% for mdns_host in groups['designate-mdns'] %}
- host: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
port: {{ designate_mdns_port }}
{% endfor %}
options:
host: {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
port: {{ designate_bind_port }}
rndc_host: {{ hostvars[bind_host]['ansible_' + hostvars[bind_host]['api_interface']]['ipv4']['address'] }}
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: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
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 %}
targets:
- type: infoblox
description: Default Infoblox Pool
masters:
{% for mdns_host in groups['designate-mdns'] %}
- host: {{ hostvars[mdns_host]['ansible_' + hostvars[mdns_host]['dns_interface']]['ipv4']['address'] }}
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 %}