Hello community,

here is the log from the commit of package python-glanceclient for 
openSUSE:Factory checked in at 2020-02-19 12:41:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-glanceclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-glanceclient.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-glanceclient"

Wed Feb 19 12:41:27 2020 rev:30 rq:776218 version:2.17.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-glanceclient/python-glanceclient.changes  
2019-05-03 22:40:40.303019794 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-glanceclient.new.26092/python-glanceclient.changes
       2020-02-19 12:41:28.699732967 +0100
@@ -1,0 +2,19 @@
+Wed Oct  9 12:59:17 UTC 2019 - cloud-de...@suse.de
+
+- update to version 2.17.0
+  - Bump openstackdocstheme to 1.20.0
+  - Rename --backend to --store
+  - Update master for stable/stein
+  - OpenDev Migration Patch
+  - Update sphinx dependency
+  - Correcting typo in shell.py - enviroment to environment.
+  - HTTPClient: actually set a timeout for requests
+  - Add upper-constraints.txt to releasenotes tox environment
+  - Add Python 3 Train unit tests
+  - Update hacking version
+  - Trivial: fix image format typo
+  - Blacklist sphinx 2.1.0 (autodoc bug)
+  - Add release note for glanceclient 2.17.0
+  - Modify the url of upper_constraints_file
+
+-------------------------------------------------------------------

Old:
----
  python-glanceclient-2.16.0.tar.gz

New:
----
  python-glanceclient-2.17.0.tar.gz

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

Other differences:
------------------
++++++ python-glanceclient.spec ++++++
--- /var/tmp/diff_new_pack.10YMJx/_old  2020-02-19 12:41:29.327734176 +0100
+++ /var/tmp/diff_new_pack.10YMJx/_new  2020-02-19 12:41:29.327734176 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-glanceclient
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,14 @@
 
 
 Name:           python-glanceclient
-Version:        2.16.0
+Version:        2.17.0
 Release:        0
 Summary:        Python API and CLI for OpenStack Glance
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://launchpad.net/python-glanceclient
-Source0:        
https://files.pythonhosted.org/packages/source/p/python-glanceclient/python-glanceclient-2.16.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/p/python-glanceclient/python-glanceclient-2.17.0.tar.gz
 BuildRequires:  openstack-macros
-BuildRequires:  python-devel
 BuildRequires:  python2-PrettyTable >= 0.7.1
 BuildRequires:  python2-fixtures
 BuildRequires:  python2-keystoneclient
@@ -40,7 +39,6 @@
 BuildRequires:  python2-testtools
 BuildRequires:  python2-warlock >= 1.2.0
 BuildRequires:  python3-PrettyTable >= 0.7.1
-BuildRequires:  python3-devel
 BuildRequires:  python3-fixtures
 BuildRequires:  python3-keystoneclient
 BuildRequires:  python3-mock
@@ -82,10 +80,10 @@
 %package -n python-glanceclient-doc
 Summary:        Documentation for OpenStack Glance API Client
 Group:          Documentation/HTML
-BuildRequires:  python-Sphinx
-BuildRequires:  python-openstackdocstheme
-BuildRequires:  python-reno
-BuildRequires:  python-sphinxcontrib-apidoc
+BuildRequires:  python3-Sphinx
+BuildRequires:  python3-openstackdocstheme
+BuildRequires:  python3-reno
+BuildRequires:  python3-sphinxcontrib-apidoc
 
 %description -n python-glanceclient-doc
 This is a client for the OpenStack Glance API. There's a Python API (the
@@ -94,17 +92,18 @@
 This package contains auto-generated documentation.
 
 %prep
-%autosetup -p1 -n python-glanceclient-2.16.0
+%autosetup -p1 -n python-glanceclient-2.17.0
 %py_req_cleanup
 
 %build
 %python_build
 
 # generate html docs
-PBR_VERSION=2.16.0 sphinx-build -b html doc/source doc/build/html
-PBR_VERSION=2.16.0 sphinx-build -b man doc/source doc/build/man
+PBR_VERSION=2.17.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=2.17.0 %sphinx_build -b man doc/source doc/build/man
 # remove the sphinx-build leftovers
 rm -rf doc/build/html/.{doctrees,buildinfo}
+rm -rf doc/build/man/.{doctrees,buildinfo}
 
 %install
 %python_install

++++++ _service ++++++
--- /var/tmp/diff_new_pack.10YMJx/_old  2020-02-19 12:41:29.351734222 +0100
+++ /var/tmp/diff_new_pack.10YMJx/_new  2020-02-19 12:41:29.351734222 +0100
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/stein/openstack/python-glanceclient/python-glanceclient.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/train/openstack/python-glanceclient/python-glanceclient.spec.j2</param>
     <param name="output-name">python-glanceclient.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-glanceclient/stable/stein/requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-glanceclient/stable/train/requirements.txt</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,python-glanceclient</param>
   </service>

++++++ python-glanceclient-2.16.0.tar.gz -> python-glanceclient-2.17.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/.zuul.yaml 
new/python-glanceclient-2.17.0/.zuul.yaml
--- old/python-glanceclient-2.16.0/.zuul.yaml   2019-03-08 01:26:17.000000000 
+0100
+++ new/python-glanceclient-2.17.0/.zuul.yaml   2019-09-13 17:03:25.000000000 
+0200
@@ -35,7 +35,7 @@
         s-object: true
         s-proxy: true
       # Hardcode glanceclient path so the job can be run on glance patches
-      zuul_work_dir: src/git.openstack.org/openstack/python-glanceclient
+      zuul_work_dir: src/opendev.org/openstack/python-glanceclient
     irrelevant-files:
       - ^doc/.*$
       - ^releasenotes/.*$
@@ -74,7 +74,7 @@
         s-object: true
         s-proxy: true
       # Hardcode glanceclient path so the job can be run on glance patches
-      zuul_work_dir: src/git.openstack.org/openstack/python-glanceclient
+      zuul_work_dir: src/opendev.org/openstack/python-glanceclient
     irrelevant-files:
       - ^doc/.*$
       - ^releasenotes/.*$
@@ -149,9 +149,7 @@
       - openstack-cover-jobs
       - openstack-lower-constraints-jobs
       - openstack-python-jobs
-      - openstack-python35-jobs
-      - openstack-python36-jobs
-      - openstack-python37-jobs
+      - openstack-python3-train-jobs
       - publish-openstack-docs-pti
       - release-notes-jobs-python3
     check:
@@ -173,7 +171,7 @@
         # The "tips" jobs can be removed from the stable branch .zuul.yaml
         # files if someone is so inclined, but that would require manual
         # maintenance, so we do not do it by default.  Another option is
-        # to define these jobs in the openstack-infra/project-config repo.
+        # to define these jobs in the openstack/project-config repo.
         # That would make us less agile in adjusting these tests, so we
         # aren't doing that either.
         - glanceclient-tox-py27-keystone-tips:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/AUTHORS 
new/python-glanceclient-2.17.0/AUTHORS
--- old/python-glanceclient-2.16.0/AUTHORS      2019-03-08 01:28:04.000000000 
+0100
+++ new/python-glanceclient-2.17.0/AUTHORS      2019-09-13 17:04:44.000000000 
+0200
@@ -1,3 +1,4 @@
+98k <18552437...@163.com>
 Abhishek Kekane <abhishek.kek...@nttdata.com>
 Abhishek Kekane <akek...@redhat.com>
 Abhishek Talwar <abhishek.tal...@tcs.com>
@@ -131,6 +132,7 @@
 Longgeek <longg...@thstack.com>
 Louis Taylor <krag...@gmail.com>
 Louis Taylor <lo...@kragniz.eu>
+Lucian Petrut <lpet...@cloudbasesolutions.com>
 Luong Anh Tuan <tua...@vn.fujitsu.com>
 M V P Nitesh <m.nit...@nectechnologies.in>
 Maithem <munsh...@vmware.com>
@@ -228,6 +230,7 @@
 iccha.sethi <iccha.se...@rackspace.com>
 imacdonn <iain.macdonn...@oracle.com>
 isethi <iccha.se...@rackspace.com>
+jacky06 <zhang....@99cloud.net>
 jaypipes <jaypi...@gmail.com>
 ji-xuepeng <ji.xuep...@zte.com.cn>
 kairat_kushaev <kkush...@mirantis.com>
@@ -238,11 +241,13 @@
 m.benchcha...@cloudbau.de <m.benchcha...@cloudbau.de>
 mouad benchchaoui <m.benchcha...@cloudbau.de>
 pawnesh.kumar <pawnesh.ku...@nectechnologies.in>
+pengyuesheng <pengyuesh...@gohighsec.com>
 qingszhao <zhao.daq...@99cloud.net>
 rahulram <rahur...@cisco.com>
 rico.lin <rico.lin.gua...@gmail.com>
 ricolin <ric...@inwinstack.com>
 ricolin <rico....@easystack.cn>
+root <sandy...@redhat.com>
 shu-mutou <shu-mu...@rf.jp.nec.com>
 sonu.kumar <sonu.ku...@nectechnologies.in>
 sridhargaddam <sridhar.gad...@enovance.com>
@@ -261,3 +266,4 @@
 zheng yin <yin.zh...@easystack.cn>
 zhengyao1 <zheng.y...@zte.com.cn>
 zwei <leid...@unitedstack.com>
+翟小君 <zhaixiao...@gohighsec.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/ChangeLog 
new/python-glanceclient-2.17.0/ChangeLog
--- old/python-glanceclient-2.16.0/ChangeLog    2019-03-08 01:28:04.000000000 
+0100
+++ new/python-glanceclient-2.17.0/ChangeLog    2019-09-13 17:04:44.000000000 
+0200
@@ -1,6 +1,23 @@
 CHANGES
 =======
 
+2.17.0
+------
+
+* Add release note for glanceclient 2.17.0
+* Trivial: fix image format typo
+* Correcting typo in shell.py - enviroment to environment
+* Bump openstackdocstheme to 1.20.0
+* Add Python 3 Train unit tests
+* Modify the url of upper\_constraints\_file
+* Blacklist sphinx 2.1.0 (autodoc bug)
+* Update sphinx dependency
+* Rename --backend to --store
+* OpenDev Migration Patch
+* HTTPClient: actually set a timeout for requests
+* Update hacking version
+* Update master for stable/stein
+
 2.16.0
 ------
 
@@ -10,6 +27,7 @@
 * Update irrelevant-files for dsvm-functional tests
 * add python 3.7 unit test job
 * Add image-list filter for multihash
+* Add upper-constraints.txt to releasenotes tox environment
 * Change openstack-dev to openstack-discuss
 * Add Python 3.6 classifier to setup.cfg
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/PKG-INFO 
new/python-glanceclient-2.17.0/PKG-INFO
--- old/python-glanceclient-2.16.0/PKG-INFO     2019-03-08 01:28:04.000000000 
+0100
+++ new/python-glanceclient-2.17.0/PKG-INFO     2019-09-13 17:04:44.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-glanceclient
-Version: 2.16.0
+Version: 2.17.0
 Summary: OpenStack Image API Client Library
 Home-page: https://docs.openstack.org/python-glanceclient/latest/
 Author: OpenStack
@@ -71,5 +71,5 @@
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/doc/requirements.txt 
new/python-glanceclient-2.17.0/doc/requirements.txt
--- old/python-glanceclient-2.16.0/doc/requirements.txt 2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/doc/requirements.txt 2019-09-13 
17:03:25.000000000 +0200
@@ -1,7 +1,8 @@
 # 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
+openstackdocstheme>=1.20.0 # Apache-2.0
 reno>=2.5.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+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,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
 sphinxcontrib-apidoc>=0.2.0  # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/doc/source/conf.py 
new/python-glanceclient-2.17.0/doc/source/conf.py
--- old/python-glanceclient-2.16.0/doc/source/conf.py   2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/doc/source/conf.py   2019-09-13 
17:03:25.000000000 +0200
@@ -84,7 +84,6 @@
 # Output file base name for HTML help builder.
 htmlhelp_basename = '%sdoc' % project
 
-html_last_updated_fmt = '%Y-%m-%d %H:%M'
 
 # -- Options for man page output ----------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/glanceclient/common/http.py 
new/python-glanceclient-2.17.0/glanceclient/common/http.py
--- old/python-glanceclient-2.16.0/glanceclient/common/http.py  2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/common/http.py  2019-09-13 
17:03:25.000000000 +0200
@@ -270,6 +270,7 @@
                                         conn_url,
                                         data=data,
                                         headers=headers,
+                                        timeout=self.timeout,
                                         **kwargs)
         except requests.exceptions.Timeout as e:
             message = ("Error communicating with %(url)s: %(e)s" %
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/glanceclient/common/utils.py 
new/python-glanceclient-2.17.0/glanceclient/common/utils.py
--- old/python-glanceclient-2.16.0/glanceclient/common/utils.py 2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/common/utils.py 2019-09-13 
17:03:25.000000000 +0200
@@ -28,10 +28,10 @@
 
 import six
 
-if os.name == 'nt':
-    import msvcrt
-else:
-    msvcrt = None
+if os.name == 'nt':  # noqa
+    import msvcrt  # noqa
+else:  # noqa
+    msvcrt = None  # noqa
 
 from oslo_utils import encodeutils
 from oslo_utils import strutils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/glanceclient/tests/unit/v1/test_shell.py 
new/python-glanceclient-2.17.0/glanceclient/tests/unit/v1/test_shell.py
--- old/python-glanceclient-2.16.0/glanceclient/tests/unit/v1/test_shell.py     
2019-03-08 01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/tests/unit/v1/test_shell.py     
2019-09-13 17:03:25.000000000 +0200
@@ -334,8 +334,8 @@
             e = self.assertRaises(exc.CommandError, self.run_command,
                                   '--os-image-api-version 1 image-create ' +
                                   origin + ' fake_src --container-format bare')
-            self.assertEqual('error: Must provide --disk-format when using '
-                             + origin + '.', e.message)
+            self.assertEqual('error: Must provide --disk-format when using ' +
+                             origin + '.', e.message)
 
     @mock.patch('sys.stderr')
     def test_image_create_missing_container_format(self, __):
@@ -536,8 +536,8 @@
         self._do_update()
 
         self.assertTrue(
-            'data' not in self.collected_args[1]
-            or self.collected_args[1]['data'] is None
+            'data' not in self.collected_args[1] or
+            self.collected_args[1]['data'] is None
         )
 
     def test_image_update_opened_stdin(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/glanceclient/tests/unit/v2/test_shell_v2.py 
new/python-glanceclient-2.17.0/glanceclient/tests/unit/v2/test_shell_v2.py
--- old/python-glanceclient-2.16.0/glanceclient/tests/unit/v2/test_shell_v2.py  
2019-03-08 01:26:21.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/tests/unit/v2/test_shell_v2.py  
2019-09-13 17:03:31.000000000 +0200
@@ -57,7 +57,7 @@
     return original_schema_args(my_schema_getter, omit)
 utils.schema_args = schema_args
 
-from glanceclient.v2 import shell as test_shell
+from glanceclient.v2 import shell as test_shell  # noqa
 
 # Return original decorator.
 utils.schema_args = original_schema_args
@@ -95,7 +95,7 @@
         # dict directly, it throws an AttributeError.
         class Args(object):
             def __init__(self, entries):
-                self.backend = None
+                self.store = None
                 self.__dict__.update(entries)
 
         return Args(args)
@@ -782,9 +782,9 @@
     @mock.patch('glanceclient.common.utils.exit')
     @mock.patch('os.access')
     @mock.patch('sys.stdin', autospec=True)
-    def test_neg_do_image_create_no_file_and_stdin_with_backend(
+    def test_neg_do_image_create_no_file_and_stdin_with_store(
             self, mock_stdin, mock_access, mock_utils_exit):
-        expected_msg = ('--backend option should only be provided with --file '
+        expected_msg = ('--store option should only be provided with --file '
                         'option or stdin.')
         mock_utils_exit.side_effect = self._mock_utils_exit
         mock_stdin.isatty = lambda: True
@@ -792,7 +792,7 @@
         args = self._make_args({'name': 'IMG-01',
                                 'property': ['myprop=myval'],
                                 'file': None,
-                                'backend': 'file1',
+                                'store': 'file1',
                                 'container_format': 'bare',
                                 'disk_format': 'qcow2'})
 
@@ -805,16 +805,16 @@
         mock_utils_exit.assert_called_once_with(expected_msg)
 
     @mock.patch('glanceclient.common.utils.exit')
-    def test_neg_do_image_create_invalid_backend(
+    def test_neg_do_image_create_invalid_store(
             self, mock_utils_exit):
-        expected_msg = ("Backend 'dummy' is not valid for this cloud. "
+        expected_msg = ("Store 'dummy' is not valid for this cloud. "
                         "Valid values can be retrieved with stores-info "
                         "command.")
         mock_utils_exit.side_effect = self._mock_utils_exit
         args = self._make_args({'name': 'IMG-01',
                                 'property': ['myprop=myval'],
                                 'file': "somefile.txt",
-                                'backend': 'dummy',
+                                'store': 'dummy',
                                 'container_format': 'bare',
                                 'disk_format': 'qcow2'})
 
@@ -873,13 +873,13 @@
     @mock.patch('glanceclient.common.utils.exit')
     @mock.patch('os.access')
     @mock.patch('sys.stdin', autospec=True)
-    def test_neg_image_create_via_import_no_file_and_stdin_with_backend(
+    def test_neg_image_create_via_import_no_file_and_stdin_with_store(
             self, mock_stdin, mock_access, mock_utils_exit):
-        expected_msg = ('--backend option should only be provided with --file '
+        expected_msg = ('--store option should only be provided with --file '
                         'option or stdin for the glance-direct import method.')
         my_args = self.base_args.copy()
         my_args['import_method'] = 'glance-direct'
-        my_args['backend'] = 'file1'
+        my_args['store'] = 'file1'
         args = self._make_args(my_args)
 
         mock_stdin.isatty = lambda: True
@@ -900,13 +900,13 @@
 
     @mock.patch('glanceclient.common.utils.exit')
     @mock.patch('sys.stdin', autospec=True)
-    def test_neg_image_create_via_import_no_uri_with_backend(
+    def test_neg_image_create_via_import_no_uri_with_store(
             self, mock_stdin, mock_utils_exit):
-        expected_msg = ('--backend option should only be provided with --uri '
+        expected_msg = ('--store option should only be provided with --uri '
                         'option for the web-download import method.')
         my_args = self.base_args.copy()
         my_args['import_method'] = 'web-download'
-        my_args['backend'] = 'file1'
+        my_args['store'] = 'file1'
         args = self._make_args(my_args)
         mock_utils_exit.side_effect = self._mock_utils_exit
         with mock.patch.object(self.gc.images,
@@ -925,14 +925,14 @@
     @mock.patch('glanceclient.common.utils.exit')
     @mock.patch('os.access')
     @mock.patch('sys.stdin', autospec=True)
-    def test_neg_image_create_via_import_invalid_backend(
+    def test_neg_image_create_via_import_invalid_store(
             self, mock_stdin, mock_access, mock_utils_exit):
-        expected_msg = ("Backend 'dummy' is not valid for this cloud. "
+        expected_msg = ("Store 'dummy' is not valid for this cloud. "
                         "Valid values can be retrieved with stores-info"
                         " command.")
         my_args = self.base_args.copy()
         my_args['import_method'] = 'glance-direct'
-        my_args['backend'] = 'dummy'
+        my_args['store'] = 'dummy'
         args = self._make_args(my_args)
 
         mock_stdin.isatty = lambda: True
@@ -1576,15 +1576,15 @@
                                                   backend=None)
 
     @mock.patch('glanceclient.common.utils.exit')
-    def test_image_upload_invalid_backend(self, mock_utils_exit):
-        expected_msg = ("Backend 'dummy' is not valid for this cloud. "
+    def test_image_upload_invalid_store(self, mock_utils_exit):
+        expected_msg = ("Store 'dummy' is not valid for this cloud. "
                         "Valid values can be retrieved with stores-info "
                         "command.")
         mock_utils_exit.side_effect = self._mock_utils_exit
 
         args = self._make_args(
             {'id': 'IMG-01', 'file': 'test', 'size': 1024, 'progress': False,
-             'backend': 'dummy'})
+             'store': 'dummy'})
 
         with mock.patch.object(self.gc.images,
                                'get_stores_info') as mock_stores_info:
@@ -1743,15 +1743,15 @@
         mock_utils_exit.assert_called_once_with(expected_msg)
 
     @mock.patch('glanceclient.common.utils.exit')
-    def test_image_import_invalid_backend(self, mock_utils_exit):
-        expected_msg = ("Backend 'dummy' is not valid for this cloud. "
+    def test_image_import_invalid_store(self, mock_utils_exit):
+        expected_msg = ("Store 'dummy' is not valid for this cloud. "
                         "Valid values can be retrieved with stores-info "
                         "command.")
         mock_utils_exit.side_effect = self._mock_utils_exit
 
         args = self._make_args(
             {'id': 'IMG-01', 'import_method': 'glance-direct', 'uri': None,
-             'backend': 'dummy'})
+             'store': 'dummy'})
 
         with mock.patch.object(self.gc.images, 'get') as mocked_get:
             with mock.patch.object(self.gc.images,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/glanceclient/v1/shell.py 
new/python-glanceclient-2.17.0/glanceclient/v1/shell.py
--- old/python-glanceclient-2.16.0/glanceclient/v1/shell.py     2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/v1/shell.py     2019-09-13 
17:03:25.000000000 +0200
@@ -30,7 +30,7 @@
 
 CONTAINER_FORMATS = ('Acceptable formats: ami, ari, aki, bare, ovf, ova,'
                      'docker.')
-DISK_FORMATS = ('Acceptable formats: ami, ari, aki, vhd, vdhx, vmdk, raw, '
+DISK_FORMATS = ('Acceptable formats: ami, ari, aki, vhd, vhdx, vmdk, raw, '
                 'qcow2, vdi, iso, and ploop.')
 DATA_FIELDS = ('location', 'copy_from', 'file')
 
@@ -45,11 +45,11 @@
            help='Filter images to those that changed since the given time'
                 ', which will include the deleted images.')
 @utils.arg('--container-format', metavar='<CONTAINER_FORMAT>',
-           help='Filter images to those that have this container format. '
-                + CONTAINER_FORMATS)
+           help='Filter images to those that have this container format. ' +
+                CONTAINER_FORMATS)
 @utils.arg('--disk-format', metavar='<DISK_FORMAT>',
-           help='Filter images to those that have this disk format. '
-                + DISK_FORMATS)
+           help='Filter images to those that have this disk format. ' +
+                DISK_FORMATS)
 @utils.arg('--size-min', metavar='<SIZE>', type=int,
            help='Filter images to those with a size greater than this.')
 @utils.arg('--size-max', metavar='<SIZE>', type=int,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/glanceclient/v2/shell.py 
new/python-glanceclient-2.17.0/glanceclient/v2/shell.py
--- old/python-glanceclient-2.16.0/glanceclient/v2/shell.py     2019-03-08 
01:26:21.000000000 +0100
+++ new/python-glanceclient-2.17.0/glanceclient/v2/shell.py     2019-09-13 
17:03:31.000000000 +0200
@@ -71,8 +71,8 @@
                   'passed to the client via stdin.'))
 @utils.arg('--progress', action='store_true', default=False,
            help=_('Show upload progress bar.'))
-@utils.arg('--backend', metavar='<STORE>',
-           default=utils.env('OS_IMAGE_BACKEND', default=None),
+@utils.arg('--store', metavar='<STORE>',
+           default=utils.env('OS_IMAGE_STORE', default=None),
            help='Backend store to upload image to.')
 @utils.on_data_require_fields(DATA_FIELDS)
 def do_image_create(gc, args):
@@ -90,12 +90,12 @@
         key, value = datum.split('=', 1)
         fields[key] = value
 
-    backend = args.backend
+    backend = args.store
 
     file_name = fields.pop('file', None)
     using_stdin = not sys.stdin.isatty()
-    if args.backend and not (file_name or using_stdin):
-        utils.exit("--backend option should only be provided with --file "
+    if args.store and not (file_name or using_stdin):
+        utils.exit("--store option should only be provided with --file "
                    "option or stdin.")
 
     if backend:
@@ -108,7 +108,7 @@
     image = gc.images.create(**fields)
     try:
         if utils.get_data_file(args) is not None:
-            backend = fields.get('backend', None)
+            backend = fields.get('store', None)
             args.id = image['id']
             args.size = None
             do_image_upload(gc, args)
@@ -147,8 +147,8 @@
                   'record if no import-method and no data is supplied'))
 @utils.arg('--uri', metavar='<IMAGE_URL>', default=None,
            help=_('URI to download the external image.'))
-@utils.arg('--backend', metavar='<STORE>',
-           default=utils.env('OS_IMAGE_BACKEND', default=None),
+@utils.arg('--store', metavar='<STORE>',
+           default=utils.env('OS_IMAGE_STORE', default=None),
            help='Backend store to upload image to.')
 @utils.on_data_require_fields(DATA_FIELDS)
 def do_image_create_via_import(gc, args):
@@ -198,8 +198,8 @@
 
     # determine if backend is valid
     backend = None
-    if args.backend:
-        backend = args.backend
+    if args.store:
+        backend = args.store
         _validate_backend(backend, gc)
 
     # make sure we have all and only correct inputs for the requested method
@@ -209,7 +209,7 @@
                        "method.")
     if args.import_method == 'glance-direct':
         if backend and not (file_name or using_stdin):
-            utils.exit("--backend option should only be provided with --file "
+            utils.exit("--store option should only be provided with --file "
                        "option or stdin for the glance-direct import method.")
         if args.uri:
             utils.exit("You cannot specify a --uri with the glance-direct "
@@ -225,7 +225,7 @@
                        "for the glance-direct import method.")
     if args.import_method == 'web-download':
         if backend and not args.uri:
-            utils.exit("--backend option should only be provided with --uri "
+            utils.exit("--store option should only be provided with --uri "
                        "option for the web-download import method.")
         if not args.uri:
             utils.exit("URI is required for web-download import method. "
@@ -267,7 +267,7 @@
                 break
 
         if not valid_backend:
-            utils.exit("Backend '%s' is not valid for this cloud. Valid "
+            utils.exit("Store '%s' is not valid for this cloud. Valid "
                        "values can be retrieved with stores-info command." %
                        backend)
 
@@ -511,7 +511,7 @@
                   'available on the client, the download will fail. Use this '
                   'flag to indicate that in such a case the legacy MD5 image '
                   'checksum should be used to validate the downloaded data. '
-                  'You can also set the enviroment variable '
+                  'You can also set the environment variable '
                   'OS_IMAGE_ALLOW_MD5_FALLBACK to any value to activate this '
                   'option.'))
 @utils.arg('--file', metavar='<FILE>',
@@ -559,14 +559,14 @@
            help=_('Show upload progress bar.'))
 @utils.arg('id', metavar='<IMAGE_ID>',
            help=_('ID of image to upload data to.'))
-@utils.arg('--backend', metavar='<STORE>',
-           default=utils.env('OS_IMAGE_BACKEND', default=None),
+@utils.arg('--store', metavar='<STORE>',
+           default=utils.env('OS_IMAGE_STORE', default=None),
            help='Backend store to upload image to.')
 def do_image_upload(gc, args):
     """Upload data for a specific image."""
     backend = None
-    if args.backend:
-        backend = args.backend
+    if args.store:
+        backend = args.store
         # determine if backend is valid
         _validate_backend(backend, gc)
 
@@ -614,14 +614,14 @@
            help=_('URI to download the external image.'))
 @utils.arg('id', metavar='<IMAGE_ID>',
            help=_('ID of image to import.'))
-@utils.arg('--backend', metavar='<STORE>',
-           default=utils.env('OS_IMAGE_BACKEND', default=None),
+@utils.arg('--store', metavar='<STORE>',
+           default=utils.env('OS_IMAGE_STORE', default=None),
            help='Backend store to upload image to.')
 def do_image_import(gc, args):
     """Initiate the image import taskflow."""
     backend = None
-    if args.backend:
-        backend = args.backend
+    if args.store:
+        backend = args.store
         # determine if backend is valid
         _validate_backend(backend, gc)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/lower-constraints.txt 
new/python-glanceclient-2.17.0/lower-constraints.txt
--- old/python-glanceclient-2.16.0/lower-constraints.txt        2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/lower-constraints.txt        2019-09-13 
17:03:25.000000000 +0200
@@ -32,7 +32,7 @@
 msgpack-python==0.4.0
 netaddr==0.7.18
 netifaces==0.10.4
-openstackdocstheme==1.18.1
+openstackdocstheme==1.20.0
 ordereddict==1.1
 os-client-config==1.28.0
 os-testr==1.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/python_glanceclient.egg-info/PKG-INFO 
new/python-glanceclient-2.17.0/python_glanceclient.egg-info/PKG-INFO
--- old/python-glanceclient-2.16.0/python_glanceclient.egg-info/PKG-INFO        
2019-03-08 01:28:04.000000000 +0100
+++ new/python-glanceclient-2.17.0/python_glanceclient.egg-info/PKG-INFO        
2019-09-13 17:04:44.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-glanceclient
-Version: 2.16.0
+Version: 2.17.0
 Summary: OpenStack Image API Client Library
 Home-page: https://docs.openstack.org/python-glanceclient/latest/
 Author: OpenStack
@@ -71,5 +71,5 @@
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/python_glanceclient.egg-info/SOURCES.txt 
new/python-glanceclient-2.17.0/python_glanceclient.egg-info/SOURCES.txt
--- old/python-glanceclient-2.16.0/python_glanceclient.egg-info/SOURCES.txt     
2019-03-08 01:28:04.000000000 +0100
+++ new/python-glanceclient-2.17.0/python_glanceclient.egg-info/SOURCES.txt     
2019-09-13 17:04:44.000000000 +0200
@@ -115,6 +115,7 @@
 python_glanceclient.egg-info/top_level.txt
 releasenotes/notes/.placeholder
 releasenotes/notes/2.16.0_Release-43ebe06b74a272ba.yaml
+releasenotes/notes/2.17.0_Release-c67392be3b428d10.yaml
 releasenotes/notes/bp-use-keystoneauth-e12f300e58577b13.yaml
 releasenotes/notes/headers-encoding-bug-rocky-889ccd885a9cc4e8.yaml
 releasenotes/notes/hidden-images-support-9e2277ad62bf0d31.yaml
@@ -138,6 +139,7 @@
 releasenotes/source/pike.rst
 releasenotes/source/queens.rst
 releasenotes/source/rocky.rst
+releasenotes/source/stein.rst
 releasenotes/source/unreleased.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/python_glanceclient.egg-info/pbr.json 
new/python-glanceclient-2.17.0/python_glanceclient.egg-info/pbr.json
--- old/python-glanceclient-2.16.0/python_glanceclient.egg-info/pbr.json        
2019-03-08 01:28:04.000000000 +0100
+++ new/python-glanceclient-2.17.0/python_glanceclient.egg-info/pbr.json        
2019-09-13 17:04:44.000000000 +0200
@@ -1 +1 @@
-{"git_version": "44a4dbd", "is_release": true}
\ No newline at end of file
+{"git_version": "40c19aa", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/releasenotes/notes/2.17.0_Release-c67392be3b428d10.yaml
 
new/python-glanceclient-2.17.0/releasenotes/notes/2.17.0_Release-c67392be3b428d10.yaml
--- 
old/python-glanceclient-2.16.0/releasenotes/notes/2.17.0_Release-c67392be3b428d10.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-glanceclient-2.17.0/releasenotes/notes/2.17.0_Release-c67392be3b428d10.yaml
      2019-09-13 17:03:25.000000000 +0200
@@ -0,0 +1,35 @@
+---
+prelude: |
+  This version of python-glanceclient finalizes client-side support for
+  the Glance multiple stores feature.  See the `Multi Store Support
+  <https://docs.openstack.org/glance/latest/admin/multistores.html>`_
+  section of the Glance documentation for more information.
+
+  Support for Glance multiple stores has been available on an EXPERIMENTAL
+  basis since release 2.12.0.  For the Train release, the Image service
+  has finalized how API users interact with multiple stores.  See the
+  "Upgrade Notes" section of this document for information about changes this
+  has necessitated in multistore support in the glanceclient.
+fixes:
+  - |
+    Bug 1822052_: HTTPClient: actually set a timeout for requests
+
+    .. _1822052: https://code.launchpad.net/bugs/1822052
+upgrade:
+  - |
+    The following Command Line Interface calls now take a ``--store``
+    option:
+
+    * ``glance image-create``
+    * ``glance image-create-via-import``
+    * ``glance image-upload``
+    * ``glance image-import``
+
+    The value for this option is a store identifier.  The list of
+    available stores may be obtained from the ``glance stores-info``
+    command.
+
+  - |
+    The ``--backend`` option, available on some commands on an experimental
+    basis since release 2.12.0, is no longer available.  Use ``--store``
+    instead.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/releasenotes/source/index.rst 
new/python-glanceclient-2.17.0/releasenotes/source/index.rst
--- old/python-glanceclient-2.16.0/releasenotes/source/index.rst        
2019-03-08 01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/releasenotes/source/index.rst        
2019-09-13 17:03:25.000000000 +0200
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   stein
    rocky
    queens
    pike
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-glanceclient-2.16.0/releasenotes/source/stein.rst 
new/python-glanceclient-2.17.0/releasenotes/source/stein.rst
--- old/python-glanceclient-2.16.0/releasenotes/source/stein.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/python-glanceclient-2.17.0/releasenotes/source/stein.rst        
2019-09-13 17:03:25.000000000 +0200
@@ -0,0 +1,6 @@
+===================================
+ Stein Series Release Notes
+===================================
+
+.. release-notes::
+   :branch: stable/stein
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/setup.cfg 
new/python-glanceclient-2.17.0/setup.cfg
--- old/python-glanceclient-2.16.0/setup.cfg    2019-03-08 01:28:04.000000000 
+0100
+++ new/python-glanceclient-2.17.0/setup.cfg    2019-09-13 17:04:44.000000000 
+0200
@@ -19,8 +19,8 @@
        Programming Language :: Python :: 2
        Programming Language :: Python :: 2.7
        Programming Language :: Python :: 3
-       Programming Language :: Python :: 3.5
        Programming Language :: Python :: 3.6
+       Programming Language :: Python :: 3.7
 
 [files]
 packages = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/test-requirements.txt 
new/python-glanceclient-2.17.0/test-requirements.txt
--- old/python-glanceclient-2.16.0/test-requirements.txt        2019-03-08 
01:26:17.000000000 +0100
+++ new/python-glanceclient-2.17.0/test-requirements.txt        2019-09-13 
17:03:25.000000000 +0200
@@ -1,7 +1,8 @@
 # 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!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+
+hacking>=1.1.0,<1.2.0 # Apache-2.0
 
 coverage!=4.4,>=4.0 # Apache-2.0
 mock>=2.0.0 # BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-glanceclient-2.16.0/tox.ini 
new/python-glanceclient-2.17.0/tox.ini
--- old/python-glanceclient-2.16.0/tox.ini      2019-03-08 01:26:17.000000000 
+0100
+++ new/python-glanceclient-2.17.0/tox.ini      2019-09-13 17:03:25.000000000 
+0200
@@ -1,5 +1,5 @@
 [tox]
-envlist = py35,py27,pep8
+envlist = py27,py37,pep8
 minversion = 2.0
 skipsdist = True
 
@@ -11,7 +11,7 @@
          OS_STDERR_NOCAPTURE=False
 
 deps =
-       
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+       
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
        -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 commands = stestr run --slowest {posargs}
@@ -69,12 +69,15 @@
 
 [testenv:releasenotes]
 basepython = python3
-deps = -r{toxinidir}/doc/requirements.txt
+deps =
+  
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+  -r{toxinidir}/doc/requirements.txt
 commands =
   sphinx-build -a -E -W -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
 
 [flake8]
-ignore = F403,F812,F821
+# E731 skipped as assign a lambda expression
+ignore = E731,F403,F812,F821
 show-source = True
 exclude = .venv*,.tox,dist,*egg,build,.git,doc,*lib/python*,.update-venv
 


Reply via email to