Jump to: navigation, search

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

(Current State)
(Phase One)
Line 16: Line 16:
 
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.
 
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.
  
[[File:Pool-Manager-State.png|frame|Phase One Server Pools]]
+
[[File:Pool-Manager-State.png|border|Phase One Server Pools State Diagram]]
 +
<br />
 +
<br/>
 +
 
  
 
==== API v2 Changes ====
 
==== API v2 Changes ====
  
Servers are now a full sub resource of pools.
+
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 [[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.

Revision as of 13:19, 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 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.