Commit Graph

129 Commits

Author SHA1 Message Date
wu.shiming
1504fbee26 Updating python testing classifier as per Yoga testing runtime
Yoga testing runtime[1] has been updated to add py39
testing as voting. Unit tests update are handled by the
job template change in openstack-zuul-job

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

this commit updates the classifier in setup.cfg file.

[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html

Change-Id: I4f024ebeac001986cc56384b1f77083926d146d5
2021-12-21 10:07:36 +08:00
Gunju Kim
771197c2f3 Remove Akamai (eDNS SOAP API) backend
The Akamai eDNS SOAP API this backend uses no longer exists at Akamai.

Related-Bug: 1946340
Change-Id: I6545781f263c6a3d124364785aedcf2518116485
2021-10-12 16:32:49 +00:00
Yandong Xuan
290b8c068e setup.cfg: Replace dashes with underscores
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
2021-05-01 15:15:45 +08:00
Michael Hood
5aac48f08b Add NS1 backend
Introduce an NS1 backend.

Signed-off-by: Michael Hood <mhood@ns1.com>
Change-Id: I80fe08238005a94161e2dbcc89e77c90cde0a715
2021-03-08 10:55:06 -08:00
gugug
fa421e9178 Remove translation sections from setup.cfg
These translation sections are not needed anymore, Babel can
generate translation files without them.

Change-Id: Id54c22f820b1aa6315d721e354ce150c657bd4fd
2020-06-20 22:04:03 +08:00
zhangboye
7428bcef5b Add py38 package metadata
Change-Id: I89d4d36748bc053291493298f70a5c6819d43aa6
2020-05-26 10:34:50 +00:00
Andreas Jaeger
19ec7d9cd1 Cleanup py27 support
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
2020-04-05 08:11:51 +02:00
Erik Olof Gunnar Andersson
3fccc25bf6 Re-factored Heartbeat implementation
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
2020-03-09 03:15:21 +00:00
Sergey Kraynev
318b8d0319 Implement create/delete zone for Akamai v2 API
- 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
2020-01-16 18:54:30 +00:00
Zuul
7fc3a50382 Merge "Remove broken target sync extension" 2019-12-16 19:31:37 +00:00
Ghanshyam Mann
cdac0fc2f9 [ussuri][goal] Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

Designate is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Depends-On: https://review.opendev.org/#/c/693631/
Change-Id: I5a5bdc859f87f82097b95b2ebb31edb6e9b72b3a
2019-12-13 18:49:14 +00:00
Erik Olof Gunnar Andersson
2108a22037 Remove broken target sync extension
When we removed the pool-manager this was missed and the
extension is no longer functional.

Change-Id: Id3e5f87d18c7b6d79b44a6fa6df2f8efd2bf73ef
2019-11-27 18:39:25 +00:00
Erik Olof Gunnar Andersson
c030d8dc46 Experimental wsgi support
Added experimental wsgi support. This is largley untested,
but should be functional.

Change-Id: I079702a4fd7547b1fb577f4e231863df3ed90adf
2019-09-25 10:36:45 -07:00
Erik Olof Gunnar Andersson
660eacbce4 Removed deprecated powerdns 3 driver
This driver was replaced by the pdns 4 driver
many cycles ago and is being permanently removed.

Change-Id: Ic34cee5fde21f838b6dd6b54fcdd767ec8b0bc18
2019-09-24 04:26:19 -07:00
Erik Olof Gunnar Andersson
52ad1c4c13 Removed deprecated pool-manager implementation
The pool-manager has been deprecated since Newton and
is now being removed with the Train release.

Change-Id: Ib258043d492bb25e1c061d765b40885317c73804
2019-09-24 11:10:54 +00:00
Erik Olof Gunnar Andersson
bcd59f2b05 Removing manage command for akamai backend
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
2019-06-23 17:17:03 -07:00
Erik Olof Gunnar Andersson
47899bb762 Added sink unit tests
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
2019-06-09 18:44:40 -07:00
Erik Olof Gunnar Andersson
a53c3daf16 Moved most configuration into designate.conf
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
2019-05-28 23:54:00 +00:00
ZhongShengping
27d2c22e8a Update Python 3 test runtimes for Train
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/
2019-05-09 17:34:58 +08:00
Ghanshyam Mann
2a63b4d097 Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2]
https://governance.openstack.org/tc/reference/runtimes/stein.html
https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: I4a3416c240a0cd605491019739378f0e6acd0b0a
2019-04-14 19:34:30 +00:00
Zuul
f97df023b2 Merge "Add designate-status command for upgrade checks" 2019-01-04 20:04:38 +00:00
Ben Nemec
1842802de4 Add designate-status command for upgrade checks
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>
2018-12-07 21:53:17 +00:00
ZhongShengping
3e71fa4f38 Change openstack-dev to openstack-discuss
Mailinglists have been updated. Openstack-discuss replaces openstack-dev.

Change-Id: I429898c6f3a65a3287aa33a401911f3d1dcfc65a
2018-12-04 10:08:47 +08:00
melissaml
794dea3817 Follow the new PTI for document build
For compliance with the Project Testing Interface as described in:
https://governance.openstack.org/tc/reference/project-testing-interface.html

For more detials information, please refer to:
http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html

Change-Id: Ic7dad29922af2efed2188f3215f364719f0e19ae
2018-03-27 10:30:57 +08:00
Graham Hayes
c318106c01 Remove v1 API
This completes the long awaited removal of the V1 API.

Change-Id: I30c8a5e8569b1b86286c5e3cb07856c06ebe5803
2018-01-11 14:13:43 +00:00
Jimmy McCrory
0348414e9b Remove sample config from setup.cfg
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
2017-12-14 13:54:37 -08:00
Dai Dang Van
d8ff46a8fd Implement policy in code (4)
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
2017-10-24 09:24:10 +00:00
Dai Dang Van
271eba7758 Implement policy in code (1)
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
2017-10-24 09:23:25 +00:00
Jesse Pretorius
e486a50f77 Include all rootwrap filters when building wheels
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
2017-09-29 01:13:46 +00:00
chenxing
bc24df1ee2 Update the documentation link
Change-Id: I28e9097f01e4e6d60093c34534f58299488ebf73
2017-07-14 05:24:26 +00:00
Nguyen Van Trung
416ae6cd08 Auto-generate designate.conf.sample via genconfig testenv
- 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
2017-07-01 21:32:16 +07:00
Nguyen Van Trung
f7e8a71b02 Improving check warning build_sphinx
- 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
2017-06-12 13:55:18 +07:00
Jenkins
25758b58e4 Merge "Remove a py34 environment from tox" 2017-03-01 17:03:27 +00:00
Cao Xuan Hoang
837e69eb7e Remove a py34 environment from tox
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
2017-02-16 08:13:26 +07:00
Maurice Schreiber
4f3dfff564 Added in doubt default pool filter to scheduler
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
2017-02-14 16:15:53 +01:00
Tim Simmons
93c0161242 Make notifications pluggable
- 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
2017-01-19 16:10:15 +00:00
melissaml
899812d8dc Changed the home-page link
Set the correct link for home-page.

Change-Id: I4d924acee3e1e16e4ff44dd21b0cf07a78db4720
2016-10-18 12:34:53 +08:00
Graham Hayes
aa23d86835 Add PowerDNS 4 driver
Fixes-Bug: #1590429

Change-Id: I1f6017ce83a49dc0c3827c540ac18186bb14f72b
2016-09-16 17:33:13 +01:00
Jenkins
dff1c3778b Merge "Worker Model" 2016-08-25 21:07:54 +00:00
Tim Simmons
81ce132e90 Worker Model
- 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
2016-08-24 14:54:31 +00:00
Alin Balutoiu
95f451dc8a Add support for Microsoft DNS Server backend
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
2016-08-22 12:19:54 +03:00
Jenkins
c42b0a2158 Merge "Add Python 3.5 classifier and venv" 2016-07-14 17:38:27 +00:00
Yatin Kumbhare
b7ef8cc374 Add Python 3.5 classifier and venv
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
2016-07-12 16:01:27 +00:00
Federico Ceratto
4e7c65c312 Add gdnsd backend
Change-Id: Iee4227134b1d6c506e66085dcd417fe60e460ffb
2016-07-11 13:22:23 +01:00
Federico Ceratto
be7e32dfaa Add djbdns backend
Add docs and basic tests
Update config sample file and support matrix
Change-Id: I709cea4e321f6bbee3b0f9f718fa6a9836af3ca5
2016-05-20 10:46:36 +00:00
Federico Ceratto
5d328f07aa Add Knot DNS backend
Change-Id: I885c003afc2496ba4aa9631568be02e7d4654e52
2016-05-17 11:59:27 +01:00
Graham Hayes
ae8532248c Added attribute filter to scheduler
Change-Id: I80ce5621c75f05b794a4093696cf118a35a702ea
2016-04-29 10:03:28 -05:00
Endre Karlson
7abae80c61 Add support for getting Service Status
Change-Id: Iaf10d8486ac8015ecf9f394dfbf074bfb863fb78
2016-04-12 16:32:17 +02:00
Graham Hayes
8fabf5f6f9 Add scheduler for pools
This adds a scheduler to central to decide what pool to place a newly
created zone in.

Change-Id: Ie4146212209fa4b22bc271e3f4ce76104090ac9b
2016-03-14 20:59:58 +00:00
Jenkins
a05ccf3525 Merge "Add an on-demand single-target sync method" 2016-02-27 12:50:08 +00:00