- Remove old base objects
Co-authored-By: Nguyen Van Trung <trungnv@vn.fujitsu.com>
Change-Id: Icb8817a699a8c12957126a0499d95d13b8eeda6d
Implements: blueprint designate-rolling-upgrade
This commit will migrate:
- Pool and PoolList
- Related objects
Co-authored-By: Dai Dang Van <daidv@vn.fujitsu.com>
Change-Id: I59da0628a9dc23efe8d8665bbf3359e652eaa8c9
Implements: blueprint designate-rolling-upgrade
- More information about the actual worker code can be found
in `designate/worker/README.md` and in the inline docstrings
- Stand up a `designate-worker` process with an rpcapi, all
the usual jazz
- Implement a base `Task` class that defines the behavior of
a task and exposes resources to the task.
- Implement CUD Zone tasks, which includes Tasks that poll for zones,
send Notifies, and update status. These are all done in parallel
with threads using a shared threadpool, rather than iteratively.
- Implement a `recover_shard` task that serves the function
of a periodic recovery, but only for a shard. Call that
task with various shards from the zone manager.
- Put some shims in central and mdns so that the worker can
be switched on/off with a few config values.
- Changes Zone Manager -> Producer
- Removes zm rpcapi
- Adds startable designate-producer service
- Makes zone-manager an alias for producer service with a warning log
- Lots of renaming
- Moves zone export to worker
- API now uses central_api.export_zone to get zonefiles
- Central uses worker_api.start_zone_export to init exports
- Now including unit tests
- Temporary workarounds for upgrade/migration move the logic
into central if worker isn't available.
- Deprecates Pool manager polling options and adds warning msg on
starting designate-pool-manager
- Get some devstack going
- Changes powerdns backend to get new sqlalchemy sessions for each
action
- Sets the default number of threads in a worker process to 200,
this is pretty much a shot in the dark, but 1000 seemed like
too many, and 20 wasn't enough.
- Grenade upgrade testing
- Deprecation warnings for zone/pool mgr
The way to run this is simple, just stop `designate-pool-manager`
and `designate-zone-manager`, toggle the config settings in the
`service:worker` section: enabled = true, notify = true
and start `designate-worker` and `designate-producer` and you
should be good to go.
Change-Id: I259e9825d3a4eea58e082303ba3bdbdb7bf8c363
This change adds the tooling to use the DB Tables created for pool
config data and the tooling to migrate the config info itself.
Change-Id: If99dbf527ef1ac0f05f15fe77f68f64e357fe0a5
We separate out the idea of targets (backends you write to), to places you read
from (DNS servers you query). This allows for backends like Akamai/Dynect/Agent
to work correctly with multiple DNS servers behind one target.
Change-Id: If1060ccd83bce8201f52e9927789db21fc2675c9