The pool-manager has been deprecated since Newton and
is now being removed with the Train release.
Change-Id: Ib258043d492bb25e1c061d765b40885317c73804
* Cleaned up producer tests.
* Fixed a mutable argument.
* Removed unused rpc timeout override for devstack.
* Set retry interval to 0 in pool manager tests.
Change-Id: I4105d192e9de8b95c792969c7432cf6d5d9fb9fb
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
- This bug will affected to Periodic sync validation.
- 'test_periodic_sync' method will raise error if Zone object
perform validate with schema vadilator.
Co-authored-By: Dai Dang Van <daidv@vn.fujitsu.com>
Change-Id: I83aff40022bab1bb308a319e58a8bf1de297429b
oslo.log provides more features and is a fundamental recommended
library to use.
Also the library oslo.log provides compatibility for log levels,
logging namespace is not needed.
Change-Id: I5636cdf3f804d4f811bd05add3fb42c0beea58a2
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
- This implements a few `TODO`s in the code around actually polling
nameservers for zone deletes. I found this necessary for changes
that were truing up missed DELETEs, and wanted to make a poll/
update_status call to verify deletion across a fleet of nameservers
when one was down.
- This originally failed in PowerDNS, because in older versions
that are still in all the distro repos, PDNS responded with a
NOERROR and empty answer section when it got a query for a zone
it knew nothing about. NEAT.
http://blog.powerdns.com/2015/03/02/from-noerror-to-refused/
- NOTE: This increases timeout for functional tests and we maybe
shouldn't do that.
Change-Id: Ied1e5daf4798127e00a06265164759d98fc9ba72
This makes a couple small, but significant changes to periodic recovery.
- Change the CUD calls for periodic recovery to use the Pool Manager's RPCAPI.
Periodic recovery is charged with fixing problems that have come about in
the normal course of operation. Sometimes things go very wrong and there
are a lot of resources that have an ERROR state. This change allows the work
generated to be distributed among active `designate-pool-manager` processes.
Hopefully resolving the issues faster, and reducing risk of random failure on
the one process generating the recovery events.
- Include zones that have been PENDING for a long time
After a certain time, a product of timeouts, intervals, and delays, changes
either should have successfully propagated, or gone to an ERROR state.
Unfortunately this doesn't happen on occaison. Certain random failures and
undiscovered bugs leave zones hanging out in PENDING state forever. By treating
these as states as errors, we (hopefully) ensure that Designate will clean up
these zones and return them to the happy path.
Change-Id: Ifb375bc9383e7dd8fd6e51a42a4a50dc5015cb13
This is a pretty invasive change :)
A non complete list of changes:
* Database Tables
* Database Columns
* Designate Objects and fields on Objects
* Designate Objects Adaptors stop doing some of the renames
* All RPCAPI versions are bumped - totally backward
incompatable (function names have changed)
Change-Id: Ib99e918998a3909fa4aa92bf1ee0475f8a519196
Usage of assertEqual(True/False, ***) should be changed to a more
meaningful format of assertTrue/False(***).
Change-Id: I8623f5534f00ea1690f74a297488957a8d35f074
Closes-Bug: #1510001
- The pool manager doesn't retry creates/deletes right away. If there's
just a small net split, or the DNS server has some temporary failure, trying
a second time will usually succeed. This should fix a lot of premature ERROR
states
Change-Id: Ib61110c4e460e93b8b5cfa8a9256151a5cabc43b
closes-bug: #1503350
The usage of assertEqual(False, ***) should be changed to a more
meaningful format of assertFalse(***).
Change-Id: I133f7784280132ca1dcfeeba5f42bb17806a497a
The idea here is, like many things, the time and frequency of sending
NOTIFYs is not the same for every backend. So we let the backends decide
when to send their NOTIFYs. Ideally this makes the Pool Manager code simpler
and the backend code easier to understand, and avoids sending some
unnecessary NOTIFYs.
This requires a change to MiniDNS' rpcapi to make notify_zone_changed and
get_serial_number take a host and port, instead of a nameserver object.
Change-Id: I8d67cebeecc8261e715849aefeafd20f0d60d304
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.
The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.
Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.
Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages
Change-Id: Ia21c15e8eca6bf456f7cfe13f815f5ce068601e7
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.
The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.
Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.
Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages
Change-Id: Iae62b48993eef3b31420f8cc245a55f5e303c4fc
Based on testing with multiple PM/mDNS/Nameservers etc in
a production-ish deploy, increasing these counts and
intervals reduces the chances of a zone entering ERROR state
and requiring correction via the periodic sync/recovery
timers.
The tests currently hardcode some of the config values as
expected arguments, we'll want to fix this up to be less
brittle ASAP.
Change-Id: Ib999a6b21ab271c1c46bca5319e5ba204fe951c1
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
* Change the cache interface to have only store, retrieve
and clear.
* Add memcache support to Pool Manager
* Add tests
Change-Id: I8b89846adfe9839b7297f4da0b249598445fcaad
Partial-Bug: 1413346
When actions (create, delete, update) are completed for a domain, remove
the statuses from the pool manager cache.
Change-Id: Icb452e3c83dca5bbcbf38ab44394b61a26867a3b
Closes-Bug: #1408202
Rather than check to see if the domain is in the Pool Manager instance in
the Pool Manager service, call the correct Pool Manager instance for the
domain. This is done by:
- Having each Pool Manager instance listen on it's own topic
- Client calls the Pool Manager instance by topic
The topic per instance is 'pool_manager.<pool_id>'.
Change-Id: I4211601305670c6b972fb778dd68fe511a34c777
Closes-Bug: #1412605
Mdns now accepts a server object rather than
destination host:port. This simplifies processing on the
pool manager.
Change-Id: I17ee0d65167cbc57098e5f0fd75593f75bf946b3
Closes-Bug: 1412601
Before when no pool servers were defined, Pool Manager would run and throw a
ZeroDivisionError. Now, Pool Manager throws a NoPoolServersConfigured error
and stops running.
Change-Id: I534e1fc813b8bd35209acd2574a5b17e171c7de9
Closes-Bug: 1403591
Add basic unit tests for the pool manager service.
More enhanced unit tests will be addressed with bug 1411700.
Change-Id: I3cbb08e4d2ae19cc2da69a96dcdaef9933767560
Closes-Bug: 1408201
Full integration of Pool Manager with Central (no longer using the proxy
backend driver.)
This patch fixes:
- Fix concurrent requests that cause lockup issue (bug #1392762)
- Fixed bug where creating a domain fails the first time in mdns
- Fixed bug where records in recordsets do not have the correct
status/action/serial
- Changed 'ADD' to 'CREATE' for ACTION column
- Ported Fake backend to pools
- Removed transitional pool_manager_proxy backend
Change-Id: Icb40448f760ff2a573d08a04bb4dec1f550119bb
Closes-Bug: 1392762