Designate/Blueprints/Server Pools
< Designate | Blueprints
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.