Jump to: navigation, search

Difference between revisions of "Designate/Vancouver/Workshop"

Line 13: Line 13:
 
== Designate Installation Instructions ==
 
== Designate Installation Instructions ==
  
# Install Designate and its dependencies
+
====Install Designate and its dependencies====
 
cd /home/vagrant/designate
 
cd /home/vagrant/designate
 
pip install -r requirements.txt
 
pip install -r requirements.txt
 
sudo python setup.py develop
 
sudo python setup.py develop
  
# Make copies of designate config files from templates
+
====Make copies of designate config files from templates====
 
cd /home/vagrant/designate/etc/designate
 
cd /home/vagrant/designate/etc/designate
  
####
+
==The configuration file is set for you at etc/designate/designate.conf, you can diff it with ===designate.====conf.sample
# The configuration file is set for you at etc/designate/designate.conf, you can diff it with designate.conf.sample
+
=
###
+
========Create directory for maintaining designate log files (this directory was referenced by 'logdir' =======variable in designate.conf file)
 
 
# Create directory for maintaining designate log files (this directory was referenced by 'logdir' variable in designate.conf file)
 
 
mkdir /home/vagrant/logs/  
 
mkdir /home/vagrant/logs/  
  
# Create, Initialize and sync the databases
+
====Create, Initialize and sync the databases====
# The Designate database
+
====The Designate database====
 
mysql -e 'CREATE DATABASE `designate` CHARACTER SET utf8 COLLATE utf8_general_ci;'
 
mysql -e 'CREATE DATABASE `designate` CHARACTER SET utf8 COLLATE utf8_general_ci;'
 
designate-manage database sync
 
designate-manage database sync
  
# The PowerDNS database
+
====The PowerDNS database====
 
mysql -e 'CREATE DATABASE `powerdns` CHARACTER SET utf8 COLLATE utf8_general_ci;'
 
mysql -e 'CREATE DATABASE `powerdns` CHARACTER SET utf8 COLLATE utf8_general_ci;'
 
designate-manage powerdns sync f26e0b32-736f-4f0a-831b-039a415c481e
 
designate-manage powerdns sync f26e0b32-736f-4f0a-831b-039a415c481e
  
# Restart pDNS after replacing it's DB
+
====Restart pDNS after replacing it's DB====
 
sudo service pdns restart
 
sudo service pdns restart
  
# Start the Designate Central Service
+
====Start the Designate Central Service====
 
sudo stop designate-central  
 
sudo stop designate-central  
 
sudo start designate-central
 
sudo start designate-central
  
# Start the Designate API Service
+
====Start the Designate API Service====
 
sudo stop designate-api  
 
sudo stop designate-api  
 
sudo start designate-api
 
sudo start designate-api
  
# Start the Designate mDNS Service
+
====Start the Designate mDNS Service====
 
sudo stop designate-mdns  
 
sudo stop designate-mdns  
 
sudo start designate-mdns
 
sudo start designate-mdns
  
# Start the Designate Pool Manager Service
+
====Start the Designate Pool Manager Service====
 
sudo stop designate-pool-manager  
 
sudo stop designate-pool-manager  
 
sudo start designate-pool-manager
 
sudo start designate-pool-manager
  
# Setup the Designate Keystone service and endpoints
+
====Setup the Designate Keystone service and endpoints====
# First set user 'admin' particulars then create service and endpoint
+
====First set user 'admin' particulars then create service and endpoint====
 
source /home/vagrant/openrc.admin
 
source /home/vagrant/openrc.admin
  
Line 63: Line 61:
  
 
keystone service-create --name designate --type dns --description "Designate Service"
 
keystone service-create --name designate --type dns --description "Designate Service"
keystone endpoint-create --service designate --publicurl http://127.0.0.1:9001 #--adminurl http://127.0.0.1:9001 --internalurl http://127.0.0.1:9001
+
keystone endpoint-create --service designate --publicurl http://127.0.0.1:9001 =-adminurl http://127.===0.====0.1:9001 --internalurl http://127.0.0.1:9001
  
# Confirm the service exists
+
====Confirm the service exists====
 
keystone catalog --service dns
 
keystone catalog --service dns
  
# Install Designate Client
+
====Install Designate Client====
 
cd /home/vagrant/python-designateclient
 
cd /home/vagrant/python-designateclient
 
sudo pip install -r requirements.txt
 
sudo pip install -r requirements.txt
 
sudo python setup.py develop
 
sudo python setup.py develop
  
# Install Designate Horizon Panels
+
====Install Designate Horizon Panels====
#
 
 
cd /home/vagrant/designate/contrib/designate-dashboard
 
cd /home/vagrant/designate/contrib/designate-dashboard
 
python setup.py sdist
 
python setup.py sdist
Line 82: Line 79:
 
sudo service apache2 restart
 
sudo service apache2 restart
  
# Tell designate what you want your ns records to be
+
====Tell designate what you want your ns records to be====
 
designate server-create --name ns.example.com.
 
designate server-create --name ns.example.com.
  
 
= Additional Notes on the workshop =
 
= Additional Notes on the workshop =
 
*A single node was used so that it is easier to control and easier for newbies to install.
 
*A single node was used so that it is easier to control and easier for newbies to install.

Revision as of 21:25, 19 May 2015

Designate: Interactive Workshop - Install and Operate - Openstack Summit, May 2015

Designate provides DNSaaS services for OpenStack.

This interactive workshop will guide attendees on how Designate can be installed with PowerDNS. For the purposes of the workshop the various designate components will be installed on a single node. Once installed it shows some of the V1 and V2 APIs for domain and record management. The workshop will conclude by using a tool like dig to retrieve the added records from the PowerDNS backend, showing a fully functional by-hand deployment.

The workshop will also cover the steps for contributing to the development of Designate.

Several of the Designate contributors will be on hand during the workshop to help attendees work through the deployment.

See also: "Designate: An Overview of DNSaaS for Openstack" and “Designate: Deep Dive for Operators/Deployers”

Designate Installation Instructions

Install Designate and its dependencies

cd /home/vagrant/designate pip install -r requirements.txt sudo python setup.py develop

Make copies of designate config files from templates

cd /home/vagrant/designate/etc/designate

==The configuration file is set for you at etc/designate/designate.conf, you can diff it with ===designate.====conf.sample = ========Create directory for maintaining designate log files (this directory was referenced by 'logdir' =======variable in designate.conf file) mkdir /home/vagrant/logs/

Create, Initialize and sync the databases

The Designate database

mysql -e 'CREATE DATABASE `designate` CHARACTER SET utf8 COLLATE utf8_general_ci;' designate-manage database sync

The PowerDNS database

mysql -e 'CREATE DATABASE `powerdns` CHARACTER SET utf8 COLLATE utf8_general_ci;' designate-manage powerdns sync f26e0b32-736f-4f0a-831b-039a415c481e

Restart pDNS after replacing it's DB

sudo service pdns restart

Start the Designate Central Service

sudo stop designate-central sudo start designate-central

Start the Designate API Service

sudo stop designate-api sudo start designate-api

Start the Designate mDNS Service

sudo stop designate-mdns sudo start designate-mdns

Start the Designate Pool Manager Service

sudo stop designate-pool-manager sudo start designate-pool-manager

Setup the Designate Keystone service and endpoints

First set user 'admin' particulars then create service and endpoint

source /home/vagrant/openrc.admin

keystone service-list | grep designate | awk '{print $2}' | xargs --no-run-if-empty -n 1 keystone service-delete

keystone service-create --name designate --type dns --description "Designate Service" keystone endpoint-create --service designate --publicurl http://127.0.0.1:9001 =-adminurl http://127.===0.====0.1:9001 --internalurl http://127.0.0.1:9001

Confirm the service exists

keystone catalog --service dns

Install Designate Client

cd /home/vagrant/python-designateclient sudo pip install -r requirements.txt sudo python setup.py develop

Install Designate Horizon Panels

cd /home/vagrant/designate/contrib/designate-dashboard python setup.py sdist sudo pip install dist/*.tar.gz sudo cp designatedashboard/enabled/_70_dns_add_group.py /usr/share/openstack-dashboard/openstack_dashboard/local/enabled sudo cp designatedashboard/enabled/_71_dns_project.py /usr/share/openstack-dashboard/openstack_dashboard/local/enabled sudo service apache2 restart

Tell designate what you want your ns records to be

designate server-create --name ns.example.com.

Additional Notes on the workshop

  • A single node was used so that it is easier to control and easier for newbies to install.