Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-designateclient for 
openSUSE:Factory checked in at 2022-06-21 16:32:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-designateclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-designateclient.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-designateclient"

Tue Jun 21 16:32:20 2022 rev:22 rq:984029 version:4.5.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-designateclient/python-designateclient.changes
    2021-12-13 20:50:54.620654648 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-designateclient.new.1548/python-designateclient.changes
  2022-06-21 16:32:26.663814022 +0200
@@ -1,0 +2,20 @@
+Mon Jun 20 17:26:17 UTC 2022 - cloud-de...@suse.de
+
+- update to version 4.5.0
+  - Remove H402 hacking as it is deprecated
+  - Update master for stable/xena
+  - Clarify that name or ID can be used on TLDs
+  - Updating python testing classifier as per Yoga testing runtime
+  - Add Python3 yoga unit tests
+  - Use py3 as the default runtime for tox
+  - requirements: Drop os-testr
+  - Remove edit-managed from unsupported commands
+  - setup.cfg: Replace dashes with underscores
+  - Add basic osc unit tests
+  - Add profiling support to designateclient
+  - Bump lower-constraint for decorator to 4.2.1
+  - Add Designate hacking checks to the client
+  - Stop to use the __future__ module.
+  - Cap jsonschema 3.2.0 as the minimal version
+
+-------------------------------------------------------------------

Old:
----
  python-designateclient-4.3.0.tar.gz

New:
----
  python-designateclient-4.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-designateclient.spec ++++++
--- /var/tmp/diff_new_pack.sZ1BqK/_old  2022-06-21 16:32:28.311816439 +0200
+++ /var/tmp/diff_new_pack.sZ1BqK/_new  2022-06-21 16:32:28.315816445 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-designateclient
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,17 +17,17 @@
 
 
 Name:           python-designateclient
-Version:        4.3.0
+Version:        4.5.0
 Release:        0
 Summary:        OpenStack DNS as a Service - Client
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/python-designateclient
-Source0:        
https://files.pythonhosted.org/packages/source/p/python-designateclient/python-designateclient-4.3.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/p/python-designateclient/python-designateclient-4.5.0.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-jsonschema >= 3.2.0
 BuildRequires:  python3-keystoneauth1 >= 3.4.0
-BuildRequires:  python3-mock
+BuildRequires:  python3-osc-lib >= 1.8.0
 BuildRequires:  python3-oslo.serialization >= 2.18.0
 BuildRequires:  python3-oslotest
 BuildRequires:  python3-pbr >= 2.0.0
@@ -67,14 +67,14 @@
 Documentation for the OpenStack DNS as a Service - Client.
 
 %prep
-%autosetup -p1 -n python-designateclient-4.3.0
+%autosetup -p1 -n python-designateclient-4.5.0
 %py_req_cleanup
 
 %build
 %py3_build
 
 # generate docs
-PYTHONPATH=. PBR_VERSION=4.3.0 %sphinx_build -b html doc/source doc/build/html
+PYTHONPATH=. PBR_VERSION=4.5.0 %sphinx_build -b html doc/source doc/build/html
 # remove the sphinx-build leftovers
 rm -rf doc/build/html/.{doctrees,buildinfo}
 

++++++ python-designateclient-4.3.0.tar.gz -> 
python-designateclient-4.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/.zuul.yaml 
new/python-designateclient-4.5.0/.zuul.yaml
--- old/python-designateclient-4.3.0/.zuul.yaml 2021-05-27 12:13:46.000000000 
+0200
+++ new/python-designateclient-4.5.0/.zuul.yaml 2022-02-23 20:17:17.000000000 
+0100
@@ -4,7 +4,7 @@
       - designate-devstack-jobs
       - openstack-cover-jobs
       - openstack-lower-constraints-jobs
-      - openstack-python3-xena-jobs
+      - openstack-python3-yoga-jobs
       - openstackclient-plugin-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/AUTHORS 
new/python-designateclient-4.5.0/AUTHORS
--- old/python-designateclient-4.3.0/AUTHORS    2021-05-27 12:14:19.000000000 
+0200
+++ new/python-designateclient-4.5.0/AUTHORS    2022-02-23 20:17:49.000000000 
+0100
@@ -49,6 +49,7 @@
 Kiall Mac Innes <ki...@managedit.ie>
 Lakshmi N Sampath <lakshmi.samp...@hp.com>
 Marcus Furlong <furlo...@gmail.com>
+Michael Chapman <wop...@gmail.com>
 Michael Johnson <johnso...@gmail.com>
 Mike Durnosvystov <glacierr....@gmail.com>
 Monty Taylor <mord...@inaugust.com>
@@ -89,6 +90,7 @@
 howardlee <lihongwe...@inspur.com>
 jacky06 <zhang....@99cloud.net>
 kangyufei <kan...@inspur.com>
+kpdev <kin...@gmail.com>
 lingyongxu <l...@fiberhome.com>
 liushuobj <liushu...@inspur.com>
 maaoyu <maa...@inspur.com>
@@ -101,4 +103,5 @@
 rjrjr <rrick...@ebaysf.com>
 sonu.kumar <sonu.ku...@nectechnologies.in>
 venkatamahesh <venkatamaheshko...@gmail.com>
+wu.shiming <wushim...@yovole.com>
 zhangboye <zhangb...@inspur.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/ChangeLog 
new/python-designateclient-4.5.0/ChangeLog
--- old/python-designateclient-4.3.0/ChangeLog  2021-05-27 12:14:19.000000000 
+0200
+++ new/python-designateclient-4.5.0/ChangeLog  2022-02-23 20:17:49.000000000 
+0100
@@ -1,6 +1,28 @@
 CHANGES
 =======
 
+4.5.0
+-----
+
+* Add profiling support to designateclient
+* Updating python testing classifier as per Yoga testing runtime
+* Add basic osc unit tests
+* Add Designate hacking checks to the client
+* Remove edit-managed from unsupported commands
+* Use py3 as the default runtime for tox
+* Cap jsonschema 3.2.0 as the minimal version
+* Remove H402 hacking as it is deprecated
+* Stop to use the \_\_future\_\_ module
+* Clarify that name or ID can be used on TLDs
+
+4.4.0
+-----
+
+* Bump lower-constraint for decorator to 4.2.1
+* Add Python3 yoga unit tests
+* Update master for stable/xena
+* setup.cfg: Replace dashes with underscores
+
 4.3.0
 -----
 
@@ -22,6 +44,7 @@
 * Add choices to \`--type\` command line argument
 * Increase hacking version
 * Update master for stable/victoria
+* requirements: Drop os-testr
 
 4.1.0
 -----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/PKG-INFO 
new/python-designateclient-4.5.0/PKG-INFO
--- old/python-designateclient-4.3.0/PKG-INFO   2021-05-27 12:14:19.603554500 
+0200
+++ new/python-designateclient-4.5.0/PKG-INFO   2022-02-23 20:17:49.755996000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: python-designateclient
-Version: 4.3.0
+Version: 4.5.0
 Summary: OpenStack DNS-as-a-Service - Client
 Home-page: https://docs.openstack.org/python-designateclient/latest
 Author: OpenStack
@@ -62,5 +62,6 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Topic :: Internet :: Name Service (DNS)
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/functionaltests/v2/fixtures.py 
new/python-designateclient-4.5.0/designateclient/functionaltests/v2/fixtures.py
--- 
old/python-designateclient-4.3.0/designateclient/functionaltests/v2/fixtures.py 
    2021-05-27 12:13:46.000000000 +0200
+++ 
new/python-designateclient-4.5.0/designateclient/functionaltests/v2/fixtures.py 
    2022-02-23 20:17:17.000000000 +0100
@@ -13,8 +13,6 @@
 See the License for the specific language governing permissions and
 limitations under the License.
 """
-from __future__ import absolute_import
-from __future__ import print_function
 import sys
 import tempfile
 import traceback
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/hacking/checks.py 
new/python-designateclient-4.5.0/designateclient/hacking/checks.py
--- old/python-designateclient-4.3.0/designateclient/hacking/checks.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/python-designateclient-4.5.0/designateclient/hacking/checks.py  
2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,163 @@
+# Copyright 2014 Hewlett-Packard Development Company, L.P.
+# Copyright (c) 2012, Cloudscaling
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+import re
+
+from hacking import core
+import pycodestyle
+
+# D701: Default parameter value is a mutable type
+# D702: Log messages require translation
+# D703: Found use of _() without explicit import of _!
+# D704: Found import of %s. This oslo library has been graduated!
+# D705: timeutils.utcnow() must be used instead of datetime.%s()
+# D706: Don't translate debug level logs
+# D707: basestring is not Python3-compatible, use str instead.
+# D708: Do not use xrange. Use range for large loops.
+# D709: LOG.audit is deprecated, please use LOG.info!
+# D710: LOG.warn() is not allowed. Use LOG.warning()
+
+UNDERSCORE_IMPORT_FILES = []
+
+
+mutable_default_argument_check = re.compile(
+    r"^\s*def .+\((.+=\{\}|.+=\[\])")
+string_translation = re.compile(r"[^_]*_\(\s*('|\")")
+translated_log = re.compile(
+    r"(.)*LOG\.(audit|error|info|warn|warning|critical|exception)"
+    r"\(\s*_\(\s*('|\")")
+underscore_import_check = re.compile(r"(.)*import _(.)*")
+# We need this for cases where they have created their own _ function.
+custom_underscore_check = re.compile(r"(.)*_\s*=\s*(.)*")
+graduated_oslo_libraries_import_re = re.compile(
+    r"^\s*(?:import|from) designate\.openstack\.common\.?.*?"
+    r"(gettextutils|rpc)"
+    r".*?")
+
+
+@core.flake8ext
+def mutable_default_arguments(physical_line, logical_line, filename):
+    if pycodestyle.noqa(physical_line):
+        return
+
+    if mutable_default_argument_check.match(logical_line):
+        yield (0, "D701: Default parameter value is a mutable type")
+
+
+@core.flake8ext
+def no_translate_debug_logs(logical_line, filename):
+    """Check for 'LOG.debug(_('
+    As per our translation policy,
+    https://wiki.openstack.org/wiki/LoggingStandards#Log_Translation
+    we shouldn't translate debug level logs.
+    * This check assumes that 'LOG' is a logger.
+    * Use filename so we can start enforcing this in specific folders instead
+      of needing to do so all at once.
+    N319
+    """
+    if logical_line.startswith("LOG.debug(_("):
+        yield(0, "D706: Don't translate debug level logs")
+
+
+@core.flake8ext
+def check_explicit_underscore_import(logical_line, filename):
+    """Check for explicit import of the _ function
+
+    We need to ensure that any files that are using the _() function
+    to translate logs are explicitly importing the _ function.  We
+    can't trust unit test to catch whether the import has been
+    added so we need to check for it here.
+    """
+    # Build a list of the files that have _ imported.  No further
+    # checking needed once it is found.
+    if filename in UNDERSCORE_IMPORT_FILES:
+        pass
+    elif (underscore_import_check.match(logical_line) or
+          custom_underscore_check.match(logical_line)):
+        UNDERSCORE_IMPORT_FILES.append(filename)
+    elif (translated_log.match(logical_line) or
+          string_translation.match(logical_line)):
+        yield(0, "D703: Found use of _() without explicit import of _!")
+
+
+@core.flake8ext
+def no_import_graduated_oslo_libraries(logical_line, filename):
+    """Check that we don't continue to use o.c. oslo libraries after graduation
+
+    After a library graduates from oslo-incubator, as we make the switch, we
+    should ensure we don't continue to use the oslo-incubator versions.
+
+    In many cases, it's not possible to immediately remove the code from the
+    openstack/common folder due to dependency issues.
+    """
+    # We can't modify oslo-incubator code, so ignore it here.
+    if "designate/openstack/common" in filename:
+        return
+
+    matches = graduated_oslo_libraries_import_re.match(logical_line)
+    if matches:
+        yield(0, "D704: Found import of %s. This oslo library has been "
+                 "graduated!" % matches.group(1))
+
+
+@core.flake8ext
+def use_timeutils_utcnow(logical_line, filename):
+    # tools are OK to use the standard datetime module
+    if "/tools/" in filename:
+        return
+
+    msg = "D705: timeutils.utcnow() must be used instead of datetime.%s()"
+
+    datetime_funcs = ['now', 'utcnow']
+    for f in datetime_funcs:
+        pos = logical_line.find('datetime.%s' % f)
+        if pos != -1:
+            yield (pos, msg % f)
+
+
+@core.flake8ext
+def check_no_basestring(logical_line):
+    if re.search(r"\bbasestring\b", logical_line):
+        msg = ("D707: basestring is not Python3-compatible, use "
+               "str instead.")
+        yield(0, msg)
+
+
+@core.flake8ext
+def check_python3_xrange(logical_line):
+    if re.search(r"\bxrange\s*\(", logical_line):
+        yield(0, "D708: Do not use xrange. Use range for "
+                 "large loops.")
+
+
+@core.flake8ext
+def check_no_log_audit(logical_line):
+    """Ensure that we are not using LOG.audit messages
+    Plans are in place going forward as discussed in the following
+    spec (https://review.opendev.org/#/c/132552/) to take out
+    LOG.audit messages. Given that audit was a concept invented
+    for OpenStack we can enforce not using it.
+    """
+    if "LOG.audit(" in logical_line:
+        yield(0, "D709: LOG.audit is deprecated, please use LOG.info!")
+
+
+@core.flake8ext
+def check_no_log_warn(logical_line):
+    """Disallow 'LOG.warn('
+
+    D710
+    """
+    if logical_line.startswith('LOG.warn('):
+        yield(0, "D710:Use LOG.warning() rather than LOG.warn()")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/__init__.py
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/__init__.py
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/__init__.py
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/__init__.py
    2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,21 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import json
+import os.path
+
+path = os.path.dirname(os.path.realpath(__file__))
+
+
+def load(action):
+    with open(os.path.join(path, f'{action}.json')) as fp:
+        return json.load(fp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_create.json
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_create.json
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_create.json
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_create.json
  2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,22 @@
+{
+  "id": "a00ac483-d74d-4555-b30f-2e0a176287e2",
+  "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+  "project_id": "15a6ae43e4dd498383e127e5f2521301",
+  "name": "example.internal.example.org.",
+  "zone_name": "internal.example.org.",
+  "type": "A",
+  "records": [
+    "127.0.0.1",
+    "127.0.0.2"
+  ],
+  "description": null,
+  "ttl": null,
+  "status": "PENDING",
+  "action": "CREATE",
+  "version": 1,
+  "created_at": "2021-12-05T23:47:57.000000",
+  "updated_at": null,
+  "links": {
+    "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/a00ac483-d74d-4555-b30f-2e0a176287e2";
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_list.json
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_list.json
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_list.json
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_list.json
    2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,74 @@
+{
+  "recordsets": [
+    {
+      "id": "393d65fe-c0f1-4a55-a91e-bf6c1725dddc",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "NS",
+      "records": [
+        "ns1.example.org."
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 1,
+      "created_at": "2021-12-05T23:45:54.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/393d65fe-c0f1-4a55-a91e-bf6c1725dddc";
+      }
+    },
+    {
+      "id": "4055914e-0f2b-4c47-a8d3-287a5286fe92",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "SOA",
+      "records": [
+        "ns1.example.org. fake.example.org. 1638748076 3584 600 86400 3600"
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 4,
+      "created_at": "2021-12-05T23:45:54.000000",
+      "updated_at": "2021-12-05T23:47:57.000000",
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/4055914e-0f2b-4c47-a8d3-287a5286fe92";
+      }
+    },
+    {
+      "id": "a00ac483-d74d-4555-b30f-2e0a176287e2",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "example.internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "A",
+      "records": [
+        "127.0.0.2",
+        "127.0.0.1"
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 1,
+      "created_at": "2021-12-05T23:47:57.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/a00ac483-d74d-4555-b30f-2e0a176287e2";
+      }
+    }
+  ],
+  "links": {
+    "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets";
+  },
+  "metadata": {
+    "total_count": 3
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_list_all.json
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_list_all.json
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/recordset_list_all.json
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/recordset_list_all.json
        2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,116 @@
+{
+  "recordsets": [
+    {
+      "id": "393d65fe-c0f1-4a55-a91e-bf6c1725dddc",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "NS",
+      "records": [
+        "ns1.example.org."
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 1,
+      "created_at": "2021-12-05T23:45:54.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/393d65fe-c0f1-4a55-a91e-bf6c1725dddc";
+      }
+    },
+    {
+      "id": "4055914e-0f2b-4c47-a8d3-287a5286fe92",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "SOA",
+      "records": [
+        "ns1.example.org. fake.example.org. 1638748076 3584 600 86400 3600"
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 4,
+      "created_at": "2021-12-05T23:45:54.000000",
+      "updated_at": "2021-12-05T23:47:57.000000",
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/4055914e-0f2b-4c47-a8d3-287a5286fe92";
+      }
+    },
+    {
+      "id": "a00ac483-d74d-4555-b30f-2e0a176287e2",
+      "zone_id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "example.internal.example.org.",
+      "zone_name": "internal.example.org.",
+      "type": "A",
+      "records": [
+        "127.0.0.2",
+        "127.0.0.1"
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 1,
+      "created_at": "2021-12-05T23:47:57.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465/recordsets/a00ac483-d74d-4555-b30f-2e0a176287e2";
+      }
+    },
+    {
+      "id": "2f5b0a00-2f03-426c-a5fc-5c1c85a5156b",
+      "zone_id": "a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "external.example.org.",
+      "zone_name": "external.example.org.",
+      "type": "SOA",
+      "records": [
+        "ns1.example.org. another_fake.example.org. 1638748236 3554 600 86400 
3600"
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "PENDING",
+      "action": "CREATE",
+      "version": 1,
+      "created_at": "2021-12-05T23:50:36.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31/recordsets/2f5b0a00-2f03-426c-a5fc-5c1c85a5156b";
+      }
+    },
+    {
+      "id": "4aacd04d-2546-43d9-98cd-58960a0a2494",
+      "zone_id": "a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "external.example.org.",
+      "zone_name": "external.example.org.",
+      "type": "NS",
+      "records": [
+        "ns1.example.org."
+      ],
+      "description": null,
+      "ttl": null,
+      "status": "PENDING",
+      "action": "CREATE",
+      "version": 1,
+      "created_at": "2021-12-05T23:50:36.000000",
+      "updated_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31/recordsets/4aacd04d-2546-43d9-98cd-58960a0a2494";
+      }
+    }
+  ],
+  "links": {
+    "self": "http://10.0.1.203/dns/v2/recordsets";
+  },
+  "metadata": {
+    "total_count": 5
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/zone_create.json
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/zone_create.json
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/zone_create.json
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/zone_create.json
       2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,22 @@
+{
+  "id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+  "pool_id": "794ccc2c-d751-44fe-b57f-8894c9f5c842",
+  "project_id": "15a6ae43e4dd498383e127e5f2521301",
+  "name": "internal.example.org.",
+  "email": "f...@example.org",
+  "description": null,
+  "ttl": 3600,
+  "serial": 1638747953,
+  "status": "PENDING",
+  "action": "CREATE",
+  "version": 1,
+  "attributes": {},
+  "type": "PRIMARY",
+  "masters": [],
+  "created_at": "2021-12-05T23:45:54.000000",
+  "updated_at": null,
+  "transferred_at": null,
+  "links": {
+    "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465";
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/zone_list.json
 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/zone_list.json
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/resources/zone_list.json
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/resources/zone_list.json
 2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,54 @@
+{
+  "zones": [
+    {
+      "id": "6f106adb-0896-4114-b34f-4ac8dfee9465",
+      "pool_id": "794ccc2c-d751-44fe-b57f-8894c9f5c842",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "internal.example.org.",
+      "email": "f...@example.org",
+      "description": null,
+      "ttl": 3600,
+      "serial": 1638748076,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 8,
+      "attributes": {},
+      "type": "PRIMARY",
+      "masters": [],
+      "created_at": "2021-12-05T23:45:54.000000",
+      "updated_at": "2021-12-05T23:48:02.000000",
+      "transferred_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/6f106adb-0896-4114-b34f-4ac8dfee9465";
+      }
+    },
+    {
+      "id": "a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31",
+      "pool_id": "794ccc2c-d751-44fe-b57f-8894c9f5c842",
+      "project_id": "15a6ae43e4dd498383e127e5f2521301",
+      "name": "external.example.org.",
+      "email": "another_f...@example.org",
+      "description": null,
+      "ttl": 3600,
+      "serial": 1638748236,
+      "status": "ACTIVE",
+      "action": "NONE",
+      "version": 2,
+      "attributes": {},
+      "type": "PRIMARY",
+      "masters": [],
+      "created_at": "2021-12-05T23:50:36.000000",
+      "updated_at": "2021-12-05T23:50:42.000000",
+      "transferred_at": null,
+      "links": {
+        "self": 
"http://10.0.1.203/dns/v2/zones/a5f8e94e-af03-4e3e-b3eb-688a3b9f3b31";
+      }
+    }
+  ],
+  "links": {
+    "self": "http://10.0.1.203/dns/v2/zones?type=PRIMARY";
+  },
+  "metadata": {
+    "total_count": 2
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/v2/test_recordsets.py
 
new/python-designateclient-4.5.0/designateclient/tests/osc/v2/test_recordsets.py
--- 
old/python-designateclient-4.3.0/designateclient/tests/osc/v2/test_recordsets.py
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-designateclient-4.5.0/designateclient/tests/osc/v2/test_recordsets.py
    2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,98 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from unittest import mock
+
+from osc_lib.tests import utils
+
+from designateclient.tests.osc import resources
+from designateclient.v2 import base
+from designateclient.v2.cli import recordsets
+
+
+class TestDesignateCreateRecordSets(utils.TestCommand):
+    def setUp(self):
+        super(TestDesignateCreateRecordSets, self).setUp()
+        self.app.client_manager.dns = mock.MagicMock()
+        self.cmd = recordsets.CreateRecordSetCommand(self.app, None)
+        self.dns_client = self.app.client_manager.dns
+
+    def test_create_recordset(self):
+        arg_list = [
+            '6f106adb-0896-4114-b34f-4ac8dfee9465',
+            'example',
+            '--type', 'A',
+            '--record', '127.0.0.1',
+            '--record', '127.0.0.2',
+        ]
+        verify_args = [
+            ('zone_id', '6f106adb-0896-4114-b34f-4ac8dfee9465'),
+            ('name', 'example'),
+            ('type', 'A'),
+            ('record', ['127.0.0.1', '127.0.0.2']),
+        ]
+
+        body = resources.load('recordset_create')
+        self.dns_client.recordsets.create.return_value = body
+
+        parsed_args = self.check_parser(self.cmd, arg_list, verify_args)
+        columns, data = self.cmd.take_action(parsed_args)
+
+        results = list(data)
+
+        self.assertEqual(14, len(results))
+
+
+class TestDesignateListRecordSets(utils.TestCommand):
+    def setUp(self):
+        super(TestDesignateListRecordSets, self).setUp()
+        self.app.client_manager.dns = mock.MagicMock()
+        self.cmd = recordsets.ListRecordSetsCommand(self.app, None)
+        self.dns_client = self.app.client_manager.dns
+
+    def test_list_recordsets(self):
+        arg_list = ['6f106adb-0896-4114-b34f-4ac8dfee9465']
+        verify_args = [
+            ('zone_id', '6f106adb-0896-4114-b34f-4ac8dfee9465'),
+        ]
+
+        body = resources.load('recordset_list')
+        result = base.DesignateList()
+        result.extend(body['recordsets'])
+
+        self.dns_client.recordsets.list.return_value = result
+
+        parsed_args = self.check_parser(self.cmd, arg_list, verify_args)
+        columns, data = self.cmd.take_action(parsed_args)
+
+        results = list(data)
+
+        self.assertEqual(3, len(results))
+
+    def test_list_all_recordsets(self):
+        arg_list = ['all']
+        verify_args = [
+            ('zone_id', 'all'),
+        ]
+
+        body = resources.load('recordset_list_all')
+        result = base.DesignateList()
+        result.extend(body['recordsets'])
+
+        self.dns_client.recordsets.list_all_zones.return_value = result
+
+        parsed_args = self.check_parser(self.cmd, arg_list, verify_args)
+        columns, data = self.cmd.take_action(parsed_args)
+
+        results = list(data)
+
+        self.assertEqual(5, len(results))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/tests/osc/v2/test_zone.py 
new/python-designateclient-4.5.0/designateclient/tests/osc/v2/test_zone.py
--- old/python-designateclient-4.3.0/designateclient/tests/osc/v2/test_zone.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/python-designateclient-4.5.0/designateclient/tests/osc/v2/test_zone.py  
2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,72 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from unittest import mock
+
+from osc_lib.tests import utils
+
+from designateclient.tests.osc import resources
+from designateclient.v2 import base
+from designateclient.v2.cli import zones
+
+
+class TestDesignateCreateZone(utils.TestCommand):
+    def setUp(self):
+        super(TestDesignateCreateZone, self).setUp()
+        self.app.client_manager.dns = mock.MagicMock()
+        self.cmd = zones.CreateZoneCommand(self.app, None)
+        self.dns_client = self.app.client_manager.dns
+
+    def test_create_zone(self):
+        arg_list = [
+            'example.devstack.org.',
+            '--email', 'f...@devstack.org',
+        ]
+        verify_args = [
+            ('name', 'example.devstack.org.'),
+            ('email', 'f...@devstack.org'),
+        ]
+
+        body = resources.load('zone_create')
+        self.dns_client.zones.create.return_value = body
+
+        parsed_args = self.check_parser(self.cmd, arg_list, verify_args)
+        columns, data = self.cmd.take_action(parsed_args)
+
+        results = list(data)
+
+        self.assertEqual(17, len(results))
+
+
+class TestDesignateListZones(utils.TestCommand):
+    def setUp(self):
+        super(TestDesignateListZones, self).setUp()
+        self.app.client_manager.dns = mock.MagicMock()
+        self.cmd = zones.ListZonesCommand(self.app, None)
+        self.dns_client = self.app.client_manager.dns
+
+    def test_list_zones(self):
+        arg_list = []
+        verify_args = []
+
+        body = resources.load('zone_list')
+        result = base.DesignateList()
+        result.extend(body['zones'])
+
+        self.dns_client.zones.list.return_value = result
+
+        parsed_args = self.check_parser(self.cmd, arg_list, verify_args)
+        columns, data = self.cmd.take_action(parsed_args)
+
+        results = list(data)
+
+        self.assertEqual(2, len(results))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/utils.py 
new/python-designateclient-4.5.0/designateclient/utils.py
--- old/python-designateclient-4.3.0/designateclient/utils.py   2021-05-27 
12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/designateclient/utils.py   2022-02-23 
20:17:17.000000000 +0100
@@ -21,7 +21,7 @@
 from designateclient import exceptions
 
 
-def get_item_properties(item, fields, mixed_case_fields=[], formatters={}):
+def get_item_properties(item, fields, mixed_case_fields=(), formatters=None):
     """Return a tuple containing the item properties.
 
     :param item: a single item resource (e.g. Server, Tenant, etc)
@@ -30,6 +30,8 @@
     :param formatters: dictionary mapping field names to callables
         to format the values
     """
+    if formatters is None:
+        formatters = {}
     row = []
 
     for field in fields:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/v2/cli/common.py 
new/python-designateclient-4.5.0/designateclient/v2/cli/common.py
--- old/python-designateclient-4.3.0/designateclient/v2/cli/common.py   
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/designateclient/v2/cli/common.py   
2022-02-23 20:17:17.000000000 +0100
@@ -43,7 +43,6 @@
 
 def add_all_common_options(parser):
     add_all_projects_option(parser)
-    add_edit_managed_option(parser)
     add_sudo_project_id_option(parser)
 
 
@@ -65,7 +64,8 @@
             isinstance(parsed_args.all_projects, bool):
         set_all_projects(client, parsed_args.all_projects)
 
-    if parsed_args.edit_managed is not None and \
+    if hasattr(parsed_args, 'edit_managed') and \
+            parsed_args.edit_managed is not None and \
             isinstance(parsed_args.edit_managed, bool):
         set_edit_managed(client, parsed_args.edit_managed)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/v2/cli/recordsets.py 
new/python-designateclient-4.5.0/designateclient/v2/cli/recordsets.py
--- old/python-designateclient-4.3.0/designateclient/v2/cli/recordsets.py       
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/designateclient/v2/cli/recordsets.py       
2022-02-23 20:17:17.000000000 +0100
@@ -211,6 +211,7 @@
         ttl_group.add_argument('--no-ttl', action='store_true')
 
         common.add_all_common_options(parser)
+        common.add_edit_managed_option(parser)
 
         return parser
 
@@ -258,6 +259,7 @@
         parser.add_argument('id', help="RecordSet ID")
 
         common.add_all_common_options(parser)
+        common.add_edit_managed_option(parser)
 
         return parser
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/v2/cli/tlds.py 
new/python-designateclient-4.5.0/designateclient/v2/cli/tlds.py
--- old/python-designateclient-4.3.0/designateclient/v2/cli/tlds.py     
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/designateclient/v2/cli/tlds.py     
2022-02-23 20:17:17.000000000 +0100
@@ -63,7 +63,7 @@
     def get_parser(self, prog_name):
         parser = super(ShowTLDCommand, self).get_parser(prog_name)
 
-        parser.add_argument('id', help="TLD ID")
+        parser.add_argument('id', help="TLD name or ID")
 
         common.add_all_common_options(parser)
 
@@ -104,7 +104,7 @@
     def get_parser(self, prog_name):
         parser = super(SetTLDCommand, self).get_parser(prog_name)
 
-        parser.add_argument('id', help="TLD ID")
+        parser.add_argument('id', help="TLD name or ID")
         parser.add_argument('--name', help="TLD Name")
         description_group = parser.add_mutually_exclusive_group()
         description_group.add_argument('--description', help="Description")
@@ -139,7 +139,7 @@
     def get_parser(self, prog_name):
         parser = super(DeleteTLDCommand, self).get_parser(prog_name)
 
-        parser.add_argument('id', help="TLD ID")
+        parser.add_argument('id', help="TLD name or ID")
 
         common.add_all_common_options(parser)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/designateclient/v2/client.py 
new/python-designateclient-4.5.0/designateclient/v2/client.py
--- old/python-designateclient-4.3.0/designateclient/v2/client.py       
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/designateclient/v2/client.py       
2022-02-23 20:17:17.000000000 +0100
@@ -31,6 +31,9 @@
 from designateclient.v2.zones import ZoneImportsController
 from designateclient.v2.zones import ZoneTransfersController
 from designateclient import version
+from oslo_utils import importutils
+
+osprofiler_web = importutils.try_import("osprofiler.web")
 
 
 class DesignateAdapter(adapter.LegacyJsonAdapter):
@@ -78,6 +81,9 @@
         kwargs['headers'].setdefault(
             'Content-Type', 'application/json')
 
+        if osprofiler_web:
+            kwargs['headers'].update(osprofiler_web.get_trace_id_headers())
+
         response, body = super(self.__class__, self).request(*args, **kwargs)
 
         # Decode is response, if possible
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/doc/examples/recordset_create.py 
new/python-designateclient-4.5.0/doc/examples/recordset_create.py
--- old/python-designateclient-4.3.0/doc/examples/recordset_create.py   
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/doc/examples/recordset_create.py   
2022-02-23 20:17:17.000000000 +0100
@@ -1,4 +1,3 @@
-from __future__ import print_function
 import logging
 import os
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/doc/examples/zone_create_primary.py 
new/python-designateclient-4.5.0/doc/examples/zone_create_primary.py
--- old/python-designateclient-4.3.0/doc/examples/zone_create_primary.py        
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/doc/examples/zone_create_primary.py        
2022-02-23 20:17:17.000000000 +0100
@@ -1,4 +1,3 @@
-from __future__ import print_function
 
 import logging
 import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/doc/examples/zone_list_paging.py 
new/python-designateclient-4.5.0/doc/examples/zone_list_paging.py
--- old/python-designateclient-4.3.0/doc/examples/zone_list_paging.py   
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/doc/examples/zone_list_paging.py   
2022-02-23 20:17:17.000000000 +0100
@@ -1,4 +1,3 @@
-from __future__ import print_function
 import logging
 import os
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/doc/source/conf.py 
new/python-designateclient-4.5.0/doc/source/conf.py
--- old/python-designateclient-4.3.0/doc/source/conf.py 2021-05-27 
12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/doc/source/conf.py 2022-02-23 
20:17:17.000000000 +0100
@@ -21,12 +21,13 @@
 
 apidoc_module_dir = '../../designateclient'
 apidoc_output_dir = 'reference/api'
-apidoc_excluded_paths = [ 'tests/*', 'functionaltests/*' ]
+apidoc_excluded_paths = [ 'tests/*', 'functionaltests/*', 'hacking/*' ]
 apidoc_separate_modules = True
 
 autodoc_exclude_modules = [
   'designateclient.tests.*',
-  'designateclient.functionaltests.*']
+  'designateclient.functionaltests.*',
+  'designateclient.hacking.*']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/lower-constraints.txt 
new/python-designateclient-4.5.0/lower-constraints.txt
--- old/python-designateclient-4.3.0/lower-constraints.txt      2021-05-27 
12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/lower-constraints.txt      2022-02-23 
20:17:17.000000000 +0100
@@ -7,7 +7,7 @@
 coverage==4.0
 cryptography==3.1
 debtcollector==1.2.0
-decorator==3.4.0
+decorator==4.2.1
 deprecation==1.0
 dogpile.cache==0.6.2
 dulwich==0.15.0
@@ -20,7 +20,7 @@
 jmespath==0.9.0
 jsonpatch==1.16
 jsonpointer==1.13
-jsonschema==2.6.0
+jsonschema==3.2.0
 keystoneauth1==3.4.0
 linecache2==1.0.0
 monotonic==0.6
@@ -32,9 +32,8 @@
 openstacksdk==0.11.2
 os-client-config==1.28.0
 os-service-types==1.2.0
-os-testr==1.0.0
 osc-lib==1.8.0
-oslo.concurrency==3.25.0
+oslo.concurrency==3.26.0
 oslo.config==5.2.0
 oslo.context==2.19.2
 oslo.i18n==3.15.3
@@ -42,6 +41,7 @@
 oslo.serialization==2.18.0
 oslo.utils==3.33.0
 oslotest==3.2.0
+osprofiler==3.4.0
 paramiko==2.0.0
 pbr==2.0.0
 prettytable==0.7.2
@@ -62,7 +62,7 @@
 rfc3986==0.3.1
 simplejson==3.5.1
 stevedore==1.20.0
-tempest==17.1.0
+tempest==25.0.0
 stestr==2.0.0
 testtools==2.2.0
 traceback2==1.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/python_designateclient.egg-info/PKG-INFO 
new/python-designateclient-4.5.0/python_designateclient.egg-info/PKG-INFO
--- old/python-designateclient-4.3.0/python_designateclient.egg-info/PKG-INFO   
2021-05-27 12:14:19.000000000 +0200
+++ new/python-designateclient-4.5.0/python_designateclient.egg-info/PKG-INFO   
2022-02-23 20:17:49.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: python-designateclient
-Version: 4.3.0
+Version: 4.5.0
 Summary: OpenStack DNS-as-a-Service - Client
 Home-page: https://docs.openstack.org/python-designateclient/latest
 Author: OpenStack
@@ -62,5 +62,6 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Topic :: Internet :: Name Service (DNS)
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/python_designateclient.egg-info/SOURCES.txt 
new/python-designateclient-4.5.0/python_designateclient.egg-info/SOURCES.txt
--- 
old/python-designateclient-4.3.0/python_designateclient.egg-info/SOURCES.txt    
    2021-05-27 12:14:19.000000000 +0200
+++ 
new/python-designateclient-4.5.0/python_designateclient.egg-info/SOURCES.txt    
    2022-02-23 20:17:49.000000000 +0100
@@ -33,6 +33,8 @@
 designateclient/functionaltests/v2/test_zone_export.py
 designateclient/functionaltests/v2/test_zone_import.py
 designateclient/functionaltests/v2/test_zone_transfer.py
+designateclient/hacking/__init__.py
+designateclient/hacking/checks.py
 designateclient/osc/__init__.py
 designateclient/osc/plugin.py
 designateclient/tests/__init__.py
@@ -40,6 +42,16 @@
 designateclient/tests/test_designateclient.py
 designateclient/tests/test_exceptions.py
 designateclient/tests/test_utils.py
+designateclient/tests/osc/__init__.py
+designateclient/tests/osc/resources/__init__.py
+designateclient/tests/osc/resources/recordset_create.json
+designateclient/tests/osc/resources/recordset_list.json
+designateclient/tests/osc/resources/recordset_list_all.json
+designateclient/tests/osc/resources/zone_create.json
+designateclient/tests/osc/resources/zone_list.json
+designateclient/tests/osc/v2/__init__.py
+designateclient/tests/osc/v2/test_recordsets.py
+designateclient/tests/osc/v2/test_zone.py
 designateclient/tests/v2/__init__.py
 designateclient/tests/v2/test_blacklists.py
 designateclient/tests/v2/test_client.py
@@ -120,5 +132,6 @@
 releasenotes/source/ussuri.rst
 releasenotes/source/victoria.rst
 releasenotes/source/wallaby.rst
+releasenotes/source/xena.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/python_designateclient.egg-info/pbr.json 
new/python-designateclient-4.5.0/python_designateclient.egg-info/pbr.json
--- old/python-designateclient-4.3.0/python_designateclient.egg-info/pbr.json   
2021-05-27 12:14:19.000000000 +0200
+++ new/python-designateclient-4.5.0/python_designateclient.egg-info/pbr.json   
2022-02-23 20:17:49.000000000 +0100
@@ -1 +1 @@
-{"git_version": "9bc517a", "is_release": true}
\ No newline at end of file
+{"git_version": "485cbdd", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/python_designateclient.egg-info/requires.txt 
new/python-designateclient-4.5.0/python_designateclient.egg-info/requires.txt
--- 
old/python-designateclient-4.3.0/python_designateclient.egg-info/requires.txt   
    2021-05-27 12:14:19.000000000 +0200
+++ 
new/python-designateclient-4.5.0/python_designateclient.egg-info/requires.txt   
    2022-02-23 20:17:49.000000000 +0100
@@ -1,6 +1,6 @@
 cliff!=2.9.0,>=2.8.0
 debtcollector>=1.2.0
-jsonschema>=2.6.0
+jsonschema>=3.2.0
 keystoneauth1>=3.4.0
 osc-lib>=1.8.0
 oslo.serialization!=2.19.1,>=2.18.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/releasenotes/source/index.rst 
new/python-designateclient-4.5.0/releasenotes/source/index.rst
--- old/python-designateclient-4.3.0/releasenotes/source/index.rst      
2021-05-27 12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/releasenotes/source/index.rst      
2022-02-23 20:17:17.000000000 +0100
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   xena
    wallaby
    victoria
    ussuri
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-designateclient-4.3.0/releasenotes/source/xena.rst 
new/python-designateclient-4.5.0/releasenotes/source/xena.rst
--- old/python-designateclient-4.3.0/releasenotes/source/xena.rst       
1970-01-01 01:00:00.000000000 +0100
+++ new/python-designateclient-4.5.0/releasenotes/source/xena.rst       
2022-02-23 20:17:17.000000000 +0100
@@ -0,0 +1,6 @@
+=========================
+Xena Series Release Notes
+=========================
+
+.. release-notes::
+   :branch: stable/xena
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/requirements.txt 
new/python-designateclient-4.5.0/requirements.txt
--- old/python-designateclient-4.3.0/requirements.txt   2021-05-27 
12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/requirements.txt   2022-02-23 
20:17:17.000000000 +0100
@@ -2,7 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 cliff!=2.9.0,>=2.8.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
 osc-lib>=1.8.0 # Apache-2.0
 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/setup.cfg 
new/python-designateclient-4.5.0/setup.cfg
--- old/python-designateclient-4.3.0/setup.cfg  2021-05-27 12:14:19.603554500 
+0200
+++ new/python-designateclient-4.5.0/setup.cfg  2022-02-23 20:17:49.755996000 
+0100
@@ -1,13 +1,13 @@
 [metadata]
 name = python-designateclient
 summary = OpenStack DNS-as-a-Service - Client
-description-file = 
+description_file = 
        README.rst
 license = Apache License, Version 2.0
 author = OpenStack
-author-email = openstack-disc...@lists.openstack.org
-home-page = https://docs.openstack.org/python-designateclient/latest
-python-requires = >=3.6
+author_email = openstack-disc...@lists.openstack.org
+home_page = https://docs.openstack.org/python-designateclient/latest
+python_requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -20,6 +20,7 @@
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3.9
        Topic :: Internet :: Name Service (DNS)
 
 [files]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/test-requirements.txt 
new/python-designateclient-4.5.0/test-requirements.txt
--- old/python-designateclient-4.3.0/test-requirements.txt      2021-05-27 
12:13:46.000000000 +0200
+++ new/python-designateclient-4.5.0/test-requirements.txt      2022-02-23 
20:17:17.000000000 +0100
@@ -6,9 +6,8 @@
 coverage!=4.4,>=4.0 # Apache-2.0
 oslo.config>=5.2.0 # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
 python-subunit>=1.0.0 # Apache-2.0/BSD
 requests-mock>=1.2.0 # Apache-2.0
 stestr>=2.0.0 # Apache-2.0
 reno>=3.1.0 # Apache-2.0
-tempest>=17.1.0 # Apache-2.0
+tempest>=25.0.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-designateclient-4.3.0/tox.ini 
new/python-designateclient-4.5.0/tox.ini
--- old/python-designateclient-4.3.0/tox.ini    2021-05-27 12:13:46.000000000 
+0200
+++ new/python-designateclient-4.5.0/tox.ini    2022-02-23 20:17:17.000000000 
+0100
@@ -1,5 +1,5 @@
 [tox]
-envlist = py36,py38,flake8
+envlist = py3,flake8
 minversion = 3.1.0
 skipsdist = True
 skip_missing_interpreters = true
@@ -87,17 +87,29 @@
 [flake8]
 # ignored flake8 codes:
 # H302 import only modules
-# H402 one line docstring needs punctuation
 # H404 multi line docstring should start with a summary
 # H405 multi line docstring summary not separated with an empty line
 # H904 Wrap long lines in parentheses instead of a backslash
 # W504 line break after binary operator
 # See designate for other ignored codes that may apply here
 
-ignore = H105,H302,H402,H404,H405,W504,H904
+ignore = H105,H302,H404,H405,W504,H904
 builtins = _
 exclude = 
.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools
 
+[flake8:local-plugins]
+extension =
+  D701 = checks:mutable_default_arguments
+  D703 = checks:check_explicit_underscore_import
+  D704 = checks:no_import_graduated_oslo_libraries
+  D705 = checks:use_timeutils_utcnow
+  D706 = checks:no_translate_debug_logs
+  D707 = checks:check_no_basestring
+  D708 = checks:check_python3_xrange
+  D709 = checks:check_no_log_audit
+  D710 = checks:check_no_log_warn
+paths = ./designateclient/hacking
+
 [testenv:lower-constraints]
 skip_install = True
 commands =

Reply via email to