designate/doc/source/admin/backends/gdnsd_agent.rst
Graham Hayes 3955f474a5
Docs Refactor
* Move backend docs to admin guide
* Add oslo.config sphinx extention
* Add HA guide
* Update drivers to log driver grade

Change-Id: I4a364a0d1a0656f26d3a4c3b7baad7e43cddcb16
2017-12-05 21:06:18 +00:00

121 lines
3.3 KiB
ReStructuredText

..
Copyright 2016 Hewlett Packard Enterprise Development Company LP
Author: Federico Ceratto <federico.ceratto@hpe.com>
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
gdnsd Agent backend
*******************
User documentation
==================
This page documents the Agent backend for `gdnsd <http://gdnsd.org/>`_.
The agent runs on the same host as the resolver. It receives DNS messages
from Mini DNS using private DNS OPCODEs and classes and
creates/updates/deletes zones on gdnsd using zone files under
the gdnsd configuration directory.
The backend supports gdnsd from version 2.0
`gdnsd documentation <https://github.com/gdnsd/gdnsd/wiki>`_
Setting up gdnsd on Ubuntu Vivid
--------------------------------
Run as root:
.. code-block:: bash
apt-get update
apt-get install gdnsd
Configuring gdnsd
-----------------
Assuming gdnsd has been freshly installed on the system, run as root:
.. code-block:: bash
# Monitor syslog during the next steps
tail -f /var/log/syslog
# config check should be successful
/usr/sbin/gdnsd checkconf
# Start the daemon if needed
service gdnsd status
service gdnsd start
# gdnsd should be listening on TCP and UDP ports
netstat -lnptu | grep '/gdnsd'
# Test the daemon: it should respond with "gdnsd"
dig @127.0.0.1 CH TXT +short
Configure the "service.agent" and "backend.agent.gdnsd" sections
in /etc/designate/designate.conf
Look in designate.conf.example for more complete examples
.. code-block:: ini
[service:agent]
backend_driver = gdnsd
# Place here the MiniDNS ipaddr and port (not the agent itself)
masters = 192.168.27.100:5354
[backend:agent:gdnsd]
#gdnsd_cmd_name = gdnsd
#confdir_path = /etc/gdnsd
#query_destination = 127.0.0.1
Ensure that the "zones" directory under "confdir_path" (default /etc/gdnsd)
is readable and writable by the system user running the Designate Agent
Create an agent pool:
.. code-block:: bash
# Fetch the existing pool(s) if needed
designate-manage pool generate_file --file /tmp/pool.yaml
# Edit the file (see below) and reload it as:
designate-manage pool update --file /tmp/pool.yaml
The "targets" section in pool.yaml should look like:
.. code-block:: ini
targets:
- description: gdnsd agent
masters:
- host: <MiniDNS IP addr>
port: 5354
options: {}
options:
- host: <Agent IP addr>
port: 5358
type: agent
Start the Designate Agent. You should see log messages similar to:
.. code-block:: bash
2016-05-03 15:13:38.193 INFO designate.backend.agent_backend.impl_gdnsd [-] gdnsd command: 'gdnsd'
2016-05-03 15:13:38.193 INFO designate.backend.agent_backend.impl_gdnsd [-] gdnsd conf directory: '/etc/gdnsd'
2016-05-03 15:13:38.194 INFO designate.backend.agent_backend.impl_gdnsd [-] Resolvers: ['127.0.0.1']