Difference between revisions of "Designate/Blueprints/Server Pools"
< Designate | Blueprints
Graham Hayes (talk | contribs) (→Phase One) |
Graham Hayes (talk | contribs) (→Phase One) |
||
Line 5: | Line 5: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Gerrit Patch || | + | ! Gerrit Patch || [https://review.openstack.org/#/c/47397/] |
|- | |- | ||
− | ! Launchpad Blueprint || | + | ! 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/ | + | GET http://designate-server:9001/v2/pools/pool_id/servers - get all servers in <pool_id> |
− | GET http://designate-server:9001/v2/pools/ | + | 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 | + | 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:
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
- Currently there is only support for one pool
- This is currently a synchronous operation - async will be in a later phase
- 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.
- 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.