65a53e5438
Add a backend for integrating with Infoblox grids. Infoblox will serve as a secondary for Designate-controlled zones. Implements: blueprint infoblox-backend Change-Id: Ic6cd00850442c7b31ca5034f1306d37e69991014
4.3 KiB
4.3 KiB
Infoblox Backend
Provides an integration between Designate and Infoblox grids.
Features
The Infoblox Designate backend allows an Infoblox grid to be used for serving zones controlled by OpenStack Designate.
The Infoblox backend may be setup to map a specific Designate pool to a single DNS view, or it may be setup to map individual tenants to per-tenant DNS views.
Infoblox Configuration
- Create a user for use by Designate.
- Set up one or more name server groups to be used to serve Designate
zones.
- Set the Designate mDNS servers as external primaries
- Add a grid member as a grid secondary; select the "Lead Secondary" option for this member
- Add additional grid secondaries as desired
Designate Backend Configuration
- Designate may be configured to talk to any number of grid API
service points (GM or Cloud appliance).
- Setup a pool for each combination of DNS view and nameserver group you wish to manage.
- Setup a pool target for each API service point that Designate should
talk to.
- A single Designate pool should point to only one API service point in any single grid. That is, do not point a pool at more than one API service point in the same grid.
- It is OK to point a pool at multiple grids, just not to multiple service points on the same grid.
- You may specify the DNS view and nameserver group on a per-target basis.
- The
[infoblox:backend]
stanza in the designate configuration file can be used to set default values for the grid connectivity and other information. - These values can be overridden on a per-target basis with the "options" element of the target configuration.
- Set the mDNS port to 53 in the
[service:mdns]
stanza. - Designate always puts any servers associated with the pool as NS records for the domain. So, if you wish for any Infoblox nameservers to be listed in NS records, they must be added via Designate.
Example Designate Configuration
[pool:794ccc2c-d751-44fe-b57f-8894c9f5c842]
#Specify the API service points for each grid
targets = f26e0b32-736f-4f0a-831b-039a415c481e
# Specify the lead secondary servers configured in the NS groups
# for each target.
nameservers = ffedb95e-edc1-11e4-9ae6-000c29db281b
[pool_target:f26e0b32-736f-4f0a-831b-039a415c481e]
type = infoblox
# wapi_url, username, password can all be overridden from the defaults
# allowing targets to point to different grids
options = dns_view: default, ns_group: Designate
[pool_nameserver:ffedb95e-edc1-11e4-9ae6-000c29db281b]
host=172.16.98.200
port=53
[backend:infoblox]
# The values below will be used for all targets unless overridden
# in the target configuration. http_* options may only be set here,
# not at the target level.
http_pool_maxsize = 100
http_pool_connections = 100
wapi_url = https://172.16.98.200/wapi/v2.1/
sslverify = False
password = infoblox
username = admin
multi_tenant = False
Multi-tenant Configuration
When configured with multi_tenant = True
in the
designate.conf file, the DNS view will be chosen as follows:
- A search will be made for a network view with the EA "TenantID", with the value of the OpenStack tenant_id.
- If found, then then DNS view used will be <dns_view>.<network_view>, where <dns_view> is the value specified in designate.conf, and <network_view> is the name of the view found in the search.
- If no such network view is found, then a network view will be created with the name <network_view>.<tenant_id>, where <network_view> is the value specified in designate.conf. This network view will be tagged with the TenantID EA.
- If the DNS view does not exist (in either case above), then it will be created.