diff options
author | Tim Simmons <tim.simmons@rackspace.com> | 2016-01-29 17:33:46 -0600 |
---|---|---|
committer | Tim Simmons <tim.simmons@rackspace.com> | 2016-02-22 16:21:59 -0600 |
commit | 863bc145561d0f27370e2e3b2a0786cc54df33ee (patch) | |
tree | d12930591ce0abe3fc7dbc12f18eb1d2d5ed6b35 /etc | |
parent | 57c29fdb3f90f33c061aec30daade88385a3a009 (diff) | |
download | designate-863bc145561d0f27370e2e3b2a0786cc54df33ee.tar.gz |
Add an on-demand single-target sync method
- Adds `target_sync`, a method invoked only via RPC (probably)
by an admin API call. That somewhat intelligently replays all
the changes from a specific timestamp (serial #) on a given target.
- This came about from the following situation:
I run N number of nameservers, and I don't want all my zones going
to ERROR if I have to take one out of rotation of an emergency.
I want to be able to set my threshold percentage at N-1/100,
and sync back up all the changes that have happened while I was
doing maintenance. Unfortunately, Designate's periodic_recovery,
nor periodic_sync would work well for this method. Recovery only
fixes ERRORs, and sync simply sends NOTIFYs (and is too deeply
entombed in spaghetti code to be dug out) and is run automatically
on a set time interval, for a specific number of seconds, for all
targets.
- Includes a very simple Admin API call that looks like:
```json
POST /admin/target_sync
{
"target_id": "f02a0c72-c701-4ec2-85d7-197b30992ce9",
"timestamp": 1454071711
}
{
"message": "Syncing 79 zones on f02a0c72-c701-4ec2-85d7-197b30992ce9"
}
```
Change-Id: I3e3b608049a67b2258cd05d208af46f19df8cbdb
Diffstat (limited to 'etc')
-rw-r--r-- | etc/designate/designate.conf.sample | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/etc/designate/designate.conf.sample b/etc/designate/designate.conf.sample index 0079461e..b6b28fbb 100644 --- a/etc/designate/designate.conf.sample +++ b/etc/designate/designate.conf.sample @@ -134,7 +134,7 @@ debug = False #enable_api_admin = False # Enabled Admin API extensions -# Can be one or more of : reports, quotas, counts, tenants, zones +# Can be one or more of : reports, quotas, counts, tenants, target_sync # zone export is in zones extension #enabled_extensions_admin = |