Ubuntu dev doc updates

This commit makes the following changes to install/ubuntu-dev.rst:

- removes copying of all *.sample files since we end up overwriting
  contents of several files anyway
- removes a number of inline comments to give clear separation between
  information and commands
- adds a simple pools.yaml sample which should work out of the box on
  most development deploys
    - this file uses a name of "default", which means it will not
      create a new pool but rather use the existing one (helpful as
      designate.conf already references the existing pool's ID)
    - uses a target of type "bind9", which matches the
      backend in designate.conf
    - uses an rncd_key_file that exists in /etc/bind
- adds the necessary section on how to import it into Designate
- adds some additional information about activating virtualenv before
  attempting to start services in the virtualenv
- prefixes any command that requires root privileges with "sudo"
- updates examples/basic-config-sample.conf by removing reference to
  defunct 'Pool Configuration' section

Please note that I am inexperienced with Designate so some of my
assumptions here may be incorrect.

Change-Id: I8e92a9c65e68a811696f2c77820a6d00ce576bb2
This commit is contained in:
Matt Thompson 2016-04-18 10:33:33 +01:00
parent 38ee3d0a3f
commit c9407d186b
3 changed files with 144 additions and 53 deletions

View File

@ -95,22 +95,6 @@ pool_id = 794ccc2c-d751-44fe-b57f-8894c9f5c842
#periodic_sync_seconds = None
#cache_driver = sqlalchemy
#####################
## Pool Configuration
#####################
[pool:794ccc2c-d751-44fe-b57f-8894c9f5c842]
nameservers = f02a0c72-c701-4ec2-85d7-197b30992ce8
targets = f02a0c72-c701-4ec2-85d7-197b30992ce9
[pool_nameserver:f02a0c72-c701-4ec2-85d7-197b30992ce8]
host = 127.0.0.1
port = 53
[pool_target:f02a0c72-c701-4ec2-85d7-197b30992ce9]
masters = 127.0.0.1:5354
type = bind9
options = port: 53, host: 127.0.0.1
###################################
## Pool Manager Cache Configuration
###################################

View File

@ -0,0 +1,44 @@
- name: default
# The name is immutable. There will be no option to change the name after
# creation and the only way will to change it will be to delete it
# (and all zones associated with it) and recreate it.
description: Default BIND9 Pool
attributes: {}
# List out the NS records for zones hosted within this pool
ns_records:
- hostname: ns1-1.example.org.
priority: 1
# List out the nameservers for this pool. These are the actual BIND servers.
# We use these to verify changes have propagated to all nameservers.
nameservers:
- host: 127.0.0.1
port: 53
# List out the targets for this pool. For BIND, most often, there will be one
# entry for each BIND server.
targets:
- type: bind9
description: BIND9 Server 1
# List out the designate-mdns servers from which BIND servers should
# request zone transfers (AXFRs) from.
masters:
- host: 127.0.0.1
port: 5354
# BIND Configuration options
options:
host: 127.0.0.1
port: 53
rndc_host: 127.0.0.1
rndc_port: 953
rndc_key_file: /etc/bind/rndc.key
# Optional list of additional IP/Port's for which designate-mdns will send
# DNS NOTIFY packets to
# also_notifies:
# - host: 192.0.2.4
# port: 53

View File

@ -48,9 +48,9 @@ Installing Designate
::
$ apt-get update
$ apt-get install python-pip python-virtualenv git
$ apt-get build-dep python-lxml
$ sudo apt-get update
$ sudo apt-get install python-pip python-virtualenv git
$ sudo apt-get build-dep python-lxml
2. Clone the Designate repo from GitHub
@ -100,7 +100,7 @@ Installing Designate
::
$ ls *.sample | while read f; do cp $f $(echo $f | sed "s/.sample$//g"); done
$ cp -a rootwrap.conf.sample rootwrap.conf
7. Make the directory for Designates log files
@ -124,7 +124,7 @@ Configuring Designate
.. index::
double: configure; designate
Open the designate.conf file for editing
Create the designate.conf file
::
@ -140,21 +140,17 @@ Copy or mirror the configuration from this sample file here:
Installing RabbitMQ
===================
.. note::
Do the following commands as "root" or via sudo <command>
Install the RabbitMQ package
::
$ apt-get install rabbitmq-server
$ sudo apt-get install rabbitmq-server
Create a user:
::
$ rabbitmqctl add_user designate designate
$ sudo rabbitmqctl add_user designate designate
Give the user access to the / vhost:
@ -173,7 +169,7 @@ Install the MySQL server package
::
$ apt-get install mysql-server-5.5
$ sudo apt-get install mysql-server-5.5
If you do not have MySQL previously installed, you will be prompted to change the root password.
@ -204,7 +200,7 @@ Install additional packages
::
$ apt-get install libmysqlclient-dev
$ sudo apt-get install libmysqlclient-dev
$ pip install pymysql
@ -218,29 +214,63 @@ Install the DNS server, BIND9
::
$ apt-get install bind9
$ sudo apt-get install bind9
# Update the BIND9 Configuration
$ editor /etc/bind/named.conf.options
Update the BIND9 Configuration
# Change the corresponding lines in the config file:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
allow-new-zones yes;
request-ixfr no;
recursion no;
};
::
# Disable AppArmor for BIND9
$ touch /etc/apparmor.d/disable/usr.sbin.named
$ service apparmor reload
$ sudo editor /etc/bind/named.conf.options
# Restart BIND9:
$ service bind9 restart
Change the corresponding lines in the config file:
::
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
allow-new-zones yes;
request-ixfr no;
recursion no;
};
Disable AppArmor for BIND9
::
$ sudo touch /etc/apparmor.d/disable/usr.sbin.named
$ sudo service apparmor reload
Restart BIND9:
::
$ sudo service bind9 restart
Create and Import pools.yml File
================================
.. index::
double: install; pools
Create the pools.yaml file
::
$ editor pools.yaml
Copy or mirror the configuration from this sample file here:
.. literalinclude:: ../examples/basic-pools-sample.yaml
:language: yaml
Import the pools.yaml file into Designate
::
$ designate-manage pool update --file pools.yaml
Initialize & Start the Central Service
======================================
@ -276,10 +306,18 @@ Open up a new ssh window and log in to your server (or however youre communic
$ cd openstack/designate
# Make sure your virtualenv is sourced
::
If Designate was installed into a virtualenv, make sure your virtualenv is sourced
::
$ source .venv/bin/activate
# Start the API Service
Start the API Service
::
$ designate-api
Youll now be seeing the log from the API service.
@ -295,10 +333,24 @@ Open up a new ssh window and log in to your server (or however youre communic
::
# Sync the Pool Manager's cache:
$ cd openstack/designate
If Designate was installed into a virtualenv, make sure your virtualenv is sourced
::
$ source .venv/bin/activate
Sync the Pool Manager's cache:
::
$ designate-manage pool-manager-cache sync
# Start the pool manager service:
Start the pool manager service:
::
$ designate-pool-manager
@ -306,7 +358,7 @@ You'll now be seeing the log from the Pool Manager service.
Initialize & Start the MiniDNS Service
===========================================
======================================
.. index::
double: install; minidns
@ -315,7 +367,18 @@ Open up a new ssh window and log in to your server (or however youre communic
::
# Start the minidns service:
$ cd openstack/designate
If Designate was installed into a virtualenv, make sure your virtualenv is sourced
::
$ source .venv/bin/activate
Start the minidns service:
::
$ designate-mdns