- 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