This commit creates the structure for migrating Designate
services from using eventlet, to using oslo.service threading backend
(standard/native python threading).
Key changes include:
* Eventlet isolation: existing eventlet-dependent service entrypoints
(central, mdns, producer, sink, worker, manage, status) are moved
from designate/cmd to a new designate/cmd/eventlet subdirectory.
* Updating their correct path in setup.cfg.
This prepares the codebase for future incremental migrations of
individual services to native threading.
Change-Id: I67941b5c7525d4b9661b30c4cc03dbd061e86083
Signed-off-by: Omer <oschwart@redhat.com>
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Ia7189ea547c92399927c55a111b1fac6739b69f5
Signed-off-by: OpenStack Proposal Bot <openstack-infra@lists.openstack.org>
Generated-By: openstack/openstack-zuul-jobs:roles/prepare-zanata-client/files/common_translation_update.sh
basestring and xrange no longer exist in Python 3 and any remaining
usage of these causes "undefined name" error.
Change-Id: Ie0b48f09d5a9383fab47be73f9b07b201071411a
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
Resolve the following warning from alembic by adding the path_separator
option:
DeprecationWarning: No path_separator found in configuration; falling
back to legacy splitting on spaces, commas, and colons for
prepend_sys_path. Consider adding path_separator=os to Alembic
config.
The same was done in nova for example.
https://review.opendev.org/c/openstack/nova/+/952266
Change-Id: I4a8cf5a54e3de768cd1883b67ce57484c32ce643
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
... instead of just documenting it. It allows us to ensure that
the required interfaces are actually implemented.
Also remove redundant override of __init__ without no additional
change.
Change-Id: Ifa7dda8f9b1c5b2890688bffc976ceeb70532991
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
it is displayed again correctly and we can add it
Change-Id: I11d94d2540bfadc31476ce1fd5bb5199075f5262
Signed-off-by: Ivan Anfimov <lazekteam@gmail.com>
The driver has been broken since its introduction, but this was recently fixed.
This change updates the unit test that was originally meant to cover it.
Change-Id: Ib21b6f052a33dc5819750f852502c7a49480c758
Signed-off-by: Erik Olof Gunnar Andersson <openstack@eandersson.net>
Recently we re-structured zuul jobs [0].
I forgot to update project.yaml with those jobs new names. This patch
fixes it.
[0] - https://review.opendev.org/c/openstack/designate/+/946263
Change-Id: Id5dde7abac4d33103c3619530506ae2b0c8a4765
Signed-off-by: Omer <oschwart@redhat.com>
Add file to the reno documentation build to show release notes for
stable/2025.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2025.2.
Sem-Ver: feature
Change-Id: Ie610d0a46e29038c985588794abbaf821bd95d82
Signed-off-by: OpenStack Release Bot <infra-root@openstack.org>
Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/add_release_note_page.sh
So far the Designate and Designate tempest plugin CI jobs definition
was different than most other OSP components. Some of the jobs were
defined in the Designate repository and other in the tempest plugin,
without any clear indication to the correct repository for the job type.
By adopting a modular approach similar to other OpenStack projects, we'll reduce maintenance overhead and allow contributors to focus on
enhancing Designate rather than debugging CI structure issues.
Goals of this restructure process:
* Create a clear separation of job definitions between designate and
designate-tempest-plugin repositories
* Organize configurations into multiple files instead of single,
monolithic one
Closes-Bug: #2106143
Change-Id: I1c00c3789b3411ee657b2fef53eb5c1aa32083b7
Signed-off-by: Omer <oschwart@redhat.com>
So far we were getting a nova.exception.TooOldComputeService
on .1 cycles, on the optional SLURP jobs (optional on .1 cycles).
This patch adds the Nova workaround other OSP components use.
Change-Id: I646d45b179a7beda228d46cde8c30aad1fb5d449
Signed-off-by: Omer <oschwart@redhat.com>
... because Jammy is no longer supported since 2025.2 .
Change-Id: I93c1c38de5ddf188523601d646b48a67c132a4ac
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
The designate.openstack.common module was removed long time ago (in
4.0.0 release), and checking usage of the removed module is just
useless.
Change-Id: I7d46f2867da6ecbefd7e7823397f964f52075f40
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
First of all the floating IP list API does not
support pagination as it doesn't pass any kind
of limit or marker down to the central API so
we simply get all the floating IPs returned.
But the floating IP API still accepts the limit
and marker query parameters, if limit is not given
we default to the default_limit_v2 config option
that has default value of 20.
If a project has exactly 20 floating IPs we hit
the bug documented in [1] where the returned list
is exactly the size of the limit used.
In the openstacksdk [2] this raises an exception
when the last item is the marker in the next url.
In the designateclient OSC plugin [3] this will
loop forever and generate HTTP requests until
stopped.
We resolve this by making the next link configurable
in the options for the object adapters but default
`next` to True to keep backward compatibility and
then set this to false for the floating IP list.
We add that since we cannot set the `links` option
to False as that would change the returned API
response body by removing links from the body
entirely.
[1] 595894be22/designate/objects/adapters/api_v2/base.py (L120)
[2] 79fbbbabff/openstack/resource.py (L2080)
[3] 490b0d6e76/designateclient/v2/base.py (L36)
Closes-Bug: #2106112
Change-Id: I60ed37719fd0411159b8ec4f68ca7b001eb8a7be
Signed-off-by: Tobias Urdin <tobias.urdin@binero.com>
Qpid and ZeroMQ are no longer supported by recent oslo.messaging
releases.
Change-Id: I250f4b248a2db868e4439a06b98d2c4aa820ed86
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: I8596a9f92a6d142632d214b679fc8c4536bae109
Signed-off-by: OpenStack Proposal Bot <openstack-infra@lists.openstack.org>
Generated-By: openstack/openstack-zuul-jobs:roles/prepare-zanata-client/files/common_translation_update.sh
The worker service has never supported the enabled_tasks option. Drop
the unused definition to avoid confusion.
Change-Id: I415f2736f8b422877d39a407a6db6472d55967c9
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
Add `designate-manage service clean` cmd to allow clean stale services.
Any services not provide heartbeat within double heartbeat_interval time
needs to be consider as dead services. And should be removed ASAP.
And in any case, even service is actually alive (maybe in a crazy rpc
timeout case), it can alway update and create it's service status back.
So we're fine to delete the service status in this case too.
Closes-Bug: #2110262
Change-Id: I211d0a60aa19ab4c0ae0fbb808e2d9080ccbbedd
Signed-off-by: ricolin <rlin@vexxhost.com>
including dots in the local-part of the address (which are to be escaped
with a backslash).
One of the locations in the bug report cannot be found any more.
Instead I improved the conversion from the SOA email address to a normal
email address form.
Closes-Bug: #1835409
Change-Id: I35049ee395edfbcb3e86004c2b95436fb9e4a789
Signed-off-by: Olaf Seibert <o.seibert@syseleven.de>
Signed-off-by: Michael Johnson <johnsomor@gmail.com>
Devstack has removed the USE_PYTHON3 variable[1][2] and now always uses
Python 3.
[1] https://review.opendev.org/c/openstack/devstack/+/920658
[2] Commit 5412dbfe7b797149f1f68100de8003b1876398fe
Change-Id: I6179ae2247bbfde340e8353c79172907b4186347
This code worked around a bug in eventlet[1] that has been fixed in
6533958f5fcec8b1577f56834ea2dc75a4f211e3. The fix has been available in
every eventlet release since v0.27.0.
[1] https://github.com/eventlet/eventlet/issues/592
Co-Authored-By: Cyril Roelandt <cyril@redhat.com>
Change-Id: I9cbf451f32b60e07e83ab248cc729f9cfede37de
Primary Designate updates zone and notifies
Secondary Designate simultaneously.
That's why Secondary Designate doesn't do AXFR
or gets the previous version.
Now Primary Designate updates zone and backend.
If backend is updated successfuly, then Designate notifies
Secondary Designate.
Closes-Bug: #2098388
Change-Id: Ib0c8523e47c61638b3f579091a1955c96aa81a6b
As per the current release tested runtime, we test
till python 3.12 so updating the same in python
classifier in setup.cfg
Change-Id: I5b40134b3703a9934fe5ad6cbb9b0ee6bda93e50