PowerDNS Backend

Warning

This backend will not work with PowerDNS version 4 or greater. Use the pdns4 backend.

PowerDNS Configuration

You need to configure PowerDNS to use the MySQL backend.

  1. First enable the MySQL backend:
launch = gmysql
  1. 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 PowerDNS Backend using this sample target snippet
  targets:
    - type: powerdns
      description: PowerDNS Database Cluster

      # List out the designate-mdns servers from which PowerDNS servers should
      # request zone transfers (AXFRs) from.
      masters:
        - host: 192.0.2.1
          port: 5354

      # PowerDNS Configuration options
      options:
        host: 192.0.2.1
        port: 53
        # connects and logs in to the PowerDNS database designate_pdns
        connection: 'mysql+pymysql://designate:password@127.0.0.1/designate_pdns?charset=utf8'
  1. Then update the pools in designate
$ designate-manage pool update

See designate-manage pool for further details on the designate-manage pool command, and Pools for information about the yaml file syntax

  1. Setup the database schema.
$ designate-manage powerdns sync <pool_id>

See designate-manage powerdns for further details on the designate-manage powerdns command

  1. Restart PowerDNS and it should be ready to serve queries using the MySQL database as the backing store.