Jump to: navigation, search

Difference between revisions of "Designate/Blueprints/Server Pools"

(Phase One)
(Phase One)
Line 5: Line 5:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Gerrit Patch || [[https://review.openstack.org/#/c/47397/]]
+
! Gerrit Patch || [https://review.openstack.org/#/c/47397/]
 
|-
 
|-
! Launchpad Blueprint || [[https://blueprints.launchpad.net/designate/+spec/initial-server-pools]]
+
! Launchpad Blueprint || [https://blueprints.launchpad.net/designate/+spec/initial-server-pools]
 
|}
 
|}
  
Line 24: Line 24:
 
Servers are now a full sub resource of pools, and are accessed using HTTP requests like:
 
Servers are now a full sub resource of pools, and are accessed using HTTP requests like:
  
   GET http://designate-server:9001/v2/pools/<pool_id>/servers - get all servers in <pool_id>
+
   GET http://designate-server:9001/v2/pools/pool_id/servers - get all servers in <pool_id>
   GET http://designate-server:9001/v2/pools/<pool_id>/servers/<server_id> - get <server_id> details
+
   GET http://designate-server:9001/v2/pools/pool_id/servers/server_id - get <server_id> details
 
    
 
    
  
This was to avoid massive amounts of changes to SOA records for domains, and allowing us to notify backends [[https://review.openstack.org/#/c/45078/]] of just the server that changed.
+
This was to avoid massive amounts of changes to SOA records for domains, and allowing us to notify backends [https://review.openstack.org/#/c/45078/] of just the server that changed.
  
 
==== Phase One limitations ====
 
==== Phase One limitations ====

Revision as of 13:28, 23 September 2013

Overview

Current State

Phase One

Gerrit Patch [1]
Launchpad Blueprint [2]

This is an initial change to the codebase to introduce the concept of a "server pool"

This has introduced a new service that sits where the agent would have traditionally sat for bind9

This has caused all servers and domains to assigned to a "pool", which we will use in the future to submit changes to the right pools.

Phase One State Diagram:

Phase One Server Pools State Diagram

API v2 Changes

Servers are now a full sub resource of pools, and are accessed using HTTP requests like:

 GET http://designate-server:9001/v2/pools/pool_id/servers - get all servers in <pool_id>
 GET http://designate-server:9001/v2/pools/pool_id/servers/server_id - get <server_id> details
 

This was to avoid massive amounts of changes to SOA records for domains, and allowing us to notify backends [3] of just the server that changed.

Phase One limitations

  1. Currently there is only support for one pool
  2. This is currently a synchronous operation - async will be in a later phase
  3. When designate is set up / upgraded for the first time, you will need set up a default pool in the /etc/designate/designate.cfg file.
    1. There is a default pool created in the SQLAlchemy migrations, so this will just copying and pasting the pool_id into the right section in the config file.