Commit Graph

64 Commits

Author SHA1 Message Date
Erik Olof Gunnar Andersson 2868db4f66 Remove deprecated designate-agent
This patch completely removes the designate-agent service
and all agent related plugins.

Change-Id: Ibe4011fb85797282fa44742d4b9c9b7c00e78622
2023-10-04 14:39:57 +00:00
Michael Johnson 9c6ed29135 Add a tempest test job with sqlalchemy 2.x
Now that nova removed the use of "migrate" we can add a tempest test job
with sqlalchemy 2.x.

Change-Id: Ibc6b1a67a14c8a83c1f679a9e3302e9c2eb25983
2023-07-18 19:22:43 +00:00
Erik Olof Gunnar Andersson 5fe269abf1 Enable ptr unset tempest test
Depends-On: https://review.opendev.org/c/openstack/designate-tempest-plugin/+/823905
Change-Id: Iac7c3758a06e99e56497f50385b4cea1856bfcaa
2022-05-06 07:35:13 +00:00
Michael Johnson b1e1974fe8 Fix grenade job for mod_wsgi to uwsgi transition
This patch updates the grenade job to migrate from using Apache mod_wsgi
to using uwsgi for the Designate API when upgrading from Xena to Yoga.

It also splits out the wsgi devstack configuration into a library file.

Change-Id: Icf8ee4a8e7e2dff67257b0e5f82fbeab6cb7e0b8
2022-02-18 17:58:41 +00:00
Michael Johnson 17dc01d677 Fix apache wsgi config for CentOS
The apache configuration file location is different between Ubuntu and CentOS.
Devstack provides us a helper function to get the correct filesystem path.
This patch switches the wsgi ProxyPass configuration to use this helper
function to place the file in the correct location.

Change-Id: Id0472fb25da106a74429e87ee26c5dfdd8c83b6f
2021-11-22 23:21:03 +00:00
Erik Olof Gunnar Andersson 4b58446d37 Revert "Move back to mod_wsgi for devstack"
This reverts commit 185d92d230.

Reason for revert: Lets try to move back to uwsgi, as logging is a lot cleaner in the CI with uwsgi. Switches uwsgi from using uwsgi over socket to over localhost HTTP.

This patch also bumps the API_WORKERS setting for devstack from 2 to 4.
This will bump the uwsgi processes and threads from two to four.

Change-Id: I126133564e2ada32448ad36e0d021790939425d4
2021-11-13 01:33:50 +00: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
Jens Harbott 2255830a6a Drop deprecated tail_log function from devstack plugin
That function is to be removed from devstack, remove it in order to
avoid our plugin breaking.

Change-Id: I2ec7a5e641e6c1d2fa52ad410bb86de446694716
2020-10-27 19:19:58 +00:00
Jens Harbott 839d8b54e4 Fix uwsgi path
Devstack is switching back to using distro installed uwsgi, which will
not reside in the same directory as the python binaries. Make sure to
use the right path for it. See also [0].

[0] https://review.opendev.org/577779

Change-Id: Ic1b67c9d0ebfbf444f5ee096d6478fbe0c073329
2020-06-13 11:38:45 +00:00
Erik Olof Gunnar Andersson f6090d885c Adding distributed locking to central
The current locking implementation is limited to
the running process. This introduces distributed
locking that will help prevent race conditions
when there are many instances of designate-central
running.

Closes-Bug: #1871332
Change-Id: I98f7f80ce365cdee33528f9964c03274f62a795a
2020-04-08 00:18:33 -07:00
Zuul a5daaa9a04 Merge "Drop use of USE_SYSTEMD var in devstack plugin" 2020-01-29 23:30:01 +00:00
Dr. Jens Harbott 3770b006d0 Drop setcap on python binary
This is a bit of a security issue, also we don't seem to need it anymore
since we have long switched to running under python3 and the setcap
doesn't have any effect anyway. It will also break deployments once we
drop installing python2 completely, so just remove it now.

Change-Id: I7265c525f1091012011ba12d65e9669a826ab979
2020-01-29 15:35:25 +00:00
Dr. Jens Harbott d0731c03f5 Drop use of USE_SYSTEMD var in devstack plugin
The USE_SYSTEMD variable is to be dropped from devstack[0], as running
with systemd is the only option now. Drop it's usage in our plugin.

[0] https://review.opendev.org/703734

Change-Id: I0161bc82878ca936c3b0d9e9f9624be81fad21db
2020-01-27 14:17:20 +00:00
Erik Olof Gunnar Andersson 9e3c2bb65b Switch to apache for designate-api
This patch switches to Apache and mod_wsgi by default
for devstack.

Also, use memcached as the coordinatior for single node deployments.

Change-Id: I8798c04f2bc386aca32bda8961efd29298899890
2019-10-19 07:16:14 +00:00
Jens Harbott b9e6549ad3 Don't install v1 dashboard panel
The panel _1720_project_dns_panel.py has been removed in [0], stop
trying to install it in our devstack plugin.

[0] Iabf7d396ea6feb0cd7de1c5408a81a7a3ce1efbf

Change-Id: I7ebc7991bd4f59579195d337f1787fd8abefbe90
2019-10-15 13:10:11 +00:00
Jens Harbott 6f209e05a7 Drop use of DESIGNATE_AUTH_CACHE_DIR
That directory was only needed when using PKI tokens, which have been
removed from keystone for some cycles now. Also replace the deprecated
devstack function configure_auth_token_middleware with the current
version.

Change-Id: I7d10a21ed90dc9ea762dc3ea28fb22f55acf413d
2019-10-01 10:11:53 +00:00
Erik Olof Gunnar Andersson ac52daa60e Update devstack to use workers
Use API_WORKERS for all services, to make sure we
are testing with at least 2 workers for every service.

* Use API_WORKERS for all services.
* Removed deprecated and removed settings for the worker.
* Use enable_host_header is tests.

Change-Id: Iba9ba655c47ee085a47ee98872437f07fdc3346c
2019-09-27 20:29:40 -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
Jens Harbott e23f47d04a Drop creating extra endpoints in devstack
We don't need admin or internal endpoints in a normal devstack setup,
other basic projects are also only creating the public endpoint now.

Change-Id: Iaafec07cf9a0196b5da850924b98e3aa94d559f1
2019-08-12 14:27:15 +00:00
Erik Olof Gunnar Andersson a31982b53e Fixed oslo deprecated warning when running devstack
Moved notification driver and topics from DEFAULT to the
oslo_messaging_notifications group.

Change-Id: Iab163987fb8b27b21d4870eeb59f5d5f84229f91
2019-06-18 19:51:14 +00:00
Zuul 46d167aec9 Merge "Set worker model to be the default" 2019-03-08 07:31:03 +00:00
Zuul 1832d3e573 Merge "Make unit-testing more robust" 2019-03-07 13:41:05 +00:00
Graham Hayes b77d1d4e55
Set worker model to be the default
We will create new grenade gate that ensure upgrading
procedures from pool-manager-->worker and pool-manager-->pool-manager
by setting $DESIGNATE_ENABLED_WORKER_MODEL variable.

Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Co-Authored-By: Nguyen Van Trung <trungnv@vn.fujitsu.com>
Change-Id: I5e220738a18422a28a3384db1ab671ea111ac9b2
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-03-06 12:37:16 +00:00
hamzah alqtaishat 91fb85429e Add devstack VENV build support
Change-Id: I7bccb19b9d629ccddac1dc2808f8a8b89ed5c7a7
2019-02-25 14:21:00 -08:00
Erik Olof Gunnar Andersson 4e3c35931d Make unit-testing more robust
* 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
2019-02-19 23:40:08 -08:00
Erik Olof Gunnar Andersson 45e834093c Standardize colorized logging
Change-Id: Ic479f467cad40a57d6b0e2dd866ee631b91da2c6
2018-11-06 04:26:44 +00:00
Erik Olof Gunnar Andersson ab4ca0728e Fixing RabbitMQ gate timeouts
- Raised rpc timeout from 5s to 60s (default).

Change-Id: Ib5ffdd7f5a3e09b394b05a396e91148c869ab0b9
2018-10-16 01:38:18 +00:00
Pavlo Shchelokovskyy 56651f1fdd Verify project-id when setting quota
this patch adds several things to attempt (on best effort basis)
to use incoming user token in the quota set request to ask Keystone
if the project id the quota being set on is actualy valid:

- added new [keystone] config section to hold session- and
  adapter-realated options for accessing Keystone enndpoint
- added a token- and service catalog-based user auth plugin to the request
  context
- use the above to construct a keystoneauth adapter for Identity service
  and attempt to GET on projects/{project_id}

  - only if the Keystone v3 catalog endpoint is not found, or
    the request returns 404 NotFound, we raise an error and return it
    as 400 BadRequest to client when attempting to change quotas for
    project.

This behavior is enabled by setting a new
[service:api]quotas-verify-project-id config option to True (default is
False for backward compatibility).

Change-Id: Ib14ee5b5628509b6a93be8b7bd10e734ab19ffee
Depends-On: https://review.openstack.org/580142
Closes-Bug: #1760822
2018-07-05 08:46:37 +00:00
Graham Hayes 4a023ac9cc
os-loganayze fix
This fixes log output in the gate

Change-Id: I7c74e45128d6d1142452619324b3394660741e4c
2018-02-01 17:49:50 +00: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
Graham Hayes 51a6d617d3 Update CI Jobs
- Added 'manager_model' flag for old style
  pool-manager + zone-manager

- Added grenade testing for verify_noapi which
  shows we can do an upgrade without impacting the
  data plane

- Removed old keystone v3 test (v2 no longer exists, so
  we are already testing it

- Make py35 job voting

- Stop dsvm jobs on docs / releasenotes / api-ref changes

Change-Id: I0de8d8c3366bb0325a73dd19ce0e1f9a57553d0b
2017-12-05 21:38:44 +00:00
Zuul 65e79f11f0 Merge "Implement policy in code (4)" 2017-10-25 16:43:24 +00: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
Jens Harbott c2b8ddd05b Copy all dashboard panel files in devstack install
There are four files now, copy all of them.

Change-Id: I80e7c6c7879d2089e5db8b6e37716b7f951434d3
2017-10-20 07:44:55 +00:00
Jens Harbott 82de07584c Stop creating admin and internal endpoints in devstack plugin
Other services have stopped doing so a long time ago and they are not
needed anywhere.

Also clean up references to screen when devstack is doing systemd only.

Change-Id: I36029c6d1d00f0283c1f6b5f04b78ce92c8cc54f
2017-09-01 10:52:04 +00:00
Jens Harbott 8291126e4e Fix tls startup in devstack plugin
In [1] the definition of start_tls_proxy was changed, we need to have a
service name as the first parameter now.

Also set the correct protocol when tls-proxy is enabled.

[1] Ifcba410f5969521e8b3d30f02795541c1661f83a

Change-Id: I64e6f9aefcc8da5b9988fb7bff894d9a4205f871
2017-08-29 10:35:50 +00:00
Graham Hayes 3d62298313 Actually write out tempest config file
When the config was in the "extra" stage, it was being
overwritten

Change-Id: I6c9802923ab7a78772188b964c9dbb35ff084827
2017-03-08 15:44:01 +00:00
Graham Hayes ad1f14ccc8 Update Devstack plugin
Change-Id: I1a3fe5c24ce42e1ca67e910e55270f0de4adf984
2016-12-02 16:20:42 +00:00
Graham Hayes 65b5694614 Fix Grenade Gate
For some inexplicable reason grenade seems to think
horizon is installed, and is in ENABLED_SERVICES.

To avoid breaking the testing done in the other gates,
enable horizon to ensure that it is there for the
configure_designatedashboard function.

Closes-Bug: #1618253
Change-Id: I37d8756ba9f1e9f55ac9dd787ed19564e398d0dc
2016-09-08 16:34:30 -07: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
Graham Hayes 619b4753cd Add v2/quotas
This adds the quotas api from /admin to /v2 with some changes.

All users can GET /v2/quotas/<project_id>

Users with "All-Projects" permission can view other projects
(by setting X-Auth-All-Projects:True in the HTTP Headers)

Users with "All-Projects" and "set-quotas" can set other
projects quotas

Moved the API rendering to Designate Object based rendering

Change-Id: I7a0b828824ad6f274d922748f5f9a68157cd939a
Depends-On: I06180a7402fc45940d4b312666cf2dfd33af1305
2016-07-06 20:06:17 +01:00
Kiall Mac Innes 5d0e4da38c Add centos7, remove Fedora Vagrant VM
The Fedora box has not been available in some time, and most Designate
deployments running on RH based distros will be RHEL/CentOS.

Change-Id: I05e34c908ac1d5a7a2037d43f47987cad6c25531
2016-06-07 16:32:18 +01:00
Jenkins b44f3c5d63 Merge "Update devstack dashboard+client clone+install method" 2016-06-02 16:07:37 +00:00
Jenkins 8075edd8dc Merge "DevStack: Set tempest nameservers config option correctly" 2016-06-01 18:25:15 +00:00
Jenkins ccbc211981 Merge "remove verbose option in devstack plugin" 2016-06-01 18:11:10 +00:00
Jenkins 1f6163a50d Merge "Enable v2/recordsets API for tempest plugin" 2016-05-26 19:13:02 +00:00
ZhiQiang Fan ee0c6a2cf4 remove verbose option in devstack plugin
This option is deprecated in Mitaka and has been removed in Newton,
and its default value is True already. Let's remove it.

Change-Id: I1cb4396aa292ee7bb87a431fb38902e717f9ed2b
ref: http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html
ref: https://review.openstack.org/#/c/314573/
2016-05-27 03:05:30 +08:00
Kiall Mac Innes bef53dbe93 DevStack: Support setting default quotas
As tempest is creating and deleting zones, it does not wait
for all zones to be deleted before moving onto the next test.

This can lead to having a large number of pending delete zones
which consume all/most of the default quotas, and tests begin
failing.

By setting the default quotas higher in DevStack, we allow the
tests to proceed.

Change-Id: I3652bb06724fb8b89bb341c9d9f61b1dde056119
2016-05-23 14:15:10 +01:00
sonu.kumar 7b977f6b72 Enable v2/recordsets API for tempest plugin
Change-Id: Ie2b31d8e03637e91cd4c9d8a99f98d5ce1b3fde0
Depends-on: I2d5728d083966aa6b243954bf6cb89d4af473ed7
2016-05-23 03:49:08 +00:00