We are jazzed to announce the release of: designate 15.0.0: DNS as a Service This release is part of the zed release series. The source is available from: https://opendev.org/openstack/designate Download the package from: https://tarballs.openstack.org/designate/ Please report issues through: https://bugs.launchpad.net/designate/+bugs For more details, please see below. Changes in designate 14.0.0..15.0.0 ----------------------------------- 989835c8 Fix minimum versions in requirements.txt a1851784 Update TOX_CONSTRAINTS_FILE for stable/zed 48128c5d Update .gitreview for stable/zed 93dee6a3 Fix Redis connection over TLS 7460ae30 Fix compatibility with oslo.db 12.1.0 6d61ad55 Add backend validation and re-factored pool manage e65b32a6 Clean up manage pools and add additional testing 4a34f43e Imported Translations from Zanata 925ec43d Imported Translations from Zanata a03c4657 Fix designate-manage pool update MissingProjectID f237b0a6 Add additional backend tests 536315e3 Validate MX records during recordset create or update 6b1f9916 Add basic test for disabling the api f46d9de4 Add basic quotas api tests 3e6157f7 Add basic get backend test 43428e48 Simplified backend unit tests 16eba621 Sync rootwrap.conf from oslo.rootwrap fe387ae9 Fixed issues with __repr__ and __str__ on objects 8beccabe Added additional test coverage for adapters 60c37876 Switch Designate to Alembic database migrations 968e3d34 Remove netaddr module requirement 857b4c4e Re-factored central and rpc decorators 9876b7b9 Imported Translations from Zanata 2fc736c6 Add a user guide for Neutron/Nova DNS integration 0a3959d1 Replace deprecated readfp method with read_file 12e42df7 Fix sqlalchemy table_names DeprecationWarning e0454835 Fix pecan lookup_controller DeprecationWarning 3afd9a02 Enable cache_ok on custom sqlalchemy UUID type d1005617 Cleaned up and fixed record objects and tests 7f428e8a Validate matching double quotes in TXT recordsets. 8abb3117 Cleaned up adapter code f616bd45 Remove logic for Python < 3.2 a5db847f Added additional wsgi app testing 8140294c Updated dns message code and tests 463e1fda Added basic service unit tests cc660ca0 Minmum TTL value is zero 39652d7a Add simple API versioning to the Designate API 80506809 Removed RPC calls from MDNS and moved them to the Worker 9ac64580 Fix FIPS job - nslookup_target b5a7c6fc Update requirements for oslo.context>=4.0.0 260e1ddd Imported Translations from Zanata cdf81bb5 Bump hacking version 2cb4caa3 Remove invalid use of jsonschema.compat f0ccec12 Do not declare queue at a pipeline level 42dac06e Check zone_id in notification_handler to avoid UUID format issue. 5641e672 Drop python3.6/3.7 support in testing runtime 9a816ef8 Fix misleading release note for RBAC changes. e8fdabfc Update neutron integration link. e9faf7da Add zone ownership transfer user guide 291558c3 Fixed incorrect quota exception message 23c372d5 Remove deprecated docs section baf61602 Imported Translations from Zanata 56223bbd Fix issue with mdns rpc and make mdns safer to upgrade fe9fb45c Update zuul queue configuration 38178c07 Improve quota API validations c230ddb8 Adds api_ca_cert configuration variable to pools.yaml e1b92ab3 Remove unused render_template_to_file method d1e34d02 Stop double compressing pdns logs 1fd240f8 Fix BIND9 log collection 5fe269ab Enable ptr unset tempest test 5d5d83e5 Remove deprecated and unused MDNS RPC calls 4d258fc4 Fixed rare race condition in unit test e5d2fc06 Cleaned up agent backend code 13d98df2 Added additional worker unit test coverage 69366b92 Set a minimum coverage limit f81a16db designate-tox-dnspython-latest irrelevant files dc45a035 Validate worker actions before retrying poll 6ac659d2 Minimum TTL value allowed is zero 081a76a9 Drop lower-constraints.txt and its testing 278b39c2 Add a grenade job for bind9 6388f750 Switch CentOS jobs over to CentOS 9 Stream fc905bf7 Removing more unused rpc calls d705c5d6 Clarifies the zone import error message 147e00f4 Improved logging and minor cleanup of worker api 1a4ace8a Deprecate ineffective [service:api] max_header_line 30a03e10 Fix tox docs env to have the correct dependencies 6f847aeb Fix delete zone transfer request with scoped token ed5aa3f7 Improve quota object coverage 24402867 Fix grenade job API startup for uwsgi 8533bf68 Remove unused log hook code 158e017b Fix set-quotas for non-project scoped tokens c998ff69 Remove unused downgrade functions 89864d45 Add Python3 zed unit tests 888a9ef7 Update master for stable/yoga 61e1bfc6 Remove unused notification handler config from central Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .zuul.yaml | 54 +-- api-ref/source/dns-api-v2-index.rst | 23 + api-ref/source/dns-api-v2-version.inc | 47 -- api-ref/source/index.rst | 108 ++++- api-ref/source/parameters.yaml | 30 +- .../samples/versions/get-versions-response.json | 37 +- contrib/fixleadingzeros.py | 5 +- designate/agent/handler.py | 2 +- designate/api/service.py | 7 +- designate/api/v2/controllers/blacklists.py | 4 +- designate/api/v2/controllers/quotas.py | 26 +- designate/api/v2/controllers/rest.py | 20 +- designate/api/v2/controllers/service_status.py | 10 +- designate/api/v2/controllers/zones/__init__.py | 5 +- designate/api/v2/controllers/zones/nameservers.py | 6 +- designate/api/v2/controllers/zones/recordsets.py | 13 +- .../api/v2/controllers/zones/tasks/exports.py | 14 +- .../api/v2/controllers/zones/tasks/imports.py | 14 +- .../v2/controllers/zones/tasks/transfer_accepts.py | 16 +- .../controllers/zones/tasks/transfer_requests.py | 24 +- designate/api/versions.py | 40 +- designate/backend/__init__.py | 9 +- designate/backend/agent.py | 145 +++--- designate/backend/base.py | 15 - designate/backend/impl_akamai_v2.py | 4 - designate/backend/impl_bind9.py | 4 - designate/backend/impl_ns1.py | 4 - designate/backend/impl_pdns4.py | 35 +- designate/central/rpcapi.py | 58 +-- designate/central/service.py | 420 +++-------------- designate/cmd/__init__.py | 7 + designate/cmd/agent.py | 3 - designate/cmd/api.py | 3 - designate/cmd/central.py | 3 - designate/cmd/manage.py | 24 +- designate/cmd/mdns.py | 3 - designate/cmd/producer.py | 3 - designate/cmd/sink.py | 3 - designate/cmd/worker.py | 3 - designate/common/constants.py | 18 + .../decorators}/__init__.py | 0 designate/common/decorators/lock.py | 107 +++++ designate/common/decorators/notification.py | 90 ++++ designate/common/decorators/rpc.py | 49 ++ designate/common/policies/blacklist.py | 19 - designate/common/policies/quota.py | 12 - designate/common/policies/zone_transfer_accept.py | 43 -- designate/common/policies/zone_transfer_request.py | 4 - designate/conf/__init__.py | 2 - designate/conf/api.py | 6 +- designate/conf/central.py | 2 - designate/conf/mdns.py | 14 +- designate/conf/metrics.py | 36 -- designate/conf/worker.py | 21 +- designate/context.py | 16 - designate/dnsutils.py | 51 ++- designate/hookpoints.py | 183 -------- designate/locale/en_GB/LC_MESSAGES/designate.po | 6 +- designate/locale/ru/LC_MESSAGES/designate.po | 8 +- designate/manage/base.py | 12 +- designate/manage/database.py | 79 +++- designate/manage/pool.py | 341 ++++++++------ designate/mdns/base.py | 38 -- designate/mdns/handler.py | 19 +- designate/mdns/notify.py | 289 ------------ designate/mdns/rpcapi.py | 144 ------ designate/mdns/service.py | 11 +- designate/mdns/xfr.py | 64 --- designate/metrics.py | 80 ---- designate/metrics_client/noop.py | 85 ---- designate/notification_handler/neutron.py | 6 + designate/notification_handler/nova.py | 5 + designate/objects/adapters/api_v2/base.py | 34 +- designate/objects/adapters/api_v2/blacklist.py | 4 - designate/objects/adapters/api_v2/floating_ip.py | 8 +- designate/objects/adapters/api_v2/pool.py | 4 - .../objects/adapters/api_v2/pool_attribute.py | 40 +- .../objects/adapters/api_v2/pool_ns_record.py | 12 +- designate/objects/adapters/api_v2/quota.py | 18 +- designate/objects/adapters/api_v2/record.py | 16 +- designate/objects/adapters/api_v2/recordset.py | 8 +- .../objects/adapters/api_v2/service_status.py | 19 +- designate/objects/adapters/api_v2/tld.py | 4 - designate/objects/adapters/api_v2/tsigkey.py | 4 - .../objects/adapters/api_v2/validation_error.py | 45 +- designate/objects/adapters/api_v2/zone.py | 20 +- .../objects/adapters/api_v2/zone_attribute.py | 38 +- designate/objects/adapters/api_v2/zone_export.py | 26 +- designate/objects/adapters/api_v2/zone_import.py | 18 +- designate/objects/adapters/api_v2/zone_master.py | 41 +- .../adapters/api_v2/zone_transfer_accept.py | 21 +- .../adapters/api_v2/zone_transfer_request.py | 27 +- designate/objects/adapters/base.py | 341 +++++++------- designate/objects/adapters/yaml/base.py | 37 +- designate/objects/adapters/yaml/pool.py | 4 - .../objects/adapters/yaml/pool_also_notify.py | 4 - designate/objects/adapters/yaml/pool_attribute.py | 39 +- designate/objects/adapters/yaml/pool_nameserver.py | 4 - designate/objects/adapters/yaml/pool_ns_record.py | 4 - designate/objects/adapters/yaml/pool_target.py | 4 - .../objects/adapters/yaml/pool_target_master.py | 4 - .../objects/adapters/yaml/pool_target_option.py | 39 +- designate/objects/base.py | 32 +- designate/objects/quota.py | 13 +- designate/objects/record.py | 8 +- designate/objects/recordset.py | 8 +- designate/objects/rrdata_a.py | 5 +- designate/objects/rrdata_aaaa.py | 5 +- designate/objects/rrdata_caa.py | 7 +- designate/objects/rrdata_cert.py | 71 +-- designate/objects/rrdata_cname.py | 5 +- designate/objects/rrdata_mx.py | 8 +- designate/objects/rrdata_naptr.py | 10 +- designate/objects/rrdata_ns.py | 5 +- designate/objects/rrdata_ptr.py | 5 +- designate/objects/rrdata_soa.py | 10 +- designate/objects/rrdata_spf.py | 21 +- designate/objects/rrdata_srv.py | 5 +- designate/objects/rrdata_sshfp.py | 5 +- designate/objects/rrdata_txt.py | 45 +- designate/objects/zone.py | 2 +- designate/producer/tasks.py | 6 +- designate/quota/base.py | 2 +- designate/quota/impl_storage.py | 27 +- designate/rpc.py | 27 -- designate/schema/format.py | 38 +- designate/service.py | 7 +- designate/sqlalchemy/base.py | 5 +- designate/sqlalchemy/session.py | 4 + designate/sqlalchemy/types.py | 1 + designate/storage/impl_sqlalchemy/__init__.py | 2 + designate/storage/impl_sqlalchemy/alembic.ini | 105 +++++ designate/storage/impl_sqlalchemy/alembic/README | 5 + designate/storage/impl_sqlalchemy/alembic/env.py | 83 ++++ .../impl_sqlalchemy/alembic/legacy_utils.py | 43 ++ .../manage.py => alembic/script.py.mako} | 29 +- .../versions/0bcf910ea823_add_zone_attributes.py | 95 ++++ .../versions/15b34ff3ecb8_fix_service_charset.py | 48 ++ .../alembic/versions/304d41c3847a_add_services.py | 59 +++ ...eaa5167_add_rrset_indexes_for_filtering_perf.py | 46 ++ .../versions/867a331ce1fc_domain_to_zone_rename.py | 149 ++++++ .../versions/91eb1eb7c882_support_caa_records.py | 48 ++ .../versions/93a00a815f07_unique_service_status.py | 60 +++ .../a69b45715cc1_add_delayed_notify_column.py | 45 ++ .../versions/b8999fd10721_support_naptr_records.py | 48 ++ .../versions/bfcfc4a07487_unique_ns_record.py | 65 +++ .../alembic/versions/c9f427f7180a_liberty.py | 340 ++++++++++++++ .../versions/d04819112169_new_pools_tables.py | 121 +++++ .../alembic/versions/d9a1883e93e9_add_fks.py | 64 +++ .../versions/e5e2199ed76e_support_cert_records.py | 48 ++ .../f9f969f9d85e_change_managed_column_types.py | 61 +++ .../storage/impl_sqlalchemy/migrate_repo/README | 4 - .../impl_sqlalchemy/migrate_repo/migrate.cfg | 25 - .../storage/impl_sqlalchemy/migrate_repo/utils.py | 44 -- .../migrate_repo/versions/070_liberty.py | 400 ---------------- .../migrate_repo/versions/071_placeholder.py | 30 -- .../migrate_repo/versions/072_placeholder.py | 30 -- .../migrate_repo/versions/073_placeholder.py | 30 -- .../migrate_repo/versions/074_placeholder.py | 30 -- .../migrate_repo/versions/075_placeholder.py | 30 -- .../migrate_repo/versions/076_placeholder.py | 30 -- .../migrate_repo/versions/077_placeholder.py | 30 -- .../migrate_repo/versions/078_placeholder.py | 30 -- .../migrate_repo/versions/079_placeholder.py | 30 -- .../versions/080_domain_to_zone_rename.py | 123 ----- .../migrate_repo/versions/081_add_FKs.py | 66 --- .../migrate_repo/versions/082_unique_ns_record.py | 62 --- .../versions/083_change_managed_column_types.py | 39 -- .../versions/084_add_delayed_notify_column.py | 35 -- .../versions/085_add_zone_attributes.py | 97 ---- .../migrate_repo/versions/086_new_pools_tables.py | 127 ------ .../migrate_repo/versions/087_placeholder.py | 26 -- .../migrate_repo/versions/088_placeholder.py | 26 -- .../migrate_repo/versions/089_placeholder.py | 26 -- .../migrate_repo/versions/090_placeholder.py | 26 -- .../migrate_repo/versions/091_placeholder.py | 26 -- .../migrate_repo/versions/092_placeholder.py | 26 -- .../migrate_repo/versions/093_placeholder.py | 26 -- .../migrate_repo/versions/094_placeholder.py | 26 -- .../migrate_repo/versions/095_placeholder.py | 26 -- .../migrate_repo/versions/096_placeholder.py | 26 -- .../migrate_repo/versions/097_add_services.py | 53 --- .../versions/098_fix_service_charset.py | 34 -- .../099_add_rrset_indexes_for_filtering_perf.py | 36 -- .../versions/100_unique_service_status.py | 47 -- .../versions/101_support_naptr_records.py | 29 -- .../versions/102_support_caa_records.py | 29 -- .../test_api/test_v2/test_api.py} | 23 +- .../{test_caa_object.py => test_rrdata_caa.py} | 30 +- .../{test_cert_object.py => test_rrdata_cert.py} | 34 +- .../{test_mx_object.py => test_rrdata_mx.py} | 17 +- .../{test_naptr_object.py => test_rrdata_naptr.py} | 4 +- .../{test_sshfp_object.py => test_rrdata_sshfp.py} | 24 +- .../impl_sqlalchemy}/__init__.py | 0 .../storage/impl_sqlalchemy/alembic/__init__.py | 0 .../impl_sqlalchemy/alembic/test_legacy_utils.py | 56 +++ designate/utils.py | 15 - designate/worker/processing.py | 28 +- designate/worker/rpcapi.py | 15 +- designate/worker/service.py | 41 +- designate/worker/tasks/base.py | 64 +++ designate/worker/tasks/zone.py | 504 ++++++++++++++++----- devstack/designate_plugins/backend-pdns4 | 1 + devstack/plugin.sh | 1 + devstack/upgrade/resources.sh | 1 + devstack/upgrade/upgrade.sh | 2 +- .../admin/backends/sample_yaml_snippets/pdns4.yaml | 1 + etc/designate/rootwrap.conf.sample | 6 + lower-constraints.txt | 154 ------- .../notes/Add-API-versioning-f5747a0bc766fb14.yaml | 7 + ...non-project-scoped-tokens-ffe3082db3dbb55b.yaml | 6 + .../Support-scoped-tokens-6b7d6052a258cd11.yaml | 4 +- ...tch-to-alembic-migrations-15b7701f4e8b37c1.yaml | 7 + ...429-allow-ttl-min-of-zero-688f7c2cf095d89d.yaml | 8 + .../notes/bug-1967825-c3463edde9a9dd7a.yaml | 7 + .../notes/bugfix-1971856-3938a55b5494b8b8.yaml | 11 + ...fix-designate-manage-pool-7d812f938e894133.yaml | 6 + ...sfer-request-scoped-token-fc9d3be407e1a50a.yaml | 5 + .../notes/mdns-rpc-moved-0e7eea194064834a.yaml | 8 + ...ove-more-unused-rpc-calls-d0199cf5518da6d6.yaml | 21 + ...emove-netaddr-requirement-ab9b9c2d15aa8e1c.yaml | 5 + .../removed-mdns-notify-cae01bac02d214a9.yaml | 5 + .../notes/removed-metrics-11a53cf88e1ea224.yaml | 6 + .../validate-doublequotes-6c4ed4f65a9d5e4b.yaml | 4 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 343 +++++++++++++- releasenotes/source/yoga.rst | 6 + requirements.txt | 13 +- roles/bind-logs-conf/tasks/main.yaml | 2 +- roles/pdns4-logs-conf/tasks/main.yaml | 2 +- setup.cfg | 4 +- test-requirements.txt | 2 +- tox.ini | 27 +- 313 files changed, 8071 insertions(+), 7004 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index d995a9c8..4fb79d66 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,4 @@ +# Requirements lower bounds listed here are our best effort to keep them up to +# date but we do not test them so no guarantee of having them all correct. If +# you find any incorrect lower bounds, let us know or propose a fix. + @@ -4 +8 @@ - +alembic>=1.8.0 # MIT @@ -12 +15,0 @@ keystonemiddleware>=4.17.0 # Apache-2.0 -netaddr>=0.7.18 # BSD @@ -19 +22 @@ oslo.reports>=1.18.0 # Apache-2.0 -oslo.rootwrap>=5.8.0 # Apache-2.0 +oslo.rootwrap>=5.15.0 # Apache-2.0 @@ -35 +37,0 @@ SQLAlchemy>=1.2.19 # MIT -sqlalchemy-migrate>=0.11.0 # Apache-2.0 @@ -41 +43 @@ oslo.i18n>=3.20.0 # Apache-2.0 -oslo.context>=2.22.0 # Apache-2.0 +oslo.context>=4.0.0 # Apache-2.0 @@ -48 +49,0 @@ os-win>=4.1.0 # Apache-2.0 -monasca-statsd>=1.4.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 09d939bf..673ad81b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ -hacking>=3.0.1,<3.1.0 # Apache-2.0 +hacking>=4.1.0,<4.2.0 # Apache-2.0