Hello community,

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

Package is "python-senlinclient"

Mon Oct 26 16:17:47 2020 rev:11 rq:841228 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-senlinclient/python-senlinclient.changes  
2020-07-15 11:30:58.741953239 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-senlinclient.new.3463/python-senlinclient.changes
        2020-10-26 16:18:55.059060810 +0100
@@ -1,0 +2,19 @@
+Fri Oct  9 19:19:20 UTC 2020 - cloud-de...@suse.de
+
+- update to version 2.1.1
+  - Remove translation sections from setup.cfg
+  - Update hacking for Python3
+  - [goal] Migrate testing to ubuntu focal
+  - Add Python3 victoria unit tests
+  - Native Zuul v3 port of the legacy functional job
+  - Bump default tox env from py37 to py38
+  - Update master for stable/ussuri
+  - Use unittest.mock instead of third party mock
+  - Add py38 package metadata
+  - Remove all usage of six library
+  - Switch to newer openstackdocstheme and reno versions
+  - Cleanup py27 support
+  - drop mock from lower-constraints
+  - Stop to use the __future__ module.
+
+-------------------------------------------------------------------

Old:
----
  python-senlinclient-2.0.1.tar.gz

New:
----
  python-senlinclient-2.1.1.tar.gz

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

Other differences:
------------------
++++++ python-senlinclient.spec ++++++
--- /var/tmp/diff_new_pack.eP9Pof/_old  2020-10-26 16:18:56.955062335 +0100
+++ /var/tmp/diff_new_pack.eP9Pof/_new  2020-10-26 16:18:56.959062339 +0100
@@ -17,24 +17,24 @@
 
 
 Name:           python-senlinclient
-Version:        2.0.1
+Version:        2.1.1
 Release:        0
 Summary:        Python API and CLI for OpenStack Senlin
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/python-senlinclient
-Source0:        
https://files.pythonhosted.org/packages/source/p/python-senlinclient/python-senlinclient-2.0.1.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/p/python-senlinclient/python-senlinclient-2.1.1.tar.gz
 BuildRequires:  openstack-macros
-BuildRequires:  python3-Babel >= 2.3.4
+BuildRequires:  python3-Babel
 BuildRequires:  python3-PrettyTable >= 0.7.2
-BuildRequires:  python3-PyYAML >= 3.12
+BuildRequires:  python3-PyYAML >= 3.13
 BuildRequires:  python3-devel
 BuildRequires:  python3-fixtures
 BuildRequires:  python3-heatclient >= 1.10.0
 BuildRequires:  python3-mock
 BuildRequires:  python3-openstackclient
 BuildRequires:  python3-openstacksdk >= 0.24.0
-BuildRequires:  python3-osc-lib >= 1.8.0
+BuildRequires:  python3-osc-lib >= 1.11.0
 BuildRequires:  python3-oslo.i18n >= 3.15.3
 BuildRequires:  python3-oslo.serialization >= 2.18.0
 BuildRequires:  python3-oslo.utils >= 3.33.0
@@ -54,20 +54,20 @@
 %package -n python3-senlinclient
 Summary:        Python API and CLI for OpenStack Senlin
 Group:          Development/Languages/Python
-Requires:       python3-Babel >= 2.3.4
+Requires:       python3-Babel
 Requires:       python3-PrettyTable >= 0.7.2
-Requires:       python3-PyYAML >= 3.12
+Requires:       python3-PyYAML >= 3.13
 Requires:       python3-heatclient >= 1.10.0
 Requires:       python3-keystoneauth1 >= 3.4.0
 Requires:       python3-openstackclient
 Requires:       python3-openstacksdk >= 0.24.0
-Requires:       python3-osc-lib >= 1.8.0
+Requires:       python3-osc-lib >= 1.11.0
 Requires:       python3-oslo.i18n >= 3.15.3
 Requires:       python3-oslo.serialization >= 2.18.0
 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
 
 %description -n python3-senlinclient
 OpenStack Clustering service Provisioning API Client Library
@@ -90,7 +90,7 @@
 auto-generated documentation.
 
 %prep
-%autosetup -p1 -n python-senlinclient-2.0.1
+%autosetup -p1 -n python-senlinclient-2.1.1
 %py_req_cleanup
 
 %build

++++++ _service ++++++
--- /var/tmp/diff_new_pack.eP9Pof/_old  2020-10-26 16:18:56.991062364 +0100
+++ /var/tmp/diff_new_pack.eP9Pof/_new  2020-10-26 16:18:56.991062364 +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-senlinclient/python-senlinclient.spec.j2</param>
+    <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/openstack/python-senlinclient/python-senlinclient.spec.j2</param>
     <param name="output-name">python-senlinclient.spec</param>
-    <param 
name="requirements">https://opendev.org/openstack/python-senlinclient/raw/branch/stable/ussuri/requirements.txt</param>
+    <param 
name="requirements">https://opendev.org/openstack/python-senlinclient/raw/branch/stable/victoria/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,python-senlinclient</param>
   </service>

++++++ python-senlinclient-2.0.1.tar.gz -> python-senlinclient-2.1.1.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/.zuul.yaml 
new/python-senlinclient-2.1.1/.zuul.yaml
--- old/python-senlinclient-2.0.1/.zuul.yaml    2020-04-08 14:09:09.000000000 
+0200
+++ new/python-senlinclient-2.1.1/.zuul.yaml    2020-09-14 16:18:53.000000000 
+0200
@@ -1,23 +1,42 @@
 - job:
-    name: senlinclient-dsvm-functional
-    parent: legacy-dsvm-base
-    run: playbooks/legacy/senlinclient-dsvm-functional/run.yaml
-    post-run: playbooks/legacy/senlinclient-dsvm-functional/post.yaml
-    timeout: 7200
+    name: senlinclient-functional
+    parent: devstack-tox-functional
     required-projects:
-      - openstack/devstack-gate
       - openstack/python-senlinclient
       - openstack/senlin
+    vars:
+      openrc_enable_export: true
+      devstack_plugins:
+        senlin: https://opendev.org/openstack/senlin
+      devstack_local_conf:
+        post-config:
+          $SENLIN_CONF:
+             DEFAULT:
+               cloud_backend: openstack_test
+               default_log_levels: >-
+                 amqp=WARN,amqplib=WARN,sqlalchemy=WARN,oslo_messaging=WARN
+                 ,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN
+                 ,urllib3.connectionpool=WARN
+                 
,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN
+                 ,keystonemiddleware=WARN
+                 ,routes.middleware=WARN
+                 ,stevedore=WARN
+                 ,oslo_messaging._drivers.amqp=WARN
+                 ,oslo_messaging._drivers.amqpdriver=WARN
+    irrelevant-files:
+      - ^senlinclient/tests/unit/.*$
+      - ^setup.cfg$
+      - ^tools/.*$
 
 - project:
     templates:
       - check-requirements
       - openstack-lower-constraints-jobs
-      - openstack-python3-ussuri-jobs
+      - openstack-python3-victoria-jobs
       - openstackclient-plugin-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
     check:
       jobs:
-        - senlinclient-dsvm-functional:
+        - senlinclient-functional:
             voting: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/AUTHORS 
new/python-senlinclient-2.1.1/AUTHORS
--- old/python-senlinclient-2.0.1/AUTHORS       2020-04-08 14:10:23.000000000 
+0200
+++ new/python-senlinclient-2.1.1/AUTHORS       2020-09-14 16:20:47.000000000 
+0200
@@ -19,6 +19,7 @@
 Haiwei Xu <hai...@xr.jp.nec.com>
 Haiwei Xu <xu-hai...@mxw.nes.nec.co.jp>
 Hangdong Zhang <hdzh...@fiberhome.com>
+Hervé Beraud <hber...@redhat.com>
 Hoang Trung Hieu <hie...@vn.fujitsu.com>
 Ian Wienand <iwien...@redhat.com>
 James E. Blair <jebl...@redhat.com>
@@ -30,6 +31,7 @@
 LiuNanke <nanke....@easystack.cn>
 Liuqing Jing <lawrancej...@gmail.com>
 Lu lei <lei...@easystack.cn>
+Luigi Toscano <ltosc...@redhat.com>
 Monty Taylor <mord...@inaugust.com>
 Navneet Gupta <navn...@us.ibm.com>
 Nguyen Hai <nguyentriha...@gmail.com>
@@ -40,6 +42,7 @@
 Qiming <teng...@cn.ibm.com>
 Qiming Teng <teng...@cn.ibm.com>
 Saju <sanjuf...@gmail.com>
+Sean McGinnis <sean.mcgin...@gmail.com>
 Sharat Sharma <sharat.sha...@nectechnologies.in>
 Tang Chen <chen.t...@easystack.cn>
 Thomas Bechtold <tbecht...@suse.com>
@@ -73,6 +76,7 @@
 lawrancejing <lawrancej...@gmail.com>
 liyi <liyi8...@gmail.com>
 lvdongbing <dongbing...@kylin-cloud.com>
+malei <malei@maleideMacBook-Pro.local>
 mathspanda <mathspanda...@gmail.com>
 miaohb <miao.hong...@zte.com.cn>
 pallavi <pallav...@nectechnologies.in>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/ChangeLog 
new/python-senlinclient-2.1.1/ChangeLog
--- old/python-senlinclient-2.0.1/ChangeLog     2020-04-08 14:10:23.000000000 
+0200
+++ new/python-senlinclient-2.1.1/ChangeLog     2020-09-14 16:20:47.000000000 
+0200
@@ -1,6 +1,28 @@
 CHANGES
 =======
 
+2.1.1
+-----
+
+* Native Zuul v3 port of the legacy functional job
+* [goal] Migrate testing to ubuntu focal
+* drop mock from lower-constraints
+* Stop to use the \_\_future\_\_ module
+
+2.1.0
+-----
+
+* Switch to newer openstackdocstheme and reno versions
+* Remove translation sections from setup.cfg
+* Update hacking for Python3
+* Remove all usage of six library
+* Bump default tox env from py37 to py38
+* Add py38 package metadata
+* Use unittest.mock instead of third party mock
+* Add Python3 victoria unit tests
+* Update master for stable/ussuri
+* Cleanup py27 support
+
 2.0.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/PKG-INFO 
new/python-senlinclient-2.1.1/PKG-INFO
--- old/python-senlinclient-2.0.1/PKG-INFO      2020-04-08 14:10:24.000000000 
+0200
+++ new/python-senlinclient-2.1.1/PKG-INFO      2020-09-14 16:20:47.000000000 
+0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: python-senlinclient
-Version: 2.0.1
+Version: 2.1.1
 Summary: OpenStack Clustering API Client Library
 Home-page: https://docs.openstack.org/python-senlinclient/latest/
 Author: OpenStack
@@ -33,6 +33,10 @@
 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 :: 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-senlinclient-2.0.1/babel.cfg 
new/python-senlinclient-2.1.1/babel.cfg
--- old/python-senlinclient-2.0.1/babel.cfg     2020-04-08 14:09:09.000000000 
+0200
+++ new/python-senlinclient-2.1.1/babel.cfg     1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-[python: **.py]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/doc/requirements.txt 
new/python-senlinclient-2.1.1/doc/requirements.txt
--- old/python-senlinclient-2.0.1/doc/requirements.txt  2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/doc/requirements.txt  2020-09-14 
16:18:53.000000000 +0200
@@ -1,6 +1,6 @@
 # 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.
-openstackdocstheme>=1.18.1 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-reno>=2.5.0 # Apache-2.0
+openstackdocstheme>=2.2.1 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+reno>=3.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/doc/source/conf.py 
new/python-senlinclient-2.1.1/doc/source/conf.py
--- old/python-senlinclient-2.0.1/doc/source/conf.py    2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/doc/source/conf.py    2020-09-14 
16:18:53.000000000 +0200
@@ -35,10 +35,9 @@
 master_doc = 'index'
 
 # openstackdocstheme options
-repository_name = 'openstack/python-senlinclient'
-bug_project = 'python-senlinclient'
-bug_tag = ''
-project = 'python-senlinclient'
+openstackdocs_repo_name = 'openstack/python-senlinclient'
+openstackdocs_bug_project = 'python-senlinclient'
+openstackdocs_bug_tag = ''
 copyright = 'OpenStack Contributors'
 
 # List of directories, relative to source directory, that shouldn't be searched
@@ -53,7 +52,7 @@
 add_module_names = True
 
 # The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = 'native'
 
 # -- Options for HTML output --------------------------------------------------
 
@@ -61,12 +60,6 @@
 # Sphinx are currently 'default' and 'sphinxdoc'.
 html_theme = 'openstackdocs'
 
-# -- Options for openstackdocstheme -------------------------------------------
-
-repository_name = 'openstack/python-senlinclient'
-bug_project = 'python-senlinclient'
-bug_tag = ''
-
 # -- Options for manual page output ------------------------------------------
 
 # One entry per manual page. List of tuples
@@ -75,6 +68,3 @@
     ('index', 'senlin', 'OpenStack Senlin command line client',
      ['OpenStack Contributors'], 1),
 ]
-
-# Last updated
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/lower-constraints.txt 
new/python-senlinclient-2.1.1/lower-constraints.txt
--- old/python-senlinclient-2.0.1/lower-constraints.txt 2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/lower-constraints.txt 2020-09-14 
16:18:53.000000000 +0200
@@ -1,17 +1,16 @@
 alabaster==0.7.10
 appdirs==1.3.0
 asn1crypto==0.23.0
-Babel==2.3.4
-cffi==1.7.0
+cffi==1.14.0
 cliff==2.8.0
 cmd2==0.8.0
 coverage==4.0
-cryptography==2.1
+cryptography==2.7
 debtcollector==1.2.0
-decorator==3.4.0
+decorator==4.1.0
 deprecation==1.0
 docutils==0.11
-dogpile.cache==0.6.2
+dogpile.cache==0.8.0
 dulwich==0.15.0
 extras==1.0.0
 fasteners==0.7.0
@@ -31,19 +30,17 @@
 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
+netaddr==0.8.0
 netifaces==0.10.4
-openstackdocstheme==1.18.1
 openstacksdk==0.24.0
 os-client-config==1.28.0
 os-service-types==1.2.0
 os-testr==1.0.0
-osc-lib==1.8.0
+osc-lib==1.11.0
 oslo.concurrency==3.25.0
 oslo.config==5.2.0
 oslo.context==2.19.2
@@ -76,18 +73,14 @@
 python-subunit==1.0.0
 python-swiftclient==3.2.0
 pytz==2013.6
-PyYAML==3.12
-reno==2.5.0
+PyYAML==3.13
 requests==2.14.2
 requests-mock==1.2.0
 requestsexceptions==1.2.0
 rfc3986==0.3.1
 setuptools==21.0.0
 simplejson==3.5.1
-six==1.10.0
 snowballstemmer==1.2.1
-Sphinx==1.6.5
-sphinxcontrib-websupport==1.0.1
 stestr==2.0.0
 stevedore==1.20.0
 tempest==17.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/playbooks/legacy/senlinclient-dsvm-functional/post.yaml
 
new/python-senlinclient-2.1.1/playbooks/legacy/senlinclient-dsvm-functional/post.yaml
--- 
old/python-senlinclient-2.0.1/playbooks/legacy/senlinclient-dsvm-functional/post.yaml
       2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/playbooks/legacy/senlinclient-dsvm-functional/post.yaml
       1970-01-01 01:00:00.000000000 +0100
@@ -1,67 +0,0 @@
-- hosts: primary
-  tasks:
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=**/*nose_results.html
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=**/*testr_results.html.gz
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=**/*testrepository.subunit.gz
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}/tox'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=/.tox/*/log/*
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=/logs/**
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/playbooks/legacy/senlinclient-dsvm-functional/run.yaml
 
new/python-senlinclient-2.1.1/playbooks/legacy/senlinclient-dsvm-functional/run.yaml
--- 
old/python-senlinclient-2.0.1/playbooks/legacy/senlinclient-dsvm-functional/run.yaml
        2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/playbooks/legacy/senlinclient-dsvm-functional/run.yaml
        1970-01-01 01:00:00.000000000 +0100
@@ -1,71 +0,0 @@
-- hosts: all
-  name: Autoconverted job legacy-senlinclient-dsvm-functional from old job 
gate-senlinclient-dsvm-functional-nv
-  tasks:
-
-    - name: Ensure legacy workspace directory
-      file:
-        path: '{{ ansible_user_dir }}/workspace'
-        state: directory
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat > clonemap.yaml << EOF
-          clonemap:
-            - name: openstack/devstack-gate
-              dest: devstack-gate
-          EOF
-          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
-              https://opendev.org \
-              openstack/devstack-gate
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat << 'EOF' >>"/tmp/dg-local.conf"
-          [[local|localrc]]
-          enable_plugin senlin https://opendev.org/openstack/senlin
-          enable_service sl-api sl-eng
-          USE_PYTHON3=True
-
-          EOF
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          export PYTHONUNBUFFERED=true
-          export BRANCH_OVERRIDE=default
-          export KEEP_LOCALRC=1
-          export PROJECTS="openstack/senlin $PROJECTS"
-          export DEVSTACK_PROJECT_FROM_GIT=python-senlinclient
-          export SENLIN_BACKEND="openstack_test"
-          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
-              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
-          fi
-
-          function pre_test_hook {
-              cd 
/opt/stack/new/python-senlinclient/senlinclient/tests/functional/hooks/
-              ./pre_test_hook.sh
-          }
-          export -f pre_test_hook
-
-          function post_test_hook {
-              cd 
/opt/stack/new/python-senlinclient/senlinclient/tests/functional/hooks/
-              ./post_test_hook.sh
-          }
-          export -f post_test_hook
-
-          cp devstack-gate/devstack-vm-gate-wrap.sh 
./safe-devstack-vm-gate-wrap.sh
-          ./safe-devstack-vm-gate-wrap.sh
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/python_senlinclient.egg-info/PKG-INFO 
new/python-senlinclient-2.1.1/python_senlinclient.egg-info/PKG-INFO
--- old/python-senlinclient-2.0.1/python_senlinclient.egg-info/PKG-INFO 
2020-04-08 14:10:23.000000000 +0200
+++ new/python-senlinclient-2.1.1/python_senlinclient.egg-info/PKG-INFO 
2020-09-14 16:20:47.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: python-senlinclient
-Version: 2.0.1
+Version: 2.1.1
 Summary: OpenStack Clustering API Client Library
 Home-page: https://docs.openstack.org/python-senlinclient/latest/
 Author: OpenStack
@@ -33,6 +33,10 @@
 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 :: 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-senlinclient-2.0.1/python_senlinclient.egg-info/SOURCES.txt 
new/python-senlinclient-2.1.1/python_senlinclient.egg-info/SOURCES.txt
--- old/python-senlinclient-2.0.1/python_senlinclient.egg-info/SOURCES.txt      
2020-04-08 14:10:24.000000000 +0200
+++ new/python-senlinclient-2.1.1/python_senlinclient.egg-info/SOURCES.txt      
2020-09-14 16:20:47.000000000 +0200
@@ -6,7 +6,6 @@
 LICENSE
 README.rst
 TODO
-babel.cfg
 bindep.txt
 lower-constraints.txt
 requirements.txt
@@ -22,8 +21,6 @@
 doc/source/cli/index.rst
 doc/source/contributor/index.rst
 doc/source/install/index.rst
-playbooks/legacy/senlinclient-dsvm-functional/post.yaml
-playbooks/legacy/senlinclient-dsvm-functional/run.yaml
 python_senlinclient.egg-info/PKG-INFO
 python_senlinclient.egg-info/SOURCES.txt
 python_senlinclient.egg-info/dependency_links.txt
@@ -65,6 +62,7 @@
 releasenotes/source/stein.rst
 releasenotes/source/train.rst
 releasenotes/source/unreleased.rst
+releasenotes/source/ussuri.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
 releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
@@ -95,8 +93,6 @@
 senlinclient/tests/functional/test_readonly_senlin.py
 senlinclient/tests/functional/test_receivers.py
 senlinclient/tests/functional/test_version.py
-senlinclient/tests/functional/hooks/post_test_hook.sh
-senlinclient/tests/functional/hooks/pre_test_hook.sh
 senlinclient/tests/functional/policies/deletion_policy.yaml
 senlinclient/tests/functional/profiles/cirros_basic.yaml
 senlinclient/tests/test_specs/deletion_policy.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/python_senlinclient.egg-info/pbr.json 
new/python-senlinclient-2.1.1/python_senlinclient.egg-info/pbr.json
--- old/python-senlinclient-2.0.1/python_senlinclient.egg-info/pbr.json 
2020-04-08 14:10:23.000000000 +0200
+++ new/python-senlinclient-2.1.1/python_senlinclient.egg-info/pbr.json 
2020-09-14 16:20:47.000000000 +0200
@@ -1 +1 @@
-{"git_version": "d943036", "is_release": true}
\ No newline at end of file
+{"git_version": "1353035", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/python_senlinclient.egg-info/requires.txt 
new/python-senlinclient-2.1.1/python_senlinclient.egg-info/requires.txt
--- old/python-senlinclient-2.0.1/python_senlinclient.egg-info/requires.txt     
2020-04-08 14:10:23.000000000 +0200
+++ new/python-senlinclient-2.1.1/python_senlinclient.egg-info/requires.txt     
2020-09-14 16:20:47.000000000 +0200
@@ -1,13 +1,11 @@
-Babel!=2.4.0,>=2.3.4
-pbr!=2.1.0,>=2.0.0
 PrettyTable<0.8,>=0.7.2
+PyYAML>=3.13
 keystoneauth1>=3.4.0
 openstacksdk>=0.24.0
-osc-lib>=1.8.0
+osc-lib>=1.11.0
 oslo.i18n>=3.15.3
 oslo.serialization!=2.19.1,>=2.18.0
 oslo.utils>=3.33.0
+pbr!=2.1.0,>=2.0.0
 python-heatclient>=1.10.0
-PyYAML>=3.12
 requests>=2.14.2
-six>=1.10.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/releasenotes/source/conf.py 
new/python-senlinclient-2.1.1/releasenotes/source/conf.py
--- old/python-senlinclient-2.0.1/releasenotes/source/conf.py   2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/releasenotes/source/conf.py   2020-09-14 
16:18:53.000000000 +0200
@@ -93,7 +93,7 @@
 # show_authors = False
 
 # The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
+pygments_style = 'native'
 
 # A list of ignored prefixes for module index sorting.
 # modindex_common_prefix = []
@@ -109,9 +109,10 @@
 html_theme = 'openstackdocs'
 
 # openstackdocstheme options
-repository_name = 'openstack/python-senlinclient'
-bug_project = 'python-senlinclient'
-bug_tag = ''
+openstackdocs_repo_name = 'openstack/python-senlinclient'
+openstackdocs_bug_project = 'python-senlinclient'
+openstackdocs_bug_tag = ''
+openstackdocs_auto_name = False
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -147,9 +148,6 @@
 # directly to the root of the documentation.
 # html_extra_path = []
 
-# Must set this variable to include year, month, day, hours, and minutes.
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
-
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
 # html_use_smartypants = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/releasenotes/source/index.rst 
new/python-senlinclient-2.1.1/releasenotes/source/index.rst
--- old/python-senlinclient-2.0.1/releasenotes/source/index.rst 2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/releasenotes/source/index.rst 2020-09-14 
16:18:53.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-senlinclient-2.0.1/releasenotes/source/ussuri.rst 
new/python-senlinclient-2.1.1/releasenotes/source/ussuri.rst
--- old/python-senlinclient-2.0.1/releasenotes/source/ussuri.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/python-senlinclient-2.1.1/releasenotes/source/ussuri.rst        
2020-09-14 16:18:53.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-senlinclient-2.0.1/requirements.txt 
new/python-senlinclient-2.1.1/requirements.txt
--- old/python-senlinclient-2.0.1/requirements.txt      2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/requirements.txt      2020-09-14 
16:18:53.000000000 +0200
@@ -2,16 +2,14 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-Babel!=2.4.0,>=2.3.4 # BSD
 pbr!=2.1.0,>=2.0.0 # Apache-2.0
 PrettyTable<0.8,>=0.7.2 # BSD
 keystoneauth1>=3.4.0 # Apache-2.0
 openstacksdk>=0.24.0 # Apache-2.0
-osc-lib>=1.8.0 # Apache-2.0
+osc-lib>=1.11.0 # Apache-2.0
 oslo.i18n>=3.15.3 # Apache-2.0
 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
 python-heatclient>=1.10.0 # Apache-2.0
-PyYAML>=3.12 # MIT
+PyYAML>=3.13 # MIT
 requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/senlinclient/common/exc.py 
new/python-senlinclient-2.1.1/senlinclient/common/exc.py
--- old/python-senlinclient-2.0.1/senlinclient/common/exc.py    2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/common/exc.py    2020-09-14 
16:18:53.000000000 +0200
@@ -15,7 +15,6 @@
 from openstack import exceptions as sdkexc
 from oslo_serialization import jsonutils
 from requests import exceptions as reqexc
-import six
 
 from senlinclient.common.i18n import _
 
@@ -272,7 +271,7 @@
             }
         }
 
-    elif isinstance(exc, six.string_types):
+    elif isinstance(exc, str):
         record = jsonutils.loads(exc)
     # some exception from keystoneauth1 is not shaped by SDK
     elif isinstance(exc, kae_http.HttpError):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/common/utils.py 
new/python-senlinclient-2.1.1/senlinclient/common/utils.py
--- old/python-senlinclient-2.0.1/senlinclient/common/utils.py  2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/common/utils.py  2020-09-14 
16:18:53.000000000 +0200
@@ -10,14 +10,11 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-from __future__ import print_function
-
 
 from heatclient.common import template_utils
 from oslo_serialization import jsonutils
 from oslo_utils import importutils
 import prettytable
-import six
 import yaml
 
 from senlinclient.common import exc
@@ -42,7 +39,7 @@
     keys = sorted(d.keys())
     for field in keys:
         value = d[field]
-        if not isinstance(value, six.string_types):
+        if not isinstance(value, str):
             value = jsonutils.dumps(value, indent=2, ensure_ascii=False)
         if value is None:
             value = '-'
@@ -122,7 +119,7 @@
             data = yaml.safe_load(f)
         except Exception as ex:
             raise exc.CommandError(_('The specified file is not a valid '
-                                     'YAML file: %s') % six.text_type(ex))
+                                     'YAML file: %s') % str(ex))
     return data
 
 
@@ -133,7 +130,7 @@
         tmplfile = spec.get('template', None)
     except AttributeError as ex:
         raise exc.FileFormatError(_('The specified file is not a valid '
-                                    'YAML file: %s') % six.text_type(ex))
+                                    'YAML file: %s') % str(ex))
     if not tmplfile:
         raise exc.FileFormatError(_('No template found in the given '
                                     'spec file'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/functional/base.py 
new/python-senlinclient-2.1.1/senlinclient/tests/functional/base.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/functional/base.py 
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/functional/base.py 
2020-09-14 16:18:53.000000000 +0200
@@ -11,7 +11,6 @@
 # under the License.
 
 import os
-import six
 import time
 
 from oslo_utils import uuidutils
@@ -35,7 +34,8 @@
         return base.CLIClient(
             username=os.environ.get('OS_USERNAME'),
             password=os.environ.get('OS_PASSWORD'),
-            tenant_name=os.environ.get('OS_TENANT_NAME'),
+            tenant_name=os.environ.get('OS_PROJECT_NAME',
+                                       os.environ.get('OS_TENANT_NAME')),
             uri=os.environ.get('OS_AUTH_URL'),
             cli_dir=cli_dir)
 
@@ -46,7 +46,7 @@
         obj = {}
         items = self.parser.listing(output)
         for item in items:
-            obj[item['Field']] = six.text_type(item['Value'])
+            obj[item['Field']] = str(item['Value'])
         return dict((self._key_name(k), v) for k, v in obj.items())
 
     def _key_name(self, key):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/functional/hooks/post_test_hook.sh
 
new/python-senlinclient-2.1.1/senlinclient/tests/functional/hooks/post_test_hook.sh
--- 
old/python-senlinclient-2.0.1/senlinclient/tests/functional/hooks/post_test_hook.sh
 2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/senlinclient/tests/functional/hooks/post_test_hook.sh
 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-#!/bin/bash -xe
-
-# 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.
-
-# This script is executed inside post_test_hook function in devstack gate.
-
-export SENLINCLIENT_DIR="$BASE/new/python-senlinclient"
-
-source $BASE/new/devstack/openrc admin admin
-
-cd $SENLINCLIENT_DIR
-
-sudo -E chown -R $USER:stack $SENLINCLIENT_DIR
-
-# Run tests
-echo "Running senlinclient functional test."
-set +e
-
-sudo -E -H -u $USER tox -efunctional
-RESULT=$?
-
-set -e
-echo "Completed running senlinclient functional test."
-
-exit $RESULT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/functional/hooks/pre_test_hook.sh
 
new/python-senlinclient-2.1.1/senlinclient/tests/functional/hooks/pre_test_hook.sh
--- 
old/python-senlinclient-2.0.1/senlinclient/tests/functional/hooks/pre_test_hook.sh
  2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/senlinclient/tests/functional/hooks/pre_test_hook.sh
  1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-#!/bin/bash -xe
-#
-# 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.
-
-# This script is executed inside pre_test_hook function in devstack gate.
-
-export localconf=$BASE/new/devstack/local.conf
-export SENLIN_CONF=/etc/senlin/senlin.conf
-export SENLIN_BACKEND=${SENLIN_BACKEND:-'openstack_test'}
-
-_LOG_CFG='default_log_levels ='
-_LOG_CFG+='amqp=WARN,amqplib=WARN,sqlalchemy=WARN,oslo_messaging=WARN'
-_LOG_CFG+=',iso8601=WARN,requests.packages.urllib3.connectionpool=WARN'
-_LOG_CFG+=',urllib3.connectionpool=WARN'
-_LOG_CFG+=',requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN'
-_LOG_CFG+=',keystonemiddleware=WARN'
-_LOG_CFG+=',routes.middleware=WARN'
-_LOG_CFG+=',stevedore=WARN'
-_LOG_CFG+=',oslo_messaging._drivers.amqp=WARN'
-_LOG_CFG+=',oslo_messaging._drivers.amqpdriver=WARN'
-
-echo -e '[[post-config|$SENLIN_CONF]]\n[DEFAULT]\n' >> $localconf
-echo -e "cloud_backend=$SENLIN_BACKEND\n" >> $localconf
-echo -e $_LOG_CFG >> $localconf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/test_plugin.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/test_plugin.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/test_plugin.py        
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/test_plugin.py        
2020-09-14 16:18:53.000000000 +0200
@@ -10,9 +10,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-import mock
 from openstack import connection as sdk_connection
 import testtools
+from unittest import mock
 
 from senlinclient import plugin
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/test_utils.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/test_utils.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/test_utils.py 
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/test_utils.py 
2020-09-14 16:18:53.000000000 +0200
@@ -11,8 +11,8 @@
 # under the License.
 
 from heatclient.common import template_utils
-import mock
-import six
+from unittest import mock
+
 import testtools
 
 from senlinclient.common import exc
@@ -48,7 +48,7 @@
                                params)
         msg = _('Malformed parameter(status:ACTIVE). '
                 'Use the key=value format.')
-        self.assertEqual(msg, six.text_type(ex))
+        self.assertEqual(msg, str(ex))
 
     @mock.patch.object(template_utils,
                        'process_multiple_environments_and_files')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/fakes.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/fakes.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/fakes.py   
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/fakes.py   
2020-09-14 16:18:53.000000000 +0200
@@ -11,8 +11,8 @@
 # under the License.
 
 import sys
+from unittest import mock
 
-import mock
 from osc_lib.tests import utils
 import requests
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_action.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_action.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_action.py     
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_action.py     
2020-09-14 16:18:53.000000000 +0200
@@ -11,8 +11,8 @@
 # under the License.
 
 import copy
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_build_info.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_build_info.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_build_info.py 
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_build_info.py 
2020-09-14 16:18:53.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 senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import build_info as osc_build_info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_client.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_client.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_client.py     
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_client.py     
2020-09-14 16:18:53.000000000 +0200
@@ -10,8 +10,8 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-import mock
 import testtools
+from unittest import mock
 
 from senlinclient import plugin
 from senlinclient.v1 import client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_cluster.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_cluster.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_cluster.py    
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_cluster.py    
2020-09-14 16:18:53.000000000 +0200
@@ -11,12 +11,12 @@
 # under the License.
 
 import copy
+import io
 import subprocess
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
-import six
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import cluster as osc_cluster
@@ -393,7 +393,7 @@
              mock.call('cluster2', False, False)]
         )
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_cluster_delete_prompt_yes(self, mock_stdin):
         arglist = ['my_cluster']
         mock_stdin.isatty.return_value = True
@@ -406,7 +406,7 @@
         self.mock_client.delete_cluster.assert_called_with(
             'my_cluster', False, False)
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_cluster_delete_prompt_no(self, mock_stdin):
         arglist = ['my_cluster']
         mock_stdin.isatty.return_value = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_cluster_policy.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_cluster_policy.py
--- 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_cluster_policy.py 
    2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_cluster_policy.py 
    2020-09-14 16:18:53.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 senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import cluster_policy as osc_cluster_policy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_event.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_event.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_event.py      
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_event.py      
2020-09-14 16:18:53.000000000 +0200
@@ -11,8 +11,8 @@
 # under the License.
 
 import copy
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_node.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_node.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_node.py       
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_node.py       
2020-09-14 16:18:53.000000000 +0200
@@ -11,11 +11,11 @@
 # under the License.
 
 import copy
+import io
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
-import six
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import node as osc_node
@@ -394,7 +394,7 @@
              mock.call('node2', False, False)]
         )
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_node_delete_prompt_yes(self, mock_stdin):
         arglist = ['my_node']
         mock_stdin.isatty.return_value = True
@@ -407,7 +407,7 @@
         self.mock_client.delete_node.assert_called_with(
             'my_node', False, False)
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_node_delete_prompt_no(self, mock_stdin):
         arglist = ['my_node']
         mock_stdin.isatty.return_value = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_policy.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_policy.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_policy.py     
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_policy.py     
2020-09-14 16:18:53.000000000 +0200
@@ -11,11 +11,11 @@
 # under the License.
 
 import copy
+import io
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
-import six
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import policy as osc_policy
@@ -353,7 +353,7 @@
         self.assertEqual('Failed to delete 1 of the 2 specified policy(s).',
                          str(error))
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_policy_delete_prompt_yes(self, mock_stdin):
         arglist = ['my_policy']
         mock_stdin.isatty.return_value = True
@@ -366,7 +366,7 @@
         self.mock_client.delete_policy.assert_called_with('my_policy',
                                                           False)
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_policy_delete_prompt_no(self, mock_stdin):
         arglist = ['my_policy']
         mock_stdin.isatty.return_value = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_policy_type.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_policy_type.py
--- 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_policy_type.py    
    2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_policy_type.py    
    2020-09-14 16:18:53.000000000 +0200
@@ -10,9 +10,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
+from unittest import mock
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import policy_type as osc_policy_type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_profile.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_profile.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_profile.py    
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_profile.py    
2020-09-14 16:18:53.000000000 +0200
@@ -11,12 +11,12 @@
 # under the License.
 
 import copy
+import io
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
 from osc_lib import utils
-import six
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import profile as osc_profile
@@ -264,7 +264,7 @@
         self.assertEqual('Failed to delete 1 of the 2 specified profile(s).',
                          str(error))
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_profile_delete_prompt_yes(self, mock_stdin):
         arglist = ['my_profile']
         mock_stdin.isatty.return_value = True
@@ -277,7 +277,7 @@
         self.mock_client.delete_profile.assert_called_with('my_profile',
                                                            False)
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_profile_delete_prompt_no(self, mock_stdin):
         arglist = ['my_profile']
         mock_stdin.isatty.return_value = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_profile_type.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_profile_type.py
--- 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_profile_type.py   
    2020-04-08 14:09:09.000000000 +0200
+++ 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_profile_type.py   
    2020-09-14 16:18:53.000000000 +0200
@@ -10,9 +10,9 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
+from unittest import mock
 
 from senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import profile_type as osc_profile_type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_receiver.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_receiver.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_receiver.py   
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_receiver.py   
2020-09-14 16:18:53.000000000 +0200
@@ -11,12 +11,12 @@
 # under the License.
 
 import copy
+import io
+from unittest import mock
 
-import mock
 from openstack import exceptions as sdk_exc
 from osc_lib import exceptions as exc
 from osc_lib import utils
-import six
 
 from senlinclient.common.i18n import _
 from senlinclient.tests.unit.v1 import fakes
@@ -347,7 +347,7 @@
         self.assertEqual('Failed to delete 1 of the 2 specified receiver(s).',
                          str(error))
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_receiver_delete_prompt_yes(self, mock_stdin):
         arglist = ['my_receiver']
         mock_stdin.isatty.return_value = True
@@ -360,7 +360,7 @@
         self.mock_client.delete_receiver.assert_called_with('my_receiver',
                                                             False)
 
-    @mock.patch('sys.stdin', spec=six.StringIO)
+    @mock.patch('sys.stdin', spec=io.StringIO)
     def test_receiver_delete_prompt_no(self, mock_stdin):
         arglist = ['my_receiver']
         mock_stdin.isatty.return_value = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_service.py 
new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_service.py
--- old/python-senlinclient-2.0.1/senlinclient/tests/unit/v1/test_service.py    
2020-04-08 14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/tests/unit/v1/test_service.py    
2020-09-14 16:18:53.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 senlinclient.tests.unit.v1 import fakes
 from senlinclient.v1 import service as osc_service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/senlinclient/v1/cluster.py 
new/python-senlinclient-2.1.1/senlinclient/v1/cluster.py
--- old/python-senlinclient-2.0.1/senlinclient/v1/cluster.py    2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/v1/cluster.py    2020-09-14 
16:18:53.000000000 +0200
@@ -23,7 +23,6 @@
 from osc_lib import exceptions as exc
 from osc_lib import utils
 from oslo_utils import strutils
-import six
 
 from senlinclient.common.i18n import _
 from senlinclient.common import utils as senlin_utils
@@ -363,7 +362,7 @@
                     cid, False, parsed_args.force_delete)
                 result[cid] = ('OK', cluster_delete_action['id'])
             except Exception as ex:
-                result[cid] = ('ERROR', six.text_type(ex))
+                result[cid] = ('ERROR', str(ex))
 
         for rid, res in result.items():
             senlin_utils.print_action_result(rid, res)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/senlinclient/v1/node.py 
new/python-senlinclient-2.1.1/senlinclient/v1/node.py
--- old/python-senlinclient-2.0.1/senlinclient/v1/node.py       2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/senlinclient/v1/node.py       2020-09-14 
16:18:53.000000000 +0200
@@ -20,7 +20,6 @@
 from osc_lib import exceptions as exc
 from osc_lib import utils
 from oslo_utils import strutils
-import six
 
 from senlinclient.common.i18n import _
 from senlinclient.common import utils as senlin_utils
@@ -349,7 +348,7 @@
                     nid, False, parsed_args.force_delete)
                 result[nid] = ('OK', node_delete_action['id'])
             except Exception as ex:
-                result[nid] = ('ERROR', six.text_type(ex))
+                result[nid] = ('ERROR', str(ex))
 
         for rid, res in result.items():
             senlin_utils.print_action_result(rid, res)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/setup.cfg 
new/python-senlinclient-2.1.1/setup.cfg
--- old/python-senlinclient-2.0.1/setup.cfg     2020-04-08 14:10:24.000000000 
+0200
+++ new/python-senlinclient-2.1.1/setup.cfg     2020-09-14 16:20:47.000000000 
+0200
@@ -6,6 +6,7 @@
 author = OpenStack
 author-email = openstack-disc...@lists.openstack.org
 home-page = https://docs.openstack.org/python-senlinclient/latest/
+python-requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -13,9 +14,12 @@
        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 :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3.8
 
 [files]
 packages = 
@@ -86,27 +90,6 @@
        cluster_service_list = senlinclient.v1.service:ListService
        cluster_op = senlinclient.v1.cluster:ClusterOp
 
-[global]
-setup-hooks = 
-       pbr.hooks.setup_hook
-
-[wheel]
-universal = 1
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = senlinclient/locale/senlinclient.pot
-
-[compile_catalog]
-directory = senlinclient/locale
-domain = senlinclient
-
-[update_catalog]
-domain = senlinclient
-output_dir = senlinclient/locale
-input_file = senlinclient/locale/senlinclient.pot
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/setup.py 
new/python-senlinclient-2.1.1/setup.py
--- old/python-senlinclient-2.0.1/setup.py      2020-04-08 14:09:09.000000000 
+0200
+++ new/python-senlinclient-2.1.1/setup.py      2020-09-14 16:18:53.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-senlinclient-2.0.1/test-requirements.txt 
new/python-senlinclient-2.1.1/test-requirements.txt
--- old/python-senlinclient-2.0.1/test-requirements.txt 2020-04-08 
14:09:09.000000000 +0200
+++ new/python-senlinclient-2.1.1/test-requirements.txt 2020-09-14 
16:18:53.000000000 +0200
@@ -4,11 +4,10 @@
 
 # Hacking already pins down pep8, pyflakes and flake8
 bandit>=1.1.0 # Apache-2.0
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
 coverage!=4.4,>=4.0 # Apache-2.0
 fixtures>=3.0.0 # Apache-2.0/BSD
 requests-mock>=1.2.0 # Apache-2.0
-mock>=2.0.0 # BSD
 python-openstackclient>=3.12.0 # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
 
setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0
 # PSF/ZPL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-senlinclient-2.0.1/tox.ini 
new/python-senlinclient-2.1.1/tox.ini
--- old/python-senlinclient-2.0.1/tox.ini       2020-04-08 14:09:09.000000000 
+0200
+++ new/python-senlinclient-2.1.1/tox.ini       2020-09-14 16:18:53.000000000 
+0200
@@ -1,5 +1,5 @@
 [tox]
-envlist = py37,pep8,releasenotes
+envlist = py38,pep8,releasenotes
 minversion = 3.1.1
 skipsdist = True
 ignore_basepython_conflict = True
@@ -67,7 +67,9 @@
 commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
 
 [flake8]
-ignore = 
D100,D101,D102,D103,D104,D105,D200,D201,D202,D204,D205,D300,D301,D400,D401,I100,I201
+# W504 line break after binary operator
+
+ignore = 
D100,D101,D102,D103,D104,D105,D200,D201,D202,D204,D205,D300,D301,D400,D401,I100,I201,W504
 show-source = True
 enable-extensions = H203,H106
 exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build


Reply via email to