Resolves warnings like the following:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
Change-Id: I6c161fc4bbc1fafa576916bb9dc3a039c06f9ffa
These translation sections are not needed anymore, Babel can
generate translation files without them.
Change-Id: Id54c22f820b1aa6315d721e354ce150c657bd4fd
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: Ia739f33b3db2c15a8c2eb6143134587f31591cfd
The use of this code path is very limited at the moment,
and this patch further simplifies the code to make it easier
to either deprecate or extend it in the future.
* Renamed service_status.py -> heartbeat_emitter.py.
* Merged HeartbeatEmitter and Heartbeat.
Change-Id: I68a4a49dd3e6bbc123c3ed5d3d3661aa08ad0bbb
- Ignore duplicate Zone error
- Handle error when contractId or gid is missed
- Ignore port for masters servers, because Akamai uses only 53 port and
does not allow to specify any port in list of masters servers.
- Added timeout and retries for soft Zone Delete
- Added handling errors on the delete zone action
- Added Log info message with RequestId on soft zone delete
- Added processing for TsigKey during creation zone
- Added devsatck_plugin for akamai_v2 backend
Depends-On: https://review.opendev.org/#/c/692819/4
Change-Id: Ib221f4cf0371e70fc6900582d826ffc1bdfc12b9
The pool-manager has been deprecated since Newton and
is now being removed with the Train release.
Change-Id: Ib258043d492bb25e1c061d765b40885317c73804
This command has been broken for a very long time, and is
unlikely to be useful. In addition this command only supports
the old, unsupported ini based pool configuration.
Change-Id: Ic1896affe355fbc6d6c9a2cb2b6853df773cef57
We had no coverage of the base sink. This add some basic
tests, as well as a fake notification handler that can be
used for testing.
Change-Id: Ie8657aacd22737f9ebaac4af4b34030e12ab18d0
Based upon the established conf paradigm used in Nova,
this patch moves most of the configuration to a
central location. Making config a lot easier to
manage, as well a lot easier to locate.
There is still some configuration listed in classes,
that I would like to eventually move to
designate.conf as well, but to lower complexity not
all config was moved.
General changes
* Centrelized most configuration under designate.conf.
* Cleaned up configuration.
* Simplified config generation.
* Renamed generated config to designate.conf.sample.
Previously broken
* xfr_timeout now in the appropriate section.
* memcached_servers now in the appropriate section.
Previously missing from sample config
* allowed_remote_exmods listed in sample config.
* backend:akamai section listed in sample config.
* backend:dynect section listed in sample config.
* backend:infoblox section listed in sample config.
blueprint centralize-config-designate
Change-Id: I3be68bf294157631a9bac128df0841220020de96
This goal is to implement the process set out in the 2018-10-24 Python
Update Process TC resolution[1], for the Train cycle to ensure unit
testing is in place for all of the Tested Runtimes for Train[2].
In practice, this generally means adding unit tests for Python 3.7 and dropping
unit tests for Python 3.5. Using the Zuul template for Train will ensure that
all projects that support Python3 will be tested against the agreed runtime
versions, and make it easier to update them in future.
[1]https://governance.openstack.org/tc/resolutions/20181024-python-update-process.html
[2]https://governance.openstack.org/tc/reference/runtimes/train.html
Change-Id: I27ad92ae4f17e56e5879b7338db3543e5a67d8a5
Depends-On: https://review.opendev.org/#/c/641878/
This checks for duplicate entries in the service_statuses table
which will be an error after change
I307a8f7dd8b8a83effa447a846db3288efa32dba.
Related-Bug: 1768824
Story: 2003657
Task: 26127
Change-Id: Ie0350b034f0eb03749138aadd0951d30073214c0
Co-authored-by: Doug Hellmann <doug@doughellmann.com>
The sample config file was removed in
I49afb68a170abffaf7852dd7a2dc837e4cf4a756, also remove it setup.cfg's
list of data_files to avoid errors when building from source.
Change-Id: I8f02ced2cb081bf343b63ea7ad788683d3343b14
This commit will move all default policies to code for:
- zone
- zone_export
- zone_import
- zone_transfer_accept
- zone_transfer_request
Change-Id: I9945fe66d127696907695c73ecef77a6f07acd38
Co-authored-By: Nam Nguyen Hoai <namnh@vn.fujitsu.com>
Implements: blueprint policy-in-code
This commit will prepare for implementing policies in code.
- https://governance.openstack.org/tc/goals/queens/policy-in-code.html
Change-Id: Iea587cb6f4281b950eaca6bdaac3a8ea5de76c67
Co-authored-By: Nam Nguyen Hoai <namnh@vn.fujitsu.com>
Implements: blueprint policy-in-code
The current method of specifying each rootwrap filter
in the file list is prone to errors when adding or
removing filters. Instead of relying on a manually
maintained list this patch just includes all the files
of the correct naming convention from the applicable
folder. This is simpler and easier to maintain.
Change-Id: I116efd3ff1799965bb46da785b2ad96c7f5b97c5
Closes-Bug: #1718356
- Keep currently config in the Designate
- Fix some warning about missing help string
- Auto-generate sample config via genconfig testenv.
- Add an instruction in README about genconfig
- Create config sample along with whole service, backend
- Create opts.py to focus list_opts.
Change-Id: Iead7772cd13316c9f4adafe1b1e70d36bbc6a11a
- With this PS, we could be received a warning error at same time
when build sphinx decumentation of Designate via:
$ python setup.py build_sphinx
- Fix some issues with docs sphinx.
Change-Id: I1e5a8c4b45dc3d10028531eabb50d3d6189ea070
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: Ib594e12fb7a238e5cb3610ace8a66fbaefe0e660
If the previous filter(s) didn’t make a clear selection of one pool
and if the default pool is in the set of multiple pools,
this filter will select the default pool.
Change-Id: I26a7a2628bcb593c189d8b470fd546c060ceeab9
- Defines a plugin interface for what's actually emitted as part
of designate "notifications".
- The default plugin emits the same thing as notifications did prior
to this patch.
- The "audit" notification plugin emits recordset data changes and
zone/recordset names, if they exist, the notifications with this
plugin look like http://paste.openstack.org/show/545210/
- Adds support for multiple notifications for a single change
- Also adds client IP to the context object, as it's a field that
may be of interest to some types of notifications
- Many tests
Change-Id: I01118fae8ce6e38ccc61b0ce763fd759affd9a86
- 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
Currently, there is no support for Microsoft DNS
in designate. This patch addresses this issue
by adding support for Microsoft DNS Server using
an agent backend in designate.
Change-Id: I8db1906e17e5fb20fa6f3e5d1f13b2d701f0c032
Implements: blueprint msdns-backend-support
Depends-On: I029747555a58e0a8e362b65e6c0c470cf2774e42
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.
Change-Id: I7d4cf183edc8549755993cd4e27a982c06d75fd7
Depends-On: Ia9ddcf66c13def98b4b7df3b76f9f3dff53c42ca