Jump to: navigation, search

Difference between revisions of "Designate/Atlanta/Workshop 1"

Line 1: Line 1:
= Designate: Interactive Workshop - Install and Operate  =
+
= Designate: Interactive Workshop - Install and Operate - Openstack Summit, May 2014 =
  
 
Designate provides DNSaaS services for OpenStack.
 
Designate provides DNSaaS services for OpenStack.
Line 10: Line 10:
  
 
See also: "Designate: An Overview of DNSaaS for Openstack" and “Designate: Deep Dive for Operators/Deployers”
 
See also: "Designate: An Overview of DNSaaS for Openstack" and “Designate: Deep Dive for Operators/Deployers”
 +
 +
== Designate Installation Instructions - DRAFT ==
 +
 +
=== 1. Verify VM and Openstack core components are installed and correctly configured ===
 +
# verify python environment is installed
 +
#:pip: ''<cmd>''
 +
#:virtualenv: ''<cmd>''
 +
# verify RabbitMQ Server is installed and configured correctly:
 +
# verify Glance Service is installed and configured correctly:
 +
# verify Glance Client is installed and configured correctly:
 +
# verify Keystone Service is installed and configured correctly:
 +
# verify Keystone Client is installed and configured correctly:
 +
# verify Neutron Service is installed and configured correctly:
 +
# verify Neutron Client is installed and configured correctly:
 +
# verify Nova Service is installed and configured correctly:
 +
# verify Nova Client is installed and configured correctly:
 +
# verify MySQL is installed: <cmd>
 +
# verify MySQl is configured correctly:
 +
=== 2. Install Designate ===
 +
# Install system package dependencies
 +
#:$ apt-get build-dep python-lxml
 +
# Clone the Designate repo off of Stackforge
 +
#:$ git clone https://github.com/stackforge/designate.git
 +
#:$ cd designate
 +
# Setup virtual env
 +
#:$ virtualenv --no-site-packages .venv
 +
#:$ . .venv/bin/activate
 +
# Install Designate and its dependencies
 +
#:$ pip install -r requirements.txt -r test-requirements.txt
 +
#:$ python setup.py develop
 +
# Copy sample config files to edit
 +
#:$ cd etc/designate
 +
#:$ ls *.sample | while read f; do cp $f $(echo $f | sed "s/.sample$//g"); done
 +
# Install the DNS server, PowerDNS
 +
#Grant sudo permissions if you intend to run Designate as a non-root user
 +
#Make the directory for Designate’s log files
 +
=== 3. Configure Designate ===
 +
#: editor (vi) designate.conf
 +
 +
 +
=== 4. Initialize & Start the Designate Central Service ===
 +
=== 5. Initialize & Start the Designate API Service ===
 +
=== 6. Exercise the Designate API ===
 +
Sample Helpful commands below in "Other Designate Workshop Command Lines"
 +
 +
 +
== Other Designate Workshop Command Lines ==
  
 
= Additional Notes on the workshop =
 
= Additional Notes on the workshop =

Revision as of 19:00, 21 April 2014

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

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 - DRAFT

1. Verify VM and Openstack core components are installed and correctly configured

  1. verify python environment is installed
    pip: <cmd>
    virtualenv: <cmd>
  2. verify RabbitMQ Server is installed and configured correctly:
  3. verify Glance Service is installed and configured correctly:
  4. verify Glance Client is installed and configured correctly:
  5. verify Keystone Service is installed and configured correctly:
  6. verify Keystone Client is installed and configured correctly:
  7. verify Neutron Service is installed and configured correctly:
  8. verify Neutron Client is installed and configured correctly:
  9. verify Nova Service is installed and configured correctly:
  10. verify Nova Client is installed and configured correctly:
  11. verify MySQL is installed: <cmd>
  12. verify MySQl is configured correctly:

2. Install Designate

  1. Install system package dependencies
    $ apt-get build-dep python-lxml
  2. Clone the Designate repo off of Stackforge
    $ git clone https://github.com/stackforge/designate.git
    $ cd designate
  3. Setup virtual env
    $ virtualenv --no-site-packages .venv
    $ . .venv/bin/activate
  4. Install Designate and its dependencies
    $ pip install -r requirements.txt -r test-requirements.txt
    $ python setup.py develop
  5. Copy sample config files to edit
    $ cd etc/designate
    $ ls *.sample | while read f; do cp $f $(echo $f | sed "s/.sample$//g"); done
  6. Install the DNS server, PowerDNS
  7. Grant sudo permissions if you intend to run Designate as a non-root user
  8. Make the directory for Designate’s log files

3. Configure Designate

  1. editor (vi) designate.conf


4. Initialize & Start the Designate Central Service

5. Initialize & Start the Designate API Service

6. Exercise the Designate API

Sample Helpful commands below in "Other Designate Workshop Command Lines"


Other Designate Workshop Command Lines

Additional Notes on the workshop

I chose PowerDNS as the backend rather than BIND as it is more well tested as of now. I put in a single node – so that it is easier to control and easier for newbies to install. Also we talked about the workshop showing migration to Designate. However I think it is early at this point for us to talk about migration as we have not yet done a migrate with Designate.

Removed

  • REST API for domain & record management
  • Multi-tenant
  • Integrated with Keystone for authentication
  • Framework in place to integrate with Nova and Neutron notifications (for auto-generated records)
  • Support for PowerDNS and Bind9 out of the box