designate/doc/source/backends/powerdns.rst
Alok Jani b254e98c78 Fixes minor errors and warning in Sphinx build
* Fixes error : doc/source/backends/powerdns.rst:29: ERROR: Malformed table.
 * Fixes error : doc/source/configuration.rst:43: ERROR: Malformed table.
 * Fixes error : doc/source/getting-started.rst:285: ERROR: Duplicate target name, cannot be used as a unique reference: "installing designate"
 * Fixes warning : WARNING: html_static_path entry u'/opt/stack/designate/doc/source/_static' does not exist

Change-Id: I48e5c8c2c04a50c69d39b49a743a155c40350b21
Closes-Bug: #1377619
2014-09-25 06:35:49 +05:30

3.8 KiB

PowerDNS Backend

Designate Configuration

Parameter Default Note
domain_type NATIVE PowerDNS Domain Type
also_notify [] List of additional IPs to send NOTIFYs to.
connection sqlite:///$pystatepath/powerdns.sqlite Database connection string
connection_debug 0 Verbosity of SQL debugging information. 0=None, 100=Everything
connection_trace False Add python stack traces to SQL as comment strings
idle_timeout 3600 timeout before idle sql connections are reaped

max_retries

10

maximum db connection retries during startup. (setting -1 implies an infinite retry count)

retry_interval 10 interval between retries of opening a sql connection
mysql_engine InnoDB MySQL engine to use
sqlite_synchronous True If passed, use synchronous mode for sqlite

PowerDNS Configuration

You need to configure PowerDNS to use the MySQL backend.

  1. First enable the MySQL backend:

    launch = gmysql

  2. Configure the MySQL database settings:

    gmysql-host=<host>
    gmysql-port=
    gmysql-dbname=<dbname>
    gmysql-user=<username>
    gmysql-password=<password>
    gmysql-dnssec=yes
    #gmysql-socket=<socket path>

Note

PowerDNS can connect via socket or host/port.

  1. Configure the options for designate-central - specifaclly "connection" to point to your MySQL database:

    [backend:powerdns]
    connection = mysql://<username>:<password>@<host>:<port>/<dbname>
  2. Setup the database schema.

$ designate-manage powerdns init
$ designate-manage powerdns sync
  1. Restart PowerDNS and it should be ready to serve queries using the MySQL database as the backing store.

PowerDNS deployment as hidden Master

One deployment scenario can be that the PowerDNS backend will be used as a "hidden" Master DNS for other DNS servers to consume via AXFR.

Say you have 10.0.0.1 and 10.0.0.2 as slaves then configure the backend as follows in addition to other options:

[backend:powernds]
domain_type = MASTER
also_notify = 10.0.0.1,10.0.0.2

Note

This should mostly be used in connection with another backend acting as slave.