Hello community,

here is the log from the commit of package python-magnumclient for 
openSUSE:Factory checked in at 2020-10-26 16:15:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-magnumclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-magnumclient.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-magnumclient"

Mon Oct 26 16:15:34 2020 rev:11 rq:841186 version:3.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-magnumclient/python-magnumclient.changes  
2020-08-10 15:06:11.624260105 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-magnumclient.new.3463/python-magnumclient.changes
        2020-10-26 16:16:24.742939906 +0100
@@ -1,0 +2,28 @@
+Fri Oct  9 19:14:32 UTC 2020 - cloud-de...@suse.de
+
+- update to version 3.2.1
+  - Switch to newer openstackdocstheme and reno versions
+  - Update to hacking 3.0
+  - Rename variables to address pep8 error
+  - Refactor the getid method base.py
+  - Use unittest.mock instead of mock
+  - Support master_lb_enabled when creating cluster
+  - Use unittest.mock instead of third party mock
+  - replace launchpad urls with storyboard urls
+  - Add Python3 victoria unit tests
+  - Support updating cluster health status
+  - Cleanup py27 support
+  - Update master for stable/ussuri
+  - Add py38 package metadata
+  - Migrate testing to Ubuntu Focal
+  - Fix raw_request of SessionClient
+  - Remove six
+  - Fix hacking min version to 3.0.1
+  - Stop to use the __future__ module.
+  - Print response after issuing CA rotate request
+  - Labels override
+  - Use overlay2 driver by default
+  - Check response type in _extract_error_json
+  - Show cluster fixed_network, fixed_subnet, floating_ip_enabled
+
+-------------------------------------------------------------------

Old:
----
  python-magnumclient-3.0.1.tar.gz

New:
----
  python-magnumclient-3.2.1.tar.gz

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

Other differences:
------------------
++++++ python-magnumclient.spec ++++++
--- /var/tmp/diff_new_pack.RnliFA/_old  2020-10-26 16:16:25.570940572 +0100
+++ /var/tmp/diff_new_pack.RnliFA/_new  2020-10-26 16:16:25.574940576 +0100
@@ -17,16 +17,16 @@
 
 
 Name:           python-magnumclient
-Version:        3.0.1
+Version:        3.2.1
 Release:        0
 Summary:        Python API and CLI for OpenStack Magnum
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/python-magnumclient
-Source0:        
https://files.pythonhosted.org/packages/source/p/python-magnumclient/python-magnumclient-3.0.1.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/p/python-magnumclient/python-magnumclient-3.2.1.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  python3-PrettyTable >= 0.7.2
-BuildRequires:  python3-cryptography >= 2.1
+BuildRequires:  python3-cryptography >= 3.0
 BuildRequires:  python3-decorator >= 3.4.0
 BuildRequires:  python3-fixtures
 BuildRequires:  python3-keystoneauth1 >= 3.4.0
@@ -41,7 +41,6 @@
 BuildRequires:  python3-osprofiler
 BuildRequires:  python3-pbr >= 2.0.0
 BuildRequires:  python3-python-subunit
-BuildRequires:  python3-setuptools
 BuildRequires:  python3-stestr
 BuildRequires:  python3-testscenarios
 BuildRequires:  python3-testtools
@@ -56,7 +55,7 @@
 Group:          Development/Languages/Python
 Requires:       python3-Babel >= 2.3.4
 Requires:       python3-PrettyTable >= 0.7.2
-Requires:       python3-cryptography >= 2.1
+Requires:       python3-cryptography >= 3.0
 Requires:       python3-decorator >= 3.4.0
 Requires:       python3-keystoneauth1 >= 3.4.0
 Requires:       python3-os-client-config >= 1.28.0
@@ -67,7 +66,7 @@
 Requires:       python3-oslo.utils >= 3.33.0
 Requires:       python3-pbr >= 2.0.0
 Requires:       python3-requests >= 2.14.2
-Requires:       python3-six >= 1.10.0
+Requires:       python3-six
 Requires:       python3-stevedore >= 1.20.0
 %if 0%{?suse_version}
 Obsoletes:      python2-magnumclient < 2.17.0
@@ -91,15 +90,15 @@
 This package contains the documentation.
 
 %prep
-%autosetup -p1 -n python-magnumclient-3.0.1
+%autosetup -p1 -n python-magnumclient-3.2.1
 %py_req_cleanup
 
 %build
 %{py3_build}
 
 # Build HTML docs and man page
-PBR_VERSION=3.0.1 %sphinx_build -b html doc/source doc/build/html
-PBR_VERSION=3.0.1 %sphinx_build -b man doc/source doc/build/man
+PBR_VERSION=3.2.1 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=3.2.1 %sphinx_build -b man doc/source doc/build/man
 rm -r doc/build/html/.{doctrees,buildinfo}
 
 %install

++++++ _service ++++++
--- /var/tmp/diff_new_pack.RnliFA/_old  2020-10-26 16:16:25.618940611 +0100
+++ /var/tmp/diff_new_pack.RnliFA/_new  2020-10-26 16:16:25.622940614 +0100
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/python-magnumclient/python-magnumclient.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/python-magnumclient/python-magnumclient.spec.j2</param>
     <param name="output-name">python-magnumclient.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/python-magnumclient/raw/branch/stable/ussuri/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/python-magnumclient/raw/branch/stable/victoria/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,python-magnumclient</param>
   </service>

++++++ python-magnumclient-3.0.1.tar.gz -> python-magnumclient-3.2.1.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/.zuul.yaml 
new/python-magnumclient-3.2.1/.zuul.yaml
--- old/python-magnumclient-3.0.1/.zuul.yaml    2020-07-01 12:13:08.000000000 
+0200
+++ new/python-magnumclient-3.2.1/.zuul.yaml    2020-09-09 18:21:30.000000000 
+0200
@@ -3,13 +3,10 @@
       - check-requirements
       - openstack-cover-jobs
       - openstack-lower-constraints-jobs
-      - openstack-python3-ussuri-jobs
+      - openstack-python3-victoria-jobs
       - publish-openstack-docs-pti
+      - build-release-notes-jobs-python3
     check:
       jobs:
-        - build-openstack-releasenotes
         - openstack-tox-cover:
             voting: false
-    gate:
-      jobs:
-        - build-openstack-releasenotes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/AUTHORS 
new/python-magnumclient-3.2.1/AUTHORS
--- old/python-magnumclient-3.0.1/AUTHORS       2020-07-01 12:14:33.000000000 
+0200
+++ new/python-magnumclient-3.2.1/AUTHORS       2020-09-09 18:22:52.000000000 
+0200
@@ -38,6 +38,7 @@
 Ghanshyam Mann <gm...@ghanshyammann.com>
 Haiwei Xu <xu-hai...@mxw.nes.nec.co.jp>
 Hangdong Zhang <hdzh...@fiberhome.com>
+Hervé Beraud <hber...@redhat.com>
 Hieu LE <hie...@vn.fujitsu.com>
 Hongbin Lu <hongbin...@huawei.com>
 Hongbin Lu <hongbin...@gmail.com>
@@ -83,6 +84,7 @@
 Pavlo Shchelokovskyy <shchelokovs...@gmail.com>
 Rajiv Kumar <rajiv.ku...@nectechnologies.in>
 Ricardo Rocha <rocha.po...@gmail.com>
+Sean McGinnis <sean.mcgin...@gmail.com>
 Sergey Vilgelm <ser...@vilgelm.info>
 Spyros Trigazis <spyridon.triga...@cern.ch>
 Spyros Trigazis <strig...@gmail.com>
@@ -92,6 +94,7 @@
 Surojit Pathak <s...@yahoo-inc.com>
 Swapnil Kulkarni (coolsvap) <m...@coolsvap.net>
 Theodoros Tsioutsias <theodoros.tsiouts...@cern.ch>
+Tobias Urdin <tobias.ur...@binero.se>
 Tom Cammann <tom.camm...@hp.com>
 Tom Cammann <tom.camm...@hpe.com>
 Tovin Seven <vin...@vn.fujitsu.com>
@@ -118,6 +121,8 @@
 guo yunxian <yunxian....@easystack.cn>
 houming-wang <houming.w...@easystack.cn>
 jacky06 <zhang....@99cloud.net>
+kangyufei <kan...@inspur.com>
+kartik494 <sharmakartik...@gmail.com>
 kavithahr <kavith...@nectechnologies.in>
 maliki <imran.ma...@emc.com>
 melissaml <ma....@99cloud.net>
@@ -134,9 +139,11 @@
 ting.wang <ting.w...@easystack.cn>
 venkatamahesh <venkatamaheshko...@gmail.com>
 wangbo <wangbo_b...@163.com>
+wanghui <wang_...@inspur.com>
 wangqun <bjw...@cn.ibm.com>
 xiexs <xi...@cn.fujitsu.com>
 yanghuichan <yan...@fiberhome.com>
+yangyong <yangyon...@inspur.com>
 yatin <yatin.ka...@nectechnologies.in>
 yatin <yka...@redhat.com>
 yatin karel <yatin.ka...@nectechnologies.in>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/CONTRIBUTING.rst 
new/python-magnumclient-3.2.1/CONTRIBUTING.rst
--- old/python-magnumclient-3.0.1/CONTRIBUTING.rst      2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/CONTRIBUTING.rst      2020-09-09 
18:21:30.000000000 +0200
@@ -11,6 +11,6 @@
 
 Pull requests submitted through GitHub will be ignored.
 
-Bugs should be filed on Launchpad, not GitHub:
+Bugs should be filed on Storyboard, not GitHub:
 
-   https://bugs.launchpad.net/python-magnumclient
+   https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/ChangeLog 
new/python-magnumclient-3.2.1/ChangeLog
--- old/python-magnumclient-3.0.1/ChangeLog     2020-07-01 12:14:33.000000000 
+0200
+++ new/python-magnumclient-3.2.1/ChangeLog     2020-09-09 18:22:52.000000000 
+0200
@@ -1,18 +1,43 @@
 CHANGES
 =======
 
-3.0.1
+3.2.1
 -----
 
-* Labels override
+* Migrate testing to Ubuntu Focal
+
+3.2.0
+-----
+
+* Use overlay2 driver by default
+* Use unittest.mock instead of mock
+* Support master\_lb\_enabled when creating cluster
+* Show cluster fixed\_network, fixed\_subnet, floating\_ip\_enabled
+* Print response after issuing CA rotate request
+* Stop to use the \_\_future\_\_ module
+
+3.1.0
+-----
+
+* Switch to newer openstackdocstheme and reno versions
 * Rename variables to address pep8 error
-* Update TOX/UPPER\_CONSTRAINTS\_FILE for stable/ussuri
-* Update .gitreview for stable/ussuri
+* Labels override
+* Fix hacking min version to 3.0.1
+* Remove six
+* Fix raw\_request of SessionClient
+* Add py38 package metadata
+* Support updating cluster health status
+* Use unittest.mock instead of third party mock
+* Add Python3 victoria unit tests
+* Update master for stable/ussuri
+* Check response type in \_extract\_error\_json
+* Cleanup py27 support
 
 3.0.0
 -----
 
 * Update master for stable/train
+* Update to hacking 3.0
 * Update hacking for Python3
 * Drop py27 tests
 * Bugfix: Use fields option for cluster template list
@@ -22,6 +47,7 @@
 
 * Allow cluster config for any cluster state
 * Add nodegroup CRUD commands
+* replace launchpad urls with storyboard urls
 * Replace git.openstack.org URLs with opendev.org URLs
 
 2.15.0
@@ -62,6 +88,7 @@
 * Change openstack-dev to openstack-discuss
 * Add Python 3.6 classifier to setup.cfg
 * add python 3.6 unit test job
+* Refactor the getid method base.py
 * Trivial: Update pypi url to new url
 
 2.11.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/PKG-INFO 
new/python-magnumclient-3.2.1/PKG-INFO
--- old/python-magnumclient-3.0.1/PKG-INFO      2020-07-01 12:14:33.000000000 
+0200
+++ new/python-magnumclient-3.2.1/PKG-INFO      2020-09-09 18:22:52.000000000 
+0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: python-magnumclient
-Version: 3.0.1
+Version: 3.2.1
 Summary: Client library for Magnum API
 Home-page: https://docs.openstack.org/python-magnumclient/latest/
 Author: OpenStack
@@ -37,14 +37,14 @@
         * License: Apache License, Version 2.0
         * `PyPi`_ - package installation
         * `Online Documentation`_
-        * `Launchpad project`_ - release management
+        * `Storyboard project`_ - story and task management
         * `Bugs`_ - issue tracking
         * `Source`_
         
         .. _PyPi: https://pypi.org/project/python-magnumclient
         .. _Online Documentation: 
https://docs.openstack.org/python-magnumclient/latest/
-        .. _Launchpad project: https://launchpad.net/python-magnumclient
-        .. _Bugs: https://bugs.launchpad.net/python-magnumclient
+        .. _Storyboard project: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
+        .. _Bugs: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
         .. _Source: https://opendev.org/openstack/python-magnumclient
         
         
@@ -55,7 +55,11 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/README.rst 
new/python-magnumclient-3.2.1/README.rst
--- old/python-magnumclient-3.0.1/README.rst    2020-07-01 12:13:08.000000000 
+0200
+++ new/python-magnumclient-3.2.1/README.rst    2020-09-09 18:21:30.000000000 
+0200
@@ -29,12 +29,12 @@
 * License: Apache License, Version 2.0
 * `PyPi`_ - package installation
 * `Online Documentation`_
-* `Launchpad project`_ - release management
+* `Storyboard project`_ - story and task management
 * `Bugs`_ - issue tracking
 * `Source`_
 
 .. _PyPi: https://pypi.org/project/python-magnumclient
 .. _Online Documentation: 
https://docs.openstack.org/python-magnumclient/latest/
-.. _Launchpad project: https://launchpad.net/python-magnumclient
-.. _Bugs: https://bugs.launchpad.net/python-magnumclient
+.. _Storyboard project: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
+.. _Bugs: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
 .. _Source: https://opendev.org/openstack/python-magnumclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/doc/requirements.txt 
new/python-magnumclient-3.2.1/doc/requirements.txt
--- old/python-magnumclient-3.0.1/doc/requirements.txt  2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/doc/requirements.txt  2020-09-09 
18:21:30.000000000 +0200
@@ -1,4 +1,3 @@
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.2.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/doc/source/conf.py 
new/python-magnumclient-3.2.1/doc/source/conf.py
--- old/python-magnumclient-3.0.1/doc/source/conf.py    2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/doc/source/conf.py    2020-09-09 
18:21:30.000000000 +0200
@@ -62,10 +62,9 @@
 # html_static_path = ['static']
 
 # openstackdocstheme options
-repository_name = 'openstack/python-magnumclient'
-bug_project = 'python-magnumclient'
-bug_tag = ''
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
+openstackdocs_repo_name = 'openstack/python-magnumclient'
+openstackdocs_bug_project = 'python-magnumclient'
+openstackdocs_bug_tag = ''
 
 
 # Output file base name for HTML help builder.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/lower-constraints.txt 
new/python-magnumclient-3.2.1/lower-constraints.txt
--- old/python-magnumclient-3.0.1/lower-constraints.txt 2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/lower-constraints.txt 2020-09-09 
18:21:30.000000000 +0200
@@ -5,12 +5,12 @@
 Babel==2.3.4
 bandit==1.4.0
 cachetools==2.0.0
-cffi==1.7.0
+cffi==1.14
 cliff==2.8.0
 cmd2==0.8.0
 contextlib2==0.4.0
 coverage==4.0
-cryptography==2.1
+cryptography==3.0
 debtcollector==1.2.0
 decorator==3.4.0
 deprecation==1.0
@@ -25,7 +25,7 @@
 futurist==1.2.0
 gitdb==0.6.4
 GitPython==1.0.1
-greenlet==0.4.10
+greenlet==0.4.15
 hacking==0.12.0
 idna==2.6
 imagesize==0.7.1
@@ -40,14 +40,12 @@
 linecache2==1.0.0
 MarkupSafe==1.0
 mccabe==0.2.1
-mock==2.0.0
 monotonic==0.6
 mox3==0.20.0
 msgpack-python==0.4.0
 munch==2.1.0
 netaddr==0.7.18
 netifaces==0.10.4
-openstackdocstheme==1.18.1
 openstacksdk==0.11.2
 os-client-config==1.28.0
 os-service-types==1.2.0
@@ -76,7 +74,7 @@
 pyflakes==0.8.1
 Pygments==2.2.0
 pyinotify==0.9.6
-pyOpenSSL==17.1.0
+pyOpenSSL==19.1.0
 pyparsing==2.1.0
 pyperclip==1.5.27
 python-cinderclient==3.3.0
@@ -95,11 +93,8 @@
 rfc3986==0.3.1
 Routes==2.3.1
 simplejson==3.5.1
-six==1.10.0
 smmap==0.9.0
 snowballstemmer==1.2.1
-Sphinx==1.6.5
-sphinxcontrib-websupport==1.0.1
 statsd==3.2.1
 stevedore==1.20.0
 tenacity==3.2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/common/apiclient/exceptions.py 
new/python-magnumclient-3.2.1/magnumclient/common/apiclient/exceptions.py
--- old/python-magnumclient-3.0.1/magnumclient/common/apiclient/exceptions.py   
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/common/apiclient/exceptions.py   
2020-09-09 18:21:30.000000000 +0200
@@ -36,7 +36,6 @@
 import inspect
 import sys
 
-import six
 
 from magnumclient.i18n import _
 
@@ -456,7 +455,7 @@
                     kwargs["message"] = (error.get("message") or
                                          error.get("faultstring"))
                     kwargs["details"] = (error.get("details") or
-                                         six.text_type(body))
+                                         str(body))
     elif content_type.startswith("text/"):
         kwargs["details"] = getattr(response, 'text', '')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/common/base.py 
new/python-magnumclient-3.2.1/magnumclient/common/base.py
--- old/python-magnumclient-3.0.1/magnumclient/common/base.py   2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/common/base.py   2020-09-09 
18:21:30.000000000 +0200
@@ -20,8 +20,7 @@
 """
 
 import copy
-
-import six.moves.urllib.parse as urlparse
+from urllib import parse as urlparse
 
 from magnumclient.common.apiclient import base
 
@@ -32,10 +31,7 @@
     Abstracts the common pattern of allowing both an object or an
     object's ID (UUID) as a parameter when dealing with relationships.
     """
-    try:
-        return obj.id
-    except AttributeError:
-        return obj
+    return getattr(obj, 'id', obj)
 
 
 class Manager(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/common/cliutils.py 
new/python-magnumclient-3.2.1/magnumclient/common/cliutils.py
--- old/python-magnumclient-3.0.1/magnumclient/common/cliutils.py       
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/common/cliutils.py       
2020-09-09 18:21:30.000000000 +0200
@@ -16,8 +16,6 @@
 # W0621: Redefining name %s from outer scope
 # pylint: disable=W0603,W0621
 
-from __future__ import print_function
-
 import getpass
 import inspect
 import os
@@ -29,8 +27,6 @@
 from oslo_utils import encodeutils
 from oslo_utils import strutils
 import prettytable
-import six
-from six import moves
 
 from magnumclient.i18n import _
 
@@ -301,10 +297,7 @@
             row.append(data)
         pt.add_row(row)
 
-    if six.PY3:
-        print(encodeutils.safe_encode(pt.get_string(**kwargs)).decode())
-    else:
-        print(encodeutils.safe_encode(pt.get_string(**kwargs)))
+    print(encodeutils.safe_encode(pt.get_string(**kwargs)).decode())
 
 
 def keys_and_vals_to_strs(dictionary):
@@ -315,7 +308,7 @@
     def to_str(k_or_v):
         if isinstance(k_or_v, dict):
             return keys_and_vals_to_strs(k_or_v)
-        elif isinstance(k_or_v, six.text_type):
+        elif isinstance(k_or_v, str):
             return str(k_or_v)
         else:
             return k_or_v
@@ -334,12 +327,12 @@
     for k, v in dct.items():
         # convert dict to str to check length
         if isinstance(v, dict):
-            v = six.text_type(keys_and_vals_to_strs(v))
+            v = str(keys_and_vals_to_strs(v))
         if wrap > 0:
-            v = textwrap.fill(six.text_type(v), wrap)
+            v = textwrap.fill(str(v), wrap)
         # if value has a newline, add in multiple rows
         # e.g. fault with stacktrace
-        if v and isinstance(v, six.string_types) and r'\n' in v:
+        if v and isinstance(v, str) and r'\n' in v:
             lines = v.strip().split(r'\n')
             col1 = k
             for line in lines:
@@ -355,10 +348,7 @@
                 v = '-'
             pt.add_row([k, v])
 
-    if six.PY3:
-        print(encodeutils.safe_encode(pt.get_string()).decode())
-    else:
-        print(encodeutils.safe_encode(pt.get_string()))
+    print(encodeutils.safe_encode(pt.get_string()).decode())
 
 
 def get_password(max_password_prompts=3):
@@ -368,7 +358,7 @@
     if hasattr(sys.stdin, "isatty") and sys.stdin.isatty():
         # Check for Ctrl-D
         try:
-            for __ in moves.range(max_password_prompts):
+            for __ in range(max_password_prompts):
                 pw1 = getpass.getpass("OS Password: ")
                 if verify:
                     pw2 = getpass.getpass("Please verify: ")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/common/httpclient.py 
new/python-magnumclient-3.2.1/magnumclient/common/httpclient.py
--- old/python-magnumclient-3.0.1/magnumclient/common/httpclient.py     
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/common/httpclient.py     
2020-09-09 18:21:30.000000000 +0200
@@ -16,16 +16,17 @@
 #    under the License.
 
 import copy
+from http import client as http_client
+import io
 import logging
 import os
 import socket
 import ssl
+from urllib import parse as urlparse
 
 from keystoneauth1 import adapter
 from oslo_serialization import jsonutils
 from oslo_utils import importutils
-import six
-import six.moves.urllib.parse as urlparse
 
 from magnumclient import exceptions
 
@@ -60,7 +61,10 @@
 
 def _extract_error_json(body, resp):
     """Return error_message from the HTTP response body."""
-    content_type = resp.headers.get("Content-Type", "")
+    try:
+        content_type = resp.headers.get("Content-Type", "")
+    except AttributeError:
+        content_type = ""
     if content_type.startswith("application/json"):
         try:
             body_json = resp.json()
@@ -103,7 +107,7 @@
             _kwargs['key_file'] = kwargs.get('key_file', None)
             _kwargs['insecure'] = kwargs.get('insecure', False)
         elif parts.scheme == 'http':
-            _class = six.moves.http_client.HTTPConnection
+            _class = http_client.HTTPConnection
         else:
             msg = 'Unsupported scheme: %s' % parts.scheme
             raise exceptions.EndpointException(msg)
@@ -204,7 +208,7 @@
             ]
             body_str = ''.join(body_list)
             self.log_http_response(resp, body_str)
-            body_iter = six.StringIO(body_str)
+            body_iter = io.StringIO(body_str)
         else:
             self.log_http_response(resp)
 
@@ -254,7 +258,7 @@
         return self._http_request(url, method, **kwargs)
 
 
-class VerifiedHTTPSConnection(six.moves.http_client.HTTPSConnection):
+class VerifiedHTTPSConnection(http_client.HTTPSConnection):
     """httplib-compatibile connection using client-side SSL authentication
 
     :see http://code.activestate.com/recipes/
@@ -263,9 +267,9 @@
 
     def __init__(self, host, port, key_file=None, cert_file=None,
                  ca_file=None, timeout=None, insecure=False):
-        six.moves.http_client.HTTPSConnection.__init__(self, host, port,
-                                                       key_file=key_file,
-                                                       cert_file=cert_file)
+        http_client.HTTPSConnection.__init__(self, host, port,
+                                             key_file=key_file,
+                                             cert_file=cert_file)
         self.key_file = key_file
         self.cert_file = cert_file
         if ca_file is not None:
@@ -395,7 +399,22 @@
         kwargs.setdefault('headers', {})
         kwargs['headers'].setdefault('Content-Type',
                                      'application/octet-stream')
-        return self._http_request(url, method, **kwargs)
+        resp = self._http_request(url, method, **kwargs)
+        body = resp.content
+        status = resp.status_code
+        content_type = resp.headers.get('content-type', None)
+
+        if status == 204 or status == 205 or content_type is None:
+            return resp, list()
+        if 'application/json' in content_type:
+            try:
+                body = resp.json()
+            except ValueError:
+                LOG.error('Could not decode response body as JSON')
+        else:
+            body = None
+
+        return resp, body
 
 
 class ResponseBodyIterator(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/common/utils.py 
new/python-magnumclient-3.2.1/magnumclient/common/utils.py
--- old/python-magnumclient-3.0.1/magnumclient/common/utils.py  2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/common/utils.py  2020-09-09 
18:21:30.000000000 +0200
@@ -79,7 +79,7 @@
             attr = '/' + attr
         if op in ['add', 'replace']:
             path, value = split_and_deserialize(attr)
-            if path == "/labels":
+            if path == "/labels" or path == "/health_status_reason":
                 a = []
                 a.append(value)
                 value = str(handle_labels(a))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/osc/v1/certificates.py 
new/python-magnumclient-3.2.1/magnumclient/osc/v1/certificates.py
--- old/python-magnumclient-3.0.1/magnumclient/osc/v1/certificates.py   
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/osc/v1/certificates.py   
2020-09-09 18:21:30.000000000 +0200
@@ -51,6 +51,8 @@
         }
 
         mag_client.certificates.rotate_ca(**opts)
+        print("Request to rotate the CA certificate for cluster %s "
+              "has been accepted." % cluster.uuid)
 
 
 class ShowCa(command.Command):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/osc/v1/cluster_templates.py 
new/python-magnumclient-3.2.1/magnumclient/osc/v1/cluster_templates.py
--- old/python-magnumclient-3.0.1/magnumclient/osc/v1/cluster_templates.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/osc/v1/cluster_templates.py      
2020-09-09 18:21:30.000000000 +0200
@@ -151,9 +151,9 @@
             '--docker-storage-driver',
             dest='docker_storage_driver',
             metavar='<docker-storage-driver>',
-            default='devicemapper',
+            default='overlay2',
             help=_('Select a docker storage driver. Supported: devicemapper, '
-                   'overlay. Default: devicemapper'))
+                   'overlay, overlay2. Default: overlay2'))
         parser.add_argument(
             '--http-proxy',
             dest='http_proxy',
@@ -278,6 +278,12 @@
         elif len(parsed_args.floating_ip_enabled) == 1:
             args['floating_ip_enabled'] = parsed_args.floating_ip_enabled[0]
 
+        deprecated = ['devicemapper', 'overlay']
+        if args['docker_storage_driver'] in deprecated:
+            print("WARNING: Docker storage drivers %s are deprecated and will "
+                  "be removed in a future release. Use overlay2 instead." %
+                  deprecated)
+
         ct = mag_client.cluster_templates.create(**args)
         print("Request to create cluster template %s accepted"
               % parsed_args.name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/osc/v1/clusters.py 
new/python-magnumclient-3.2.1/magnumclient/osc/v1/clusters.py
--- old/python-magnumclient-3.0.1/magnumclient/osc/v1/clusters.py       
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/osc/v1/clusters.py       
2020-09-09 18:21:30.000000000 +0200
@@ -37,10 +37,14 @@
     'labels_overridden',
     'labels_skipped',
     'labels_added',
+    'fixed_network',
+    'fixed_subnet',
+    'floating_ip_enabled',
     'faults',
     'keypair',
     'api_address',
     'master_addresses',
+    'master_lb_enabled',
     'create_timeout',
     'node_count',
     'discovery_url',
@@ -151,6 +155,13 @@
             default=False,
             help=_('The labels provided will be merged with the labels '
                    'configured in the specified cluster template.'))
+        parser.add_argument(
+            '--master-lb-enabled',
+            dest='master_lb_enabled',
+            action='store_true',
+            default=False,
+            help=_('Indicates whether created clusters should have '
+                   'a loadbalancer for API.'))
 
         return parser
 
@@ -200,6 +211,9 @@
             # way we avoid breaking older APIs.
             args["merge_labels"] = parsed_args.merge_labels
 
+        if parsed_args.master_lb_enabled:
+            args["master_lb_enabled"] = parsed_args.master_lb_enabled
+
         cluster = mag_client.clusters.create(**args)
         print("Request to create cluster %s accepted"
               % cluster.uuid)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/magnumclient/shell.py 
new/python-magnumclient-3.2.1/magnumclient/shell.py
--- old/python-magnumclient-3.0.1/magnumclient/shell.py 2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/shell.py 2020-09-09 
18:21:30.000000000 +0200
@@ -21,8 +21,6 @@
 """
 Command-line interface to the OpenStack Magnum API.
 """
-
-from __future__ import print_function
 import argparse
 import logging
 import os
@@ -31,7 +29,6 @@
 from oslo_utils import encodeutils
 from oslo_utils import importutils
 from oslo_utils import strutils
-import six
 
 from magnumclient.common import cliutils
 from magnumclient import exceptions as exc
@@ -642,7 +639,7 @@
 
     except Exception as e:
         logger.debug(e, exc_info=1)
-        print("ERROR: %s" % encodeutils.safe_encode(six.text_type(e)),
+        print("ERROR: %s" % encodeutils.safe_encode(str(e)),
               file=sys.stderr)
         sys.exit(1)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/osc_fakes.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/osc_fakes.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/osc_fakes.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/osc_fakes.py      
2020-09-09 18:21:30.000000000 +0200
@@ -13,7 +13,8 @@
 #   under the License.
 #
 
-import mock
+from unittest import mock
+
 from oslo_serialization import jsonutils
 import sys
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/fakes.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/fakes.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/fakes.py       
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/fakes.py       
2020-09-09 18:21:30.000000000 +0200
@@ -240,6 +240,9 @@
             'labels_overridden': {},
             'labels_added': {},
             'labels_skipped': {},
+            'fixed_network': 'fixed-network',
+            'fixed_subnet': 'fixed-subnet',
+            'floating_ip_enabled': True,
             'created_at': '2017-03-16T18:40:39+00:00',
             'updated_at': '2017-03-16T18:40:45+00:00',
             'coe_version': None,
@@ -256,7 +259,8 @@
             'master_flavor_id': None,
             'flavor_id': 'm1.medium',
             'project_id': None,
-            'health_status_reason': {'api': 'ok'}
+            'health_status_reason': {'api': 'ok'},
+            'master_lb_enabled': False,
         }
 
         # Overwrite default attributes.
@@ -341,7 +345,8 @@
             'is_default': False,
             'stack_id': '3a369884-b6ba-484f-fake-stackb718aff',
             'status': 'CREATE_COMPLETE',
-            'status_reason': 'None'
+            'status_reason': 'None',
+            'master_lb_enabled': False,
         }
 
         # Overwrite default attributes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_certificates.py
 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_certificates.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_certificates.py
   2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_certificates.py
   2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.osc.v1 import certificates as osc_certificates
 from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_cluster_templates.py
 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_cluster_templates.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_cluster_templates.py
      2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_cluster_templates.py
      2020-09-09 18:21:30.000000000 +0200
@@ -14,8 +14,8 @@
 #
 
 import copy
-import mock
-from mock import call
+from unittest import mock
+from unittest.mock import call
 
 from magnumclient.exceptions import InvalidAttribute
 from magnumclient.osc.v1 import cluster_templates as osc_ct
@@ -28,7 +28,7 @@
     default_create_args = {
         'coe': 'kubernetes',
         'dns_nameserver': '8.8.8.8',
-        'docker_storage_driver': 'devicemapper',
+        'docker_storage_driver': 'overlay2',
         'docker_volume_size': None,
         'external_network_id': 'public',
         'fixed_network': None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_clusters.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_clusters.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_clusters.py   
    2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_clusters.py   
    2020-09-09 18:21:30.000000000 +0200
@@ -14,17 +14,17 @@
 #
 
 import copy
-import mock
 import os
 import sys
 import tempfile
+from unittest import mock
 
 from contextlib import contextmanager
 try:
     from StringIO import StringIO
 except ImportError:
     from io import StringIO
-from mock import call
+from unittest.mock import call
 
 from magnumclient import exceptions
 from magnumclient.osc.v1 import clusters as osc_clusters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_mservices.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_mservices.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_mservices.py  
    2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_mservices.py  
    2020-09-09 18:21:30.000000000 +0200
@@ -9,7 +9,7 @@
 # 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 mock
+from unittest import mock
 
 from magnumclient.osc.v1 import mservices
 from magnumclient.tests.osc.unit.v1 import fakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_nodegroups.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_nodegroups.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_nodegroups.py 
    2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_nodegroups.py 
    2020-09-09 18:21:30.000000000 +0200
@@ -14,8 +14,8 @@
 #    under the License.
 
 import copy
-import mock
-from mock import call
+from unittest import mock
+from unittest.mock import call
 
 from magnumclient.osc.v1 import nodegroups as osc_nodegroups
 from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_quotas.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_quotas.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_quotas.py 
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_quotas.py 
2020-09-09 18:21:30.000000000 +0200
@@ -11,7 +11,7 @@
 #    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 mock
+from unittest import mock
 
 from magnumclient.osc.v1 import quotas as osc_quotas
 from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_stats.py 
new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_stats.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/osc/unit/v1/test_stats.py  
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/osc/unit/v1/test_stats.py  
2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.osc.v1 import stats as osc_stats
 from magnumclient.tests.osc.unit.v1 import fakes as magnum_fakes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/test_client.py 
new/python-magnumclient-3.2.1/magnumclient/tests/test_client.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/test_client.py     
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/test_client.py     
2020-09-09 18:21:30.000000000 +0200
@@ -12,8 +12,8 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-import mock
 import testtools
+from unittest import mock
 
 from magnumclient import client
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/test_httpclient.py 
new/python-magnumclient-3.2.1/magnumclient/tests/test_httpclient.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/test_httpclient.py 
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/test_httpclient.py 
2020-09-09 18:21:30.000000000 +0200
@@ -13,9 +13,11 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from http import client as http_client
+import io
+from unittest import mock
+
 from oslo_serialization import jsonutils
-import six
 import socket
 
 from magnumclient.common.apiclient.exceptions import GatewayTimeout
@@ -50,7 +52,7 @@
     return raw_body
 
 
-HTTP_CLASS = six.moves.http_client.HTTPConnection
+HTTP_CLASS = http_client.HTTPConnection
 HTTPS_CLASS = http.VerifiedHTTPSConnection
 DEFAULT_TIMEOUT = 600
 
@@ -80,7 +82,7 @@
     def test_server_exception_empty_body(self):
         error_body = _get_error_body()
         fake_resp = utils.FakeResponse({'content-type': 'application/json'},
-                                       six.StringIO(error_body),
+                                       io.StringIO(error_body),
                                        version=1,
                                        status=500)
         client = http.HTTPClient('http://localhost/')
@@ -96,7 +98,7 @@
         error_msg = 'test error msg'
         error_body = _get_error_body(error_msg, err_type=ERROR_DICT)
         fake_resp = utils.FakeResponse({'content-type': 'application/json'},
-                                       six.StringIO(error_body),
+                                       io.StringIO(error_body),
                                        version=1,
                                        status=500)
         client = http.HTTPClient('http://localhost/')
@@ -115,7 +117,7 @@
         error_body = _get_error_body(error_msg, error_trace,
                                      ERROR_LIST_WITH_DESC)
         fake_resp = utils.FakeResponse({'content-type': 'application/json'},
-                                       six.StringIO(error_body),
+                                       io.StringIO(error_body),
                                        version=1,
                                        status=500)
         client = http.HTTPClient('http://localhost/')
@@ -269,7 +271,7 @@
     def test_401_unauthorized_exception(self):
         error_body = _get_error_body(err_type=ERROR_LIST_WITH_DETAIL)
         fake_resp = utils.FakeResponse({'content-type': 'text/plain'},
-                                       six.StringIO(error_body),
+                                       io.StringIO(error_body),
                                        version=1,
                                        status=401)
         client = http.HTTPClient('http://localhost/')
@@ -298,7 +300,7 @@
         err = "foo"
         fake_resp = utils.FakeResponse(
             {'content-type': 'application/json'},
-            six.StringIO(err), version=1, status=200)
+            io.StringIO(err), version=1, status=200)
         client = http.HTTPClient('http://localhost/')
         conn = utils.FakeConnection(fake_resp)
         client.get_connection = (lambda *a, **kw: conn)
@@ -324,7 +326,7 @@
     def test_server_success_body_none(self):
         fake_resp = utils.FakeResponse(
             {'content-type': None},
-            six.StringIO('bar'), version=1, status=200)
+            io.StringIO('bar'), version=1, status=200)
         client = http.HTTPClient('http://localhost/')
         conn = utils.FakeConnection(fake_resp)
         client.get_connection = (lambda *a, **kw: conn)
@@ -338,7 +340,7 @@
         err = _get_error_body()
         fake_resp = utils.FakeResponse(
             {'content-type': 'application/json'},
-            six.StringIO(err), version=1, status=200)
+            io.StringIO(err), version=1, status=200)
         client = http.HTTPClient('http://localhost/')
         conn = utils.FakeConnection(fake_resp)
         client.get_connection = (lambda *a, **kw: conn)
@@ -448,10 +450,11 @@
         client = http.SessionClient(
             session=fake_session, endpoint_override='http://magnum')
 
-        resp = client.raw_request('GET', '/v1/bays')
+        resp, resp_body = client.raw_request('GET', '/v1/bays')
 
         self.assertEqual(
             fake_session.request.call_args[1]['headers']['Content-Type'],
             'application/octet-stream'
         )
+        self.assertEqual(None, resp_body)
         self.assertEqual(fake_response, resp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/test_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/test_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/test_shell.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/test_shell.py      
2020-09-09 18:21:30.000000000 +0200
@@ -12,14 +12,14 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import io
 import re
 import sys
+from unittest import mock
 
 import argparse
 import fixtures
 from keystoneauth1 import fixture
-import mock
-import six
 from testtools import matchers
 
 from magnumclient import exceptions
@@ -231,8 +231,8 @@
         self.assertEqual(False, session_kwargs['verify'])
 
     @mock.patch('sys.argv', ['magnum'])
-    @mock.patch('sys.stdout', six.StringIO())
-    @mock.patch('sys.stderr', six.StringIO())
+    @mock.patch('sys.stdout', io.StringIO())
+    @mock.patch('sys.stderr', io.StringIO())
     def test_main_noargs(self):
         # Ensure that main works with no command-line arguments
         try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/test_utils.py 
new/python-magnumclient-3.2.1/magnumclient/tests/test_utils.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/test_utils.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/test_utils.py      
2020-09-09 18:21:30.000000000 +0200
@@ -15,11 +15,11 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import builtins
 import collections
-import mock
+from unittest import mock
+
 from oslo_serialization import jsonutils
-import six
-import six.moves.builtins as __builtin__
 import tempfile
 
 from magnumclient.common import cliutils
@@ -219,10 +219,10 @@
 class CliUtilsTest(test_utils.BaseTestCase):
 
     def test_keys_and_vals_to_strs(self):
-        dict_in = {six.u('a'): six.u('1'),
-                   six.u('b'): {six.u('x'): 1,
-                                'y': six.u('2'),
-                                six.u('z'): six.u('3')},
+        dict_in = {'a': '1',
+                   'b': {'x': 1,
+                         'y': '2',
+                         'z': '3'},
                    'c': 7}
 
         dict_exp = collections.OrderedDict([
@@ -239,7 +239,7 @@
             ('b', collections.OrderedDict(sorted(dict_out['b'].items()))),
             ('c', dict_out['c'])])
 
-        self.assertEqual(six.text_type(dict_exp), six.text_type(dict_act))
+        self.assertEqual(str(dict_exp), str(dict_act))
 
 
 class HandleJsonFromFileTest(test_utils.BaseTestCase):
@@ -263,7 +263,7 @@
 
         self.assertEqual(jsonutils.loads(contents), steps)
 
-    @mock.patch.object(__builtin__, 'open', autospec=True)
+    @mock.patch.object(builtins, 'open', autospec=True)
     def test_handle_json_from_file_open_fail(self, mock_open):
         mock_file_object = mock.MagicMock()
         mock_file_handle = mock.MagicMock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/utils.py 
new/python-magnumclient-3.2.1/magnumclient/tests/utils.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/utils.py   2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/utils.py   2020-09-09 
18:21:30.000000000 +0200
@@ -15,12 +15,13 @@
 
 import copy
 import datetime
+import io
 import os
 from oslo_serialization import jsonutils
+import queue
 import sys
 
 import fixtures
-import six
 import testtools
 
 from magnumclient.common import httpclient as http
@@ -51,7 +52,7 @@
 
     def raw_request(self, *args, **kwargs):
         response = self._request(*args, **kwargs)
-        body_iter = http.ResponseBodyIterator(six.StringIO(response[1]))
+        body_iter = http.ResponseBodyIterator(io.StringIO(response[1]))
         return FakeResponse(response[0]), body_iter
 
     def json_request(self, *args, **kwargs):
@@ -61,7 +62,7 @@
 
 class FakeConnection(object):
     def __init__(self, response=None, **kwargs):
-        self._response = six.moves.queue.Queue()
+        self._response = queue.Queue()
         self._response.put(response)
         self._last_request = None
         self._exc = kwargs['exc'] if 'exc' in kwargs else None
@@ -156,8 +157,8 @@
         orig = sys.stdout
         orig_stderr = sys.stderr
         try:
-            sys.stdout = six.StringIO()
-            sys.stderr = six.StringIO()
+            sys.stdout = io.StringIO()
+            sys.stderr = io.StringIO()
             _shell = shell.OpenStackMagnumShell()
             _shell.main(argstr.split())
         except SystemExit:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/shell_test_base.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/shell_test_base.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/shell_test_base.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/shell_test_base.py      
2020-09-09 18:21:30.000000000 +0200
@@ -13,8 +13,8 @@
 #    under the License.
 
 import re
+from unittest import mock
 
-import mock
 from testtools import matchers
 
 from magnumclient.tests import utils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_baymodels_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_baymodels_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_baymodels_shell.py 
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_baymodels_shell.py 
2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.common.apiclient import exceptions
 from magnumclient.tests.v1 import shell_test_base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_bays_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_bays_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_bays_shell.py      
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_bays_shell.py      
2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient import exceptions
 from magnumclient.tests.v1 import shell_test_base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_certificates_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_certificates_shell.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_certificates_shell.py  
    2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_certificates_shell.py  
    2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.common import cliutils
 from magnumclient.tests.v1 import shell_test_base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_client.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_client.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_client.py  
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_client.py  
2020-09-09 18:21:30.000000000 +0200
@@ -12,8 +12,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
 import testtools
+from unittest import mock
 
 from keystoneauth1.exceptions import catalog
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_clusters_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_clusters_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_clusters_shell.py  
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_clusters_shell.py  
2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.common import cliutils
 from magnumclient import exceptions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_clustertemplates_shell.py
 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_clustertemplates_shell.py
--- 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_clustertemplates_shell.py
  2020-07-01 12:13:08.000000000 +0200
+++ 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_clustertemplates_shell.py
  2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.common.apiclient import exceptions
 from magnumclient.tests.v1 import shell_test_base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_mservices_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_mservices_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_mservices_shell.py 
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_mservices_shell.py 
2020-09-09 18:21:30.000000000 +0200
@@ -12,7 +12,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.tests.v1 import shell_test_base
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_quotas_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_quotas_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_quotas_shell.py    
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_quotas_shell.py    
2020-09-09 18:21:30.000000000 +0200
@@ -10,7 +10,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.tests.v1 import shell_test_base
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_stats_shell.py 
new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_stats_shell.py
--- old/python-magnumclient-3.0.1/magnumclient/tests/v1/test_stats_shell.py     
2020-07-01 12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/tests/v1/test_stats_shell.py     
2020-09-09 18:21:30.000000000 +0200
@@ -10,7 +10,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import mock
+from unittest import mock
 
 from magnumclient.tests.v1 import shell_test_base
 from magnumclient.v1.stats import Stats
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/magnumclient/v1/clusters.py 
new/python-magnumclient-3.2.1/magnumclient/v1/clusters.py
--- old/python-magnumclient-3.0.1/magnumclient/v1/clusters.py   2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/magnumclient/v1/clusters.py   2020-09-09 
18:21:30.000000000 +0200
@@ -27,6 +27,7 @@
 CREATION_ATTRIBUTES.append('fixed_subnet')
 CREATION_ATTRIBUTES.append('floating_ip_enabled')
 CREATION_ATTRIBUTES.append('merge_labels')
+CREATION_ATTRIBUTES.append('master_lb_enabled')
 
 
 class Cluster(baseunit.BaseTemplate):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/python_magnumclient.egg-info/PKG-INFO 
new/python-magnumclient-3.2.1/python_magnumclient.egg-info/PKG-INFO
--- old/python-magnumclient-3.0.1/python_magnumclient.egg-info/PKG-INFO 
2020-07-01 12:14:33.000000000 +0200
+++ new/python-magnumclient-3.2.1/python_magnumclient.egg-info/PKG-INFO 
2020-09-09 18:22:52.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: python-magnumclient
-Version: 3.0.1
+Version: 3.2.1
 Summary: Client library for Magnum API
 Home-page: https://docs.openstack.org/python-magnumclient/latest/
 Author: OpenStack
@@ -37,14 +37,14 @@
         * License: Apache License, Version 2.0
         * `PyPi`_ - package installation
         * `Online Documentation`_
-        * `Launchpad project`_ - release management
+        * `Storyboard project`_ - story and task management
         * `Bugs`_ - issue tracking
         * `Source`_
         
         .. _PyPi: https://pypi.org/project/python-magnumclient
         .. _Online Documentation: 
https://docs.openstack.org/python-magnumclient/latest/
-        .. _Launchpad project: https://launchpad.net/python-magnumclient
-        .. _Bugs: https://bugs.launchpad.net/python-magnumclient
+        .. _Storyboard project: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
+        .. _Bugs: 
https://storyboard.openstack.org/#!/project/openstack/python-magnumclient
         .. _Source: https://opendev.org/openstack/python-magnumclient
         
         
@@ -55,7 +55,11 @@
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/python_magnumclient.egg-info/SOURCES.txt 
new/python-magnumclient-3.2.1/python_magnumclient.egg-info/SOURCES.txt
--- old/python-magnumclient-3.0.1/python_magnumclient.egg-info/SOURCES.txt      
2020-07-01 12:14:33.000000000 +0200
+++ new/python-magnumclient-3.2.1/python_magnumclient.egg-info/SOURCES.txt      
2020-09-09 18:22:52.000000000 +0200
@@ -117,6 +117,7 @@
 python_magnumclient.egg-info/pbr.json
 python_magnumclient.egg-info/requires.txt
 python_magnumclient.egg-info/top_level.txt
+releasenotes/notes/bug-1870264-1b4f14618b8422f9.yaml
 
releasenotes/notes/partial_osc_implementation_for_certificate-4597c20b59c152e1.yaml
 releasenotes/notes/partial_osc_implementation_for_quotas-33f44c0496d721f8.yaml
 releasenotes/source/conf.py
@@ -125,4 +126,5 @@
 releasenotes/source/stein.rst
 releasenotes/source/train.rst
 releasenotes/source/unreleased.rst
+releasenotes/source/ussuri.rst
 tools/magnum.bash_completion
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/python_magnumclient.egg-info/pbr.json 
new/python-magnumclient-3.2.1/python_magnumclient.egg-info/pbr.json
--- old/python-magnumclient-3.0.1/python_magnumclient.egg-info/pbr.json 
2020-07-01 12:14:33.000000000 +0200
+++ new/python-magnumclient-3.2.1/python_magnumclient.egg-info/pbr.json 
2020-09-09 18:22:52.000000000 +0200
@@ -1 +1 @@
-{"git_version": "6d1a386", "is_release": true}
\ No newline at end of file
+{"git_version": "1b707a7", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/python_magnumclient.egg-info/requires.txt 
new/python-magnumclient-3.2.1/python_magnumclient.egg-info/requires.txt
--- old/python-magnumclient-3.0.1/python_magnumclient.egg-info/requires.txt     
2020-07-01 12:14:33.000000000 +0200
+++ new/python-magnumclient-3.2.1/python_magnumclient.egg-info/requires.txt     
2020-09-09 18:22:52.000000000 +0200
@@ -1,6 +1,6 @@
 Babel!=2.4.0,>=2.3.4
 PrettyTable<0.8,>=0.7.2
-cryptography>=2.1
+cryptography>=3.0
 decorator>=3.4.0
 keystoneauth1>=3.4.0
 os-client-config>=1.28.0
@@ -11,5 +11,4 @@
 oslo.utils>=3.33.0
 pbr!=2.1.0,>=2.0.0
 requests>=2.14.2
-six>=1.10.0
 stevedore>=1.20.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/releasenotes/notes/bug-1870264-1b4f14618b8422f9.yaml
 
new/python-magnumclient-3.2.1/releasenotes/notes/bug-1870264-1b4f14618b8422f9.yaml
--- 
old/python-magnumclient-3.0.1/releasenotes/notes/bug-1870264-1b4f14618b8422f9.yaml
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-magnumclient-3.2.1/releasenotes/notes/bug-1870264-1b4f14618b8422f9.yaml
  2020-09-09 18:21:30.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    [`bug 1870264 
<https://bugs.launchpad.net/python-magnumclient/+bug/1870264>`_]
+    Fixed bug where the error message from the response could not be parsed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/releasenotes/source/conf.py 
new/python-magnumclient-3.2.1/releasenotes/source/conf.py
--- old/python-magnumclient-3.0.1/releasenotes/source/conf.py   2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/releasenotes/source/conf.py   2020-09-09 
18:21:30.000000000 +0200
@@ -271,6 +271,7 @@
 locale_dirs = ['locale/']
 
 # -- Options for openstackdocstheme -------------------------------------------
-repository_name = 'openstack/python-magnumclient'
-bug_project = 'python-magnumclient'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/python-magnumclient'
+openstackdocs_bug_project = 'python-magnumclient'
+openstackdocs_bug_tag = ''
+openstackdocs_auto_name = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/releasenotes/source/index.rst 
new/python-magnumclient-3.2.1/releasenotes/source/index.rst
--- old/python-magnumclient-3.0.1/releasenotes/source/index.rst 2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/releasenotes/source/index.rst 2020-09-09 
18:21:30.000000000 +0200
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   ussuri
    train
    stein
    rocky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-magnumclient-3.0.1/releasenotes/source/ussuri.rst 
new/python-magnumclient-3.2.1/releasenotes/source/ussuri.rst
--- old/python-magnumclient-3.0.1/releasenotes/source/ussuri.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/python-magnumclient-3.2.1/releasenotes/source/ussuri.rst        
2020-09-09 18:21:30.000000000 +0200
@@ -0,0 +1,6 @@
+===========================
+Ussuri Series Release Notes
+===========================
+
+.. release-notes::
+   :branch: stable/ussuri
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/requirements.txt 
new/python-magnumclient-3.2.1/requirements.txt
--- old/python-magnumclient-3.0.1/requirements.txt      2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/requirements.txt      2020-09-09 
18:21:30.000000000 +0200
@@ -4,7 +4,6 @@
 pbr!=2.1.0,>=2.0.0 # Apache-2.0
 
 Babel!=2.4.0,>=2.3.4 # BSD
-six>=1.10.0 # MIT
 keystoneauth1>=3.4.0 # Apache-2.0
 stevedore>=1.20.0 # Apache-2.0
 requests>=2.14.2 # Apache-2.0
@@ -15,5 +14,5 @@
 os-client-config>=1.28.0 # Apache-2.0
 osc-lib>=1.8.0 # Apache-2.0
 PrettyTable<0.8,>=0.7.2 # BSD
-cryptography>=2.1 # BSD/Apache-2.0
+cryptography>=3.0 # BSD/Apache-2.0
 decorator>=3.4.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/setup.cfg 
new/python-magnumclient-3.2.1/setup.cfg
--- old/python-magnumclient-3.0.1/setup.cfg     2020-07-01 12:14:33.000000000 
+0200
+++ new/python-magnumclient-3.2.1/setup.cfg     2020-09-09 18:22:52.000000000 
+0200
@@ -6,6 +6,7 @@
 author = OpenStack
 author-email = openstack-disc...@lists.openstack.org
 home-page = https://docs.openstack.org/python-magnumclient/latest/
+python-requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -13,10 +14,13 @@
        License :: OSI Approved :: Apache Software License
        Operating System :: POSIX :: Linux
        Programming Language :: Python
+       Programming Language :: Python :: Implementation :: CPython
+       Programming Language :: Python :: 3 :: Only
        Programming Language :: Python :: 2
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3.8
 
 [files]
 packages = 
@@ -74,9 +78,6 @@
 mapping_file = babel.cfg
 output_file = magnumclient/locale/magnumclient.pot
 
-[wheel]
-universal = 1
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/setup.py 
new/python-magnumclient-3.2.1/setup.py
--- old/python-magnumclient-3.0.1/setup.py      2020-07-01 12:13:08.000000000 
+0200
+++ new/python-magnumclient-3.2.1/setup.py      2020-09-09 18:21:30.000000000 
+0200
@@ -13,17 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
-    import multiprocessing  # noqa
-except ImportError:
-    pass
-
 setuptools.setup(
     setup_requires=['pbr>=2.0.0'],
     pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/test-requirements.txt 
new/python-magnumclient-3.2.1/test-requirements.txt
--- old/python-magnumclient-3.0.1/test-requirements.txt 2020-07-01 
12:13:08.000000000 +0200
+++ new/python-magnumclient-3.2.1/test-requirements.txt 2020-09-09 
18:21:30.000000000 +0200
@@ -1,7 +1,7 @@
 # The order of packages is significant, because pip processes them in the order
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
-hacking>=2.0,<2.1 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
 bandit!=1.6.0,>=1.1.0 # Apache-2.0
 coverage!=4.4,>=4.0 # Apache-2.0
 fixtures>=3.0.0 # Apache-2.0/BSD
@@ -11,4 +11,3 @@
 stestr>=2.0.0 # Apache-2.0
 testscenarios>=0.4 # Apache-2.0/BSD
 testtools>=2.2.0 # MIT
-mock>=2.0.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-magnumclient-3.0.1/tox.ini 
new/python-magnumclient-3.2.1/tox.ini
--- old/python-magnumclient-3.0.1/tox.ini       2020-07-01 12:13:08.000000000 
+0200
+++ new/python-magnumclient-3.2.1/tox.ini       2020-09-09 18:21:30.000000000 
+0200
@@ -11,7 +11,7 @@
    VIRTUAL_ENV={envdir}
    PYTHONWARNINGS=default::DeprecationWarning
 deps =
-       
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
+       
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
        -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 commands =
@@ -21,14 +21,14 @@
 [testenv:bandit]
 basepython = python3
 deps =
-  
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
+  
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
   -r{toxinidir}/test-requirements.txt
 commands = bandit -r magnumclient -x tests -n5 -ll
 
 [testenv:pypy]
 basepython = python3
 deps =
-       
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
+       
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
        setuptools<3.2
        -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt


Reply via email to