Hello community,

here is the log from the commit of package python-watcherclient for 
openSUSE:Factory checked in at 2019-05-03 22:43:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-watcherclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-watcherclient.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-watcherclient"

Fri May  3 22:43:26 2019 rev:2 rq:692883 version:2.2.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-watcherclient/python-watcherclient.changes    
    2019-02-08 12:14:41.661440257 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-watcherclient.new.5148/python-watcherclient.changes
      2019-05-03 22:43:27.791372412 +0200
@@ -1,0 +2,17 @@
+Mon Apr  8 12:07:23 UTC 2019 - [email protected]
+
+- update to version 2.2.0
+  - Use templates lower-constraints, remove cover
+  - Allow CLI to pass goal and strategy names
+  - Add audit name to CLI help doc
+  - Switch to stestr
+  - fix watcher actionplan show command
+  - Add --marker help info
+  - Update watcher strategy state in CLI
+  - switch documentation job to new PTI
+  - add python 3.6 unit test job
+  - Organize the use of 'log' and replace 'log' with LOG
+  - Fix watherclient error in py3
+  - import zuul job settings from project-config
+
+-------------------------------------------------------------------

Old:
----
  python-watcherclient-2.1.0.tar.gz

New:
----
  python-watcherclient-2.2.0.tar.gz

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

Other differences:
------------------
++++++ python-watcherclient.spec ++++++
--- /var/tmp/diff_new_pack.hMeZRo/_old  2019-05-03 22:43:28.167373203 +0200
+++ /var/tmp/diff_new_pack.hMeZRo/_new  2019-05-03 22:43:28.167373203 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-watcherclient
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        Python API and CLI for OpenStack Watcher
 License:        Apache-2.0
@@ -26,33 +26,32 @@
 Source0:        
https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz
 BuildRequires:  openstack-macros
 BuildRequires:  openstack-tempest
-BuildRequires:  python-PrettyTable >= 0.7.1
+BuildRequires:  python-PrettyTable >= 0.7.2
 BuildRequires:  python-PyYAML >= 3.12
-BuildRequires:  python-cliff >= 2.8.0
-BuildRequires:  python-devel
+BuildRequires:  python-cliff >= 2.11.0
 BuildRequires:  python-fixtures
 BuildRequires:  python-keystoneauth1 >= 3.4.0
 BuildRequires:  python-mock
-BuildRequires:  python-osc-lib >= 1.8.0
-BuildRequires:  python-oslo.i18n >= 3.15.3
-BuildRequires:  python-oslo.utils >= 3.33.0
+BuildRequires:  python-osc-lib >= 1.10.0
+BuildRequires:  python-oslo.i18n >= 3.20.0
+BuildRequires:  python-oslo.utils >= 3.36.0
 BuildRequires:  python-oslotest
-BuildRequires:  python-pbr >= 2.0.0
+BuildRequires:  python-pbr >= 3.1.1
 BuildRequires:  python-python-subunit
 BuildRequires:  python-setuptools
-BuildRequires:  python-testrepository
+BuildRequires:  python-stestr
 BuildRequires:  python-testscenarios
 BuildRequires:  python-testtools
-Requires:       python-Babel >= 2.3.4
-Requires:       python-PrettyTable >= 0.7.1
+Requires:       python-Babel >= 2.5.3
+Requires:       python-PrettyTable >= 0.7.2
 Requires:       python-PyYAML >= 3.12
-Requires:       python-cliff >= 2.8.0
+Requires:       python-cliff >= 2.11.0
 Requires:       python-keystoneauth1 >= 3.4.0
-Requires:       python-osc-lib >= 1.8.0
-Requires:       python-oslo.i18n >= 3.15.3
-Requires:       python-oslo.utils >= 3.33.0
-Requires:       python-pbr >= 2.0.0
-Requires:       python-six >= 1.10.0
+Requires:       python-osc-lib >= 1.10.0
+Requires:       python-oslo.i18n >= 3.20.0
+Requires:       python-oslo.utils >= 3.36.0
+Requires:       python-pbr >= 3.1.1
+Requires:       python-six >= 1.11.0
 BuildArch:      noarch
 
 %description
@@ -86,8 +85,7 @@
 %py2_install
 
 %check
-export OS_TEST_PATH=./watcherclient/tests/unit
-%{__python2} setup.py testr
+%{__python2} -m stestr.cli --test-path=./watcherclient/tests/unit run
 
 %files
 %doc README.rst

++++++ _service ++++++
--- /var/tmp/diff_new_pack.hMeZRo/_old  2019-05-03 22:43:28.187373245 +0200
+++ /var/tmp/diff_new_pack.hMeZRo/_new  2019-05-03 22:43:28.187373245 +0200
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/python-watcherclient/python-watcherclient.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/stein/openstack/python-watcherclient/python-watcherclient.spec.j2</param>
     <param name="output-name">python-watcherclient.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-watcherclient/stable/rocky/requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-watcherclient/stable/stein/requirements.txt</param>
     <param name="changelog-email">[email protected]</param>
     <param name="changelog-provider">gh,openstack,python-watcherclient</param>
   </service>

++++++ python-watcherclient-2.1.0.tar.gz -> python-watcherclient-2.2.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/.stestr.conf 
new/python-watcherclient-2.2.0/.stestr.conf
--- old/python-watcherclient-2.1.0/.stestr.conf 2018-07-26 19:59:07.000000000 
+0200
+++ new/python-watcherclient-2.2.0/.stestr.conf 2018-10-24 18:00:30.000000000 
+0200
@@ -1,3 +1,3 @@
 [DEFAULT]
-test_path=${OS_TEST_PATH:-./watcherclient/tests/functional}
-top_dir=./
\ No newline at end of file
+test_path=./watcherclient/tests/functional
+top_dir=./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/.testr.conf 
new/python-watcherclient-2.2.0/.testr.conf
--- old/python-watcherclient-2.1.0/.testr.conf  2018-07-26 19:59:07.000000000 
+0200
+++ new/python-watcherclient-2.2.0/.testr.conf  1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +0,0 @@
-[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
-             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
-             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
-             ${PYTHON:-python} -m subunit.run discover -t ./ 
${OS_TEST_PATH:-./watcherclient/tests} $LISTOPT $IDOPTION
-test_id_option=--load-list $IDFILE
-test_list_option=--list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/.zuul.yaml 
new/python-watcherclient-2.2.0/.zuul.yaml
--- old/python-watcherclient-2.1.0/.zuul.yaml   2018-07-26 19:59:07.000000000 
+0200
+++ new/python-watcherclient-2.2.0/.zuul.yaml   2018-10-24 18:00:30.000000000 
+0200
@@ -1,9 +1,13 @@
 - project:
+    templates:
+      - openstack-lower-constraints-jobs
+      - openstack-python-jobs
+      - openstack-python35-jobs
+      - openstack-python36-jobs
+      - publish-openstack-docs-pti
+      - check-requirements
+      - openstackclient-plugin-jobs
     check:
       jobs:
         - watcherclient-tempest-functional:
             voting: false
-        - openstack-tox-lower-constraints
-    gate:
-      jobs:
-        - openstack-tox-lower-constraints
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/AUTHORS 
new/python-watcherclient-2.2.0/AUTHORS
--- old/python-watcherclient-2.1.0/AUTHORS      2018-07-26 20:03:12.000000000 
+0200
+++ new/python-watcherclient-2.2.0/AUTHORS      2018-10-24 18:03:01.000000000 
+0200
@@ -1,4 +1,5 @@
 Alexander Chadin <[email protected]>
+Alexander Chadin <[email protected]>
 Alexandr Stavitskiy <[email protected]>
 Andreas Jaeger <[email protected]>
 Antoine Cabot <[email protected]>
@@ -25,6 +26,7 @@
 Luong Anh Tuan <[email protected]>
 M V P Nitesh <[email protected]>
 Nam Nguyen Hoai <[email protected]>
+Nguyen Hai <[email protected]>
 PanFengyun <[email protected]>
 Prashanth Hari <[email protected]>
 Steve Martinelli <[email protected]>
@@ -37,12 +39,12 @@
 Vincent Francoise <[email protected]>
 Vladimir Ostroverkhov <[email protected]>
 Yumeng Bao <[email protected]>
-Zuul <[email protected]>
 aditi <[email protected]>
 aditi <[email protected]>
 avnish <[email protected]>
 blue55 <[email protected]>
 caihui <[email protected]>
+chenke <[email protected]>
 daohanli <[email protected]>
 deepak_mourya <[email protected]>
 digambar <[email protected]>
@@ -62,5 +64,7 @@
 suzhengwei <[email protected]>
 venkatamahesh <[email protected]>
 zhangguoqing <[email protected]>
+zhangyangyang <[email protected]>
+zhurong <[email protected]>
 zhuzeyu <[email protected]>
 zte-hanrong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/ChangeLog 
new/python-watcherclient-2.2.0/ChangeLog
--- old/python-watcherclient-2.1.0/ChangeLog    2018-07-26 20:03:12.000000000 
+0200
+++ new/python-watcherclient-2.2.0/ChangeLog    2018-10-24 18:03:01.000000000 
+0200
@@ -1,9 +1,26 @@
 CHANGES
 =======
 
+2.2.0
+-----
+
+* Allow CLI to pass goal and strategy names
+* Use templates lower-constraints, remove cover
+* Switch to stestr
+* add python 3.6 unit test job
+* switch documentation job to new PTI
+* import zuul job settings from project-config
+* fix watcher actionplan show command
+* Update watcher strategy state in CLI
+* Add --marker help info
+* Organize the use of 'log' and replace 'log' with LOG
+* Add audit name to CLI help doc
+
 2.1.0
 -----
 
+* Fix watherclient error in py3
+* Add --marker help info
 * Add hostname field to support HA
 * Invalid doc for Client exceptions
 * Don't run voting jobs in gate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/PKG-INFO 
new/python-watcherclient-2.2.0/PKG-INFO
--- old/python-watcherclient-2.1.0/PKG-INFO     2018-07-26 20:03:13.000000000 
+0200
+++ new/python-watcherclient-2.2.0/PKG-INFO     2018-10-24 18:03:01.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-watcherclient
-Version: 2.1.0
+Version: 2.2.0
 Summary: Python client library for Watcher API
 Home-page: https://docs.openstack.org/python-watcherclient/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/doc/source/cli/details.rst 
new/python-watcherclient-2.2.0/doc/source/cli/details.rst
--- old/python-watcherclient-2.1.0/doc/source/cli/details.rst   2018-07-26 
19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/doc/source/cli/details.rst   2018-10-24 
18:00:30.000000000 +0200
@@ -157,7 +157,7 @@
                               [--quote {all,minimal,none,nonnumeric}]
                               [--action-plan <action-plan>] [--audit <audit>]
                               [--detail] [--limit <limit>] [--sort-key <field>]
-                              [--sort-dir <direction>]
+                              [--sort-dir <direction>] [--marker <marker>]
 
 List information on retrieved actions.
 
@@ -186,6 +186,10 @@
 ``--sort-dir <direction>``
   Sort direction: "asc" (the default) or "desc".
 
+``--marker <marker>``
+  UUID of the last action in the previous page; displays
+  list of actions after "marker".
+
 .. _watcher_action_show:
 
 watcher action show
@@ -295,7 +299,8 @@
                                   [--fit-width] [--print-empty] [--noindent]
                                   [--quote {all,minimal,none,nonnumeric}]
                                   [--audit <audit>] [--detail] [--limit 
<limit>]
-                                  [--sort-key <field>] [--sort-dir <direction>]
+                                  [--marker <actionplan>] [--sort-key <field>]
+                                  [--sort-dir <direction>]
 
 List information on retrieved action plans.
 
@@ -315,6 +320,10 @@
   0 for no limit. Default is the maximum number used by
   the Watcher API Service.
 
+``--marker <actionplan>``
+  The last actionplan UUID of the previous page;
+  displays list of actionplans after "marker".
+
 ``--sort-key <field>``
   Action Plan field that will be used for sorting.
 
@@ -466,7 +475,7 @@
 **Positional arguments:**
 
 ``<audit>``
-  UUID of the audit
+  UUID or name of the audit
 
 **Optional arguments:**
 
@@ -532,7 +541,7 @@
 **Positional arguments:**
 
 ``<audit>``
-  UUID of the audit
+  UUID or name of the audit
 
 **Optional arguments:**
 
@@ -556,7 +565,7 @@
 **Positional arguments:**
 
 ``<audit>``
-  UUID of the audit.
+  UUID or name of the audit.
 
 ``<op>``
   Operation: 'add', 'replace', or 'remove'.
@@ -680,7 +689,7 @@
                                      [--detail] [--goal <goal>]
                                      [--strategy <strategy>] [--limit <limit>]
                                      [--sort-key <field>]
-                                     [--sort-dir <direction>]
+                                     [--sort-dir <direction>][--marker 
<marker>]
 
 List information on retrieved audit templates.
 
@@ -709,6 +718,10 @@
 ``--sort-dir <direction>``
   Sort direction: "asc" (the default) or "desc".
 
+``--marker <marker>``
+  UUID of the last audittemplate in the previous page; displays
+  list of audittemplates after "marker".
+
 .. _watcher_audittemplate_show:
 
 watcher audittemplate show
@@ -781,7 +794,7 @@
                             [--print-empty] [--noindent]
                             [--quote {all,minimal,none,nonnumeric}] [--detail]
                             [--limit <limit>] [--sort-key <field>]
-                            [--sort-dir <direction>]
+                            [--sort-dir <direction>][--marker <marker>]
 
 List information on retrieved goals.
 
@@ -804,6 +817,10 @@
 ``--sort-dir <direction>``
   Sort direction: "asc" (the default) or "desc".
 
+``--marker <marker>``
+  UUID of the last goal in the previous page; displays
+  list of goals after "marker".
+
 .. _watcher_goal_show:
 
 watcher goal show
@@ -841,7 +858,7 @@
                                      [--quote {all,minimal,none,nonnumeric}]
                                      [--detail] [--limit <limit>]
                                      [--sort-key <field>]
-                                     [--sort-dir <direction>]
+                                     [--sort-dir <direction>][--marker 
<marker>]
 
 List information on retrieved scoring engines.
 
@@ -864,6 +881,10 @@
 ``--sort-dir <direction>``
   Sort direction: "asc" (the default) or "desc".
 
+``--marker <marker>``
+  UUID of the last scoringengine in the previous page; displays
+  list of scoringengines after "marker".
+
 .. _watcher_scoringengine_show:
 
 watcher scoringengine show
@@ -961,6 +982,7 @@
                                 [--quote {all,minimal,none,nonnumeric}]
                                 [--goal <goal>] [--detail] [--limit <limit>]
                                 [--sort-key <field>] [--sort-dir <direction>]
+                                [--marker <marker>]
 
 List information on retrieved strategies.
 
@@ -986,6 +1008,10 @@
 ``--sort-dir <direction>``
   Sort direction: "asc" (the default) or "desc".
 
+``--marker <marker>``
+  UUID of the last strategy in the previous page; displays
+  list of strategies after "marker".
+
 .. _watcher_strategy_show:
 
 watcher strategy show
@@ -1010,3 +1036,28 @@
 ``-h, --help``
   show this help message and exit
 
+.. _watcher_strategy_state:
+
+watcher strategy state
+----------------------
+
+.. code-block:: console
+
+   usage: watcher strategy state [-h] [-f {csv,html,json,table,value,yaml}]
+                                 [-c COLUMN] [--max-width <integer>]
+                                 [--fit-width] [--print-empty] [--noindent]
+                                 [--quote {all,minimal,none,nonnumeric}]
+                                 [--sort-column SORT_COLUMN]
+                                 <strategy>
+
+Retrieve information about strategy requirements.
+
+**Positional arguments:**
+
+``<strategy>``
+  Name of the strategy
+
+**Optional arguments:**
+
+``-h, --help``
+  show this help message and exit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/lower-constraints.txt 
new/python-watcherclient-2.2.0/lower-constraints.txt
--- old/python-watcherclient-2.1.0/lower-constraints.txt        2018-07-26 
19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/lower-constraints.txt        2018-10-24 
18:00:30.000000000 +0200
@@ -69,7 +69,6 @@
 python-dateutil==2.5.3
 python-mimeparse==1.6.0
 python-subunit==1.0.0
--e 
git://git.openstack.org/openstack/python-watcherclient@104894958882a4877dad6f469361d2adb41d0b59#egg=python_watcherclient
 pytz==2018.3
 PyYAML==3.12
 requests==2.18.4
@@ -80,10 +79,9 @@
 snowballstemmer==1.2.1
 Sphinx==1.6.5
 sphinxcontrib-websupport==1.0.1
-stestr==1.0.0
+stestr==2.0.0
 stevedore==1.28.0
 tempest==17.1.0
-testrepository==0.0.18
 testscenarios==0.4
 testtools==2.2.0
 traceback2==1.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/python_watcherclient.egg-info/PKG-INFO 
new/python-watcherclient-2.2.0/python_watcherclient.egg-info/PKG-INFO
--- old/python-watcherclient-2.1.0/python_watcherclient.egg-info/PKG-INFO       
2018-07-26 20:03:12.000000000 +0200
+++ new/python-watcherclient-2.2.0/python_watcherclient.egg-info/PKG-INFO       
2018-10-24 18:03:01.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-watcherclient
-Version: 2.1.0
+Version: 2.2.0
 Summary: Python client library for Watcher API
 Home-page: https://docs.openstack.org/python-watcherclient/latest/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/python_watcherclient.egg-info/SOURCES.txt 
new/python-watcherclient-2.2.0/python_watcherclient.egg-info/SOURCES.txt
--- old/python-watcherclient-2.1.0/python_watcherclient.egg-info/SOURCES.txt    
2018-07-26 20:03:13.000000000 +0200
+++ new/python-watcherclient-2.2.0/python_watcherclient.egg-info/SOURCES.txt    
2018-10-24 18:03:01.000000000 +0200
@@ -1,5 +1,4 @@
 .stestr.conf
-.testr.conf
 .zuul.yaml
 AUTHORS
 CONTRIBUTING.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/python_watcherclient.egg-info/pbr.json 
new/python-watcherclient-2.2.0/python_watcherclient.egg-info/pbr.json
--- old/python-watcherclient-2.1.0/python_watcherclient.egg-info/pbr.json       
2018-07-26 20:03:12.000000000 +0200
+++ new/python-watcherclient-2.2.0/python_watcherclient.egg-info/pbr.json       
2018-10-24 18:03:01.000000000 +0200
@@ -1 +1 @@
-{"git_version": "6681724", "is_release": true}
\ No newline at end of file
+{"git_version": "db7a5e4", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/python_watcherclient.egg-info/requires.txt 
new/python-watcherclient-2.2.0/python_watcherclient.egg-info/requires.txt
--- old/python-watcherclient-2.1.0/python_watcherclient.egg-info/requires.txt   
2018-07-26 20:03:12.000000000 +0200
+++ new/python-watcherclient-2.2.0/python_watcherclient.egg-info/requires.txt   
2018-10-24 18:03:01.000000000 +0200
@@ -1,10 +1,10 @@
-Babel!=2.4.0,>=2.3.4
-cliff!=2.9.0,>=2.8.0
-osc-lib>=1.8.0
-oslo.i18n>=3.15.3
-oslo.utils>=3.33.0
-pbr!=2.1.0,>=2.0.0
-PrettyTable<0.8,>=0.7.1
+Babel!=2.4.0,>=2.5.3
+cliff!=2.9.0,>=2.11.0
+osc-lib>=1.10.0
+oslo.i18n>=3.20.0
+oslo.utils>=3.36.0
+pbr!=2.1.0,>=3.1.1
+PrettyTable<0.8,>=0.7.2
 keystoneauth1>=3.4.0
-six>=1.10.0
+six>=1.11.0
 PyYAML>=3.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/requirements.txt 
new/python-watcherclient-2.2.0/requirements.txt
--- old/python-watcherclient-2.1.0/requirements.txt     2018-07-26 
19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/requirements.txt     2018-10-24 
18:00:30.000000000 +0200
@@ -2,13 +2,13 @@
 # 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
-cliff!=2.9.0,>=2.8.0 # Apache-2.0
-osc-lib>=1.8.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
-PrettyTable<0.8,>=0.7.1 # BSD
+Babel!=2.4.0,>=2.5.3 # BSD
+cliff!=2.9.0,>=2.11.0 # Apache-2.0
+osc-lib>=1.10.0 # Apache-2.0
+oslo.i18n>=3.20.0 # Apache-2.0
+oslo.utils>=3.36.0 # Apache-2.0
+pbr!=2.1.0,>=3.1.1 # Apache-2.0
+PrettyTable<0.8,>=0.7.2 # BSD
 keystoneauth1>=3.4.0 # Apache-2.0
-six>=1.10.0 # MIT
+six>=1.11.0 # MIT
 PyYAML>=3.12 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/test-requirements.txt 
new/python-watcherclient-2.2.0/test-requirements.txt
--- old/python-watcherclient-2.1.0/test-requirements.txt        2018-07-26 
19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/test-requirements.txt        2018-10-24 
18:00:30.000000000 +0200
@@ -9,11 +9,8 @@
 openstackdocstheme>=1.18.1 # Apache-2.0
 oslotest>=3.2.0 # Apache-2.0
 python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-testrepository>=0.0.18 # Apache-2.0/BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.5 # BSD
+stestr>=2.0.0 # Apache-2.0
 testscenarios>=0.4 # Apache-2.0/BSD
 testtools>=2.2.0 # MIT
 tempest>=17.1.0 # Apache-2.0
-
-# Needed for pypi packaging
-wheel>=0.24.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/tox.ini 
new/python-watcherclient-2.2.0/tox.ini
--- old/python-watcherclient-2.1.0/tox.ini      2018-07-26 19:59:07.000000000 
+0200
+++ new/python-watcherclient-2.2.0/tox.ini      2018-10-24 18:00:30.000000000 
+0200
@@ -10,10 +10,10 @@
                   pip install -U {opts} {packages}
 setenv =
    VIRTUAL_ENV={envdir}
-   OS_TEST_PATH=./watcherclient/tests/unit
 deps = -r{toxinidir}/test-requirements.txt
 commands = rm -f .testrepository/times.dbm
-           python setup.py testr --slowest --testr-args='{posargs}'
+           stestr --test-path=./watcherclient/tests/unit run {posargs}
+           stestr slowest
 
 [testenv:pep8]
 basepython = python3
@@ -25,9 +25,14 @@
 
 [testenv:cover]
 basepython = python3
+setenv =
+    PYTHON=coverage run --source watcherclient --parallel-mode
 commands =
-   python setup.py testr --coverage --testr-args='{posargs}'
-   coverage report
+    stestr run {posargs}
+    coverage combine
+    coverage html -d cover
+    coverage xml -o cover/coverage.xml
+    coverage report
 
 [testenv:docs]
 basepython = python3
@@ -48,9 +53,8 @@
   OS_AUTH_URL
   OS_IDENTITY_API_VERSION
   OS_IMAGE_API_VERSION
-setenv =
-  OS_TEST_PATH = ./watcherclient/tests/functional
-commands = python setup.py testr --slowest --testr-args='--concurrency=1 
{posargs}'
+commands = stestr --test-path=./watcherclient/tests/functional run 
--concurrency=1 {posargs}
+           stestr slowest
 
 [flake8]
 # E123, E125 skipped as they are invalid PEP-8.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/watcherclient/common/httpclient.py 
new/python-watcherclient-2.2.0/watcherclient/common/httpclient.py
--- old/python-watcherclient-2.1.0/watcherclient/common/httpclient.py   
2018-07-26 19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/watcherclient/common/httpclient.py   
2018-10-24 18:00:30.000000000 +0200
@@ -354,7 +354,15 @@
         # Read body into string if it isn't obviously image data
         body_str = None
         if resp.headers.get('Content-Type') != 'application/octet-stream':
-            body_str = ''.join([chunk for chunk in body_iter])
+            # decoding byte to string is necessary for Python 3 compatibility
+            # this issues has not been found with Python 3 unit tests
+            # because the test creates a fake http response of type str
+            # the if statement satisfies test (str) and real (bytes) behavior
+            body_list = [
+                chunk.decode("utf-8") if isinstance(chunk, bytes)
+                else chunk for chunk in body_iter
+            ]
+            body_str = ''.join(body_list)
             self.log_http_response(resp, body_str)
             body_iter = six.StringIO(body_str)
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-watcherclient-2.1.0/watcherclient/shell.py 
new/python-watcherclient-2.2.0/watcherclient/shell.py
--- old/python-watcherclient-2.1.0/watcherclient/shell.py       2018-07-26 
19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/watcherclient/shell.py       2018-10-24 
18:00:30.000000000 +0200
@@ -47,8 +47,6 @@
 class WatcherShell(app.App):
     """Watcher command line interface."""
 
-    log = logging.getLogger(__name__)
-
     def __init__(self, **kwargs):
         self.client = None
 
@@ -194,12 +192,12 @@
         except Exception as e:
             if not logging.getLogger('').handlers:
                 logging.basicConfig()
-            self.log.error('Exception raised: %s', str(e))
+            LOG.error('Exception raised: %s', str(e))
 
             return ret_val
 
         finally:
-            self.log.info("END return value: %s", ret_val)
+            LOG.info("END return value: %s", ret_val)
 
 
 def main(argv=sys.argv[1:]):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/watcherclient/v1/action_plan_shell.py 
new/python-watcherclient-2.2.0/watcherclient/v1/action_plan_shell.py
--- old/python-watcherclient-2.1.0/watcherclient/v1/action_plan_shell.py        
2018-07-26 19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/watcherclient/v1/action_plan_shell.py        
2018-10-24 18:00:30.000000000 +0200
@@ -70,7 +70,7 @@
         yaml_format.YAMLFormatter().emit_one(
             column_names=list(resource.capitalize()
                               for resource in formatted_global_efficacy),
-            data=[value for value in formatted_global_efficacy.itervalues()],
+            data=[value for value in formatted_global_efficacy.values()],
             stdout=out,
             parsed_args=parsed_args,
             )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-watcherclient-2.1.0/watcherclient/v1/audit_shell.py 
new/python-watcherclient-2.2.0/watcherclient/v1/audit_shell.py
--- old/python-watcherclient-2.1.0/watcherclient/v1/audit_shell.py      
2018-07-26 19:59:07.000000000 +0200
+++ new/python-watcherclient-2.2.0/watcherclient/v1/audit_shell.py      
2018-10-24 18:00:30.000000000 +0200
@@ -200,19 +200,10 @@
                       if k in field_list and v is not None)
         fields = common_utils.args_array_to_dict(fields, 'parameters')
 
-        if fields.get('goal'):
-            if not uuidutils.is_uuid_like(fields['goal']):
-                fields['goal'] = client.goal.get(fields['goal']).uuid
-
         if fields.get('audit_template_uuid'):
             if not uuidutils.is_uuid_like(fields['audit_template_uuid']):
                 fields['audit_template_uuid'] = client.audit_template.get(
                     fields['audit_template_uuid']).uuid
-        # optional
-        if fields.get('strategy'):
-            if not uuidutils.is_uuid_like(fields['strategy']):
-                fields['strategy'] = client.strategy.get(
-                    fields['strategy']).uuid
 
         audit = client.audit.create(**fields)
         if audit.strategy_name is None:


Reply via email to