Hello community,

here is the log from the commit of package python-novaclient for 
openSUSE:Factory checked in at 2017-06-08 15:03:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-novaclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-novaclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-novaclient"

Thu Jun  8 15:03:08 2017 rev:25 rq:501641 version:7.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-novaclient/python-novaclient.changes      
2017-02-21 13:46:28.297112573 +0100
+++ /work/SRC/openSUSE:Factory/.python-novaclient.new/python-novaclient.changes 
2017-06-08 15:03:09.161756798 +0200
@@ -1,0 +2,13 @@
+Wed Jun  7 09:49:44 UTC 2017 - [email protected]
+
+- update to version 7.1.1
+  - Fix cinder volume leakage
+  - Fix ValueError when incorrect metadata passed
+  - Fix devstack python-novaclient warning
+  - Fix aggregate_update name and availability_zone clash
+  - Update .gitreview for stable/ocata
+  - Update UPPER_CONSTRAINTS_FILE for stable/ocata
+  - Updated from global requirements
+  - Tags and Metadata fields with unicode cannot be correctly displayed
+
+-------------------------------------------------------------------

Old:
----
  python-novaclient-7.1.0.tar.gz

New:
----
  python-novaclient-7.1.1.tar.gz

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

Other differences:
------------------
++++++ python-novaclient.spec ++++++
--- /var/tmp/diff_new_pack.PC8PD9/_old  2017-06-08 15:03:09.913650684 +0200
+++ /var/tmp/diff_new_pack.PC8PD9/_new  2017-06-08 15:03:09.913650684 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-novaclient
-Version:        7.1.0
+Version:        7.1.1
 Release:        0
 Summary:        Python API and CLI for OpenStack Nova
 License:        Apache-2.0
@@ -44,7 +44,7 @@
 Requires:       python-Babel >= 2.3.4
 Requires:       python-PrettyTable >= 0.7.1
 Requires:       python-iso8601 >= 0.1.11
-Requires:       python-keystoneauth1 >= 2.17.0
+Requires:       python-keystoneauth1 >= 2.18.0
 Requires:       python-oslo.i18n >= 2.1.0
 Requires:       python-oslo.serialization >= 1.10.0
 Requires:       python-oslo.utils >= 3.18.0

++++++ python-novaclient-7.1.0.tar.gz -> python-novaclient-7.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/AUTHORS 
new/python-novaclient-7.1.1/AUTHORS
--- old/python-novaclient-7.1.0/AUTHORS 2017-01-26 23:25:19.000000000 +0100
+++ new/python-novaclient-7.1.1/AUTHORS 2017-05-08 23:49:59.000000000 +0200
@@ -108,6 +108,7 @@
 David Wittman <[email protected]>
 Dean Troyer <[email protected]>
 Diana Clarke <[email protected]>
+Dinesh Bhor <[email protected]>
 Dirk Mueller <[email protected]>
 Dominik Heidler <[email protected]>
 Doug Hellmann <[email protected]>
@@ -247,6 +248,7 @@
 Noorul Islam K M <[email protected]>
 Ollie Leahy <[email protected]>
 Ondřej Nový <[email protected]>
+OpenStack Release Bot <[email protected]>
 Paul Voccio <[email protected]>
 Paul Voccio <[email protected]>
 Pavel Kholkin <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/ChangeLog 
new/python-novaclient-7.1.1/ChangeLog
--- old/python-novaclient-7.1.0/ChangeLog       2017-01-26 23:25:19.000000000 
+0100
+++ new/python-novaclient-7.1.1/ChangeLog       2017-05-08 23:49:59.000000000 
+0200
@@ -1,6 +1,18 @@
 CHANGES
 =======
 
+7.1.1
+-----
+
+* Fix devstack python-novaclient warning
+* Fix cinder volume leakage
+* Updated from global requirements
+* Fix aggregate_update name and availability_zone clash
+* Fix ValueError when incorrect metadata passed
+* Update UPPER_CONSTRAINTS_FILE for stable/ocata
+* Tags and Metadata fields with unicode cannot be correctly displayed
+* Update .gitreview for stable/ocata
+
 7.1.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/PKG-INFO 
new/python-novaclient-7.1.1/PKG-INFO
--- old/python-novaclient-7.1.0/PKG-INFO        2017-01-26 23:25:20.000000000 
+0100
+++ new/python-novaclient-7.1.1/PKG-INFO        2017-05-08 23:50:00.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-novaclient
-Version: 7.1.0
+Version: 7.1.1
 Summary: Client library for OpenStack Compute API
 Home-page: http://docs.openstack.org/developer/python-novaclient
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/novaclient/shell.py 
new/python-novaclient-7.1.1/novaclient/shell.py
--- old/python-novaclient-7.1.0/novaclient/shell.py     2017-01-26 
23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/novaclient/shell.py     2017-05-08 
23:48:26.000000000 +0200
@@ -840,8 +840,8 @@
         # Recreate client object with discovered version.
         self.cs = client.Client(
             api_version,
-            os_username, os_password, os_project_name,
-            tenant_id=os_project_id, user_id=os_user_id,
+            os_username, os_password, project_id=os_project_id,
+            project_name=os_project_name, user_id=os_user_id,
             auth_url=os_auth_url, insecure=insecure,
             region_name=os_region_name, endpoint_type=endpoint_type,
             extensions=self.extensions, service_type=service_type,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/novaclient/tests/functional/v2/legacy/test_servers.py
 
new/python-novaclient-7.1.1/novaclient/tests/functional/v2/legacy/test_servers.py
--- 
old/python-novaclient-7.1.0/novaclient/tests/functional/v2/legacy/test_servers.py
   2017-01-26 23:24:23.000000000 +0100
+++ 
new/python-novaclient-7.1.1/novaclient/tests/functional/v2/legacy/test_servers.py
   2017-05-08 23:48:27.000000000 +0200
@@ -31,6 +31,11 @@
                                             imageRef=self.image.id)
         self.wait_for_volume_status(volume, "available")
 
+        if (len(bdm_params) >= 3 and bdm_params[2] == '1'):
+            delete_volume = False
+        else:
+            delete_volume = True
+
         bdm_params = ':'.join(bdm_params)
         if bdm_params:
             bdm_params = ''.join((':', bdm_params))
@@ -51,6 +56,10 @@
         self.client.servers.delete(server_id)
         self.wait_for_resource_delete(server_id, self.client.servers)
 
+        if delete_volume:
+            self.cinder.volumes.delete(volume.id)
+            self.wait_for_resource_delete(volume.id, self.cinder.volumes)
+
     def test_boot_server_with_legacy_bdm(self):
         # bdm v1 format
         # <id>:<type>:<size(GB)>:<delete-on-terminate>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/novaclient/tests/functional/v2/test_aggregates.py 
new/python-novaclient-7.1.1/novaclient/tests/functional/v2/test_aggregates.py
--- 
old/python-novaclient-7.1.0/novaclient/tests/functional/v2/test_aggregates.py   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/python-novaclient-7.1.1/novaclient/tests/functional/v2/test_aggregates.py   
    2017-05-08 23:48:27.000000000 +0200
@@ -0,0 +1,64 @@
+# -*- coding: utf-8 -*-
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from oslo_utils import uuidutils
+
+from novaclient.tests.functional import base
+
+
+class TestAggregatesNovaClient(base.ClientTestBase):
+    COMPUTE_API_VERSION = '2.1'
+
+    def setUp(self):
+        super(TestAggregatesNovaClient, self).setUp()
+        self.agg1 = 'agg-%s' % uuidutils.generate_uuid()
+        self.agg2 = 'agg-%s' % uuidutils.generate_uuid()
+        self.addCleanup(self._clean_aggregates)
+
+    def _clean_aggregates(self):
+        for a in (self.agg1, self.agg2):
+            try:
+                self.nova('aggregate-delete', params=a)
+            except Exception:
+                pass
+
+    def test_aggregate_update_name_legacy(self):
+        self.nova('aggregate-create', params=self.agg1)
+        self.nova('aggregate-update', params='%s %s' % (self.agg1, self.agg2))
+        output = self.nova('aggregate-show', params=self.agg2)
+        self.assertIn(self.agg2, output)
+        self.nova('aggregate-delete', params=self.agg2)
+
+    def test_aggregate_update_name(self):
+        self.nova('aggregate-create', params=self.agg1)
+        self.nova('aggregate-update',
+                  params='--name=%s %s' % (self.agg2, self.agg1))
+        output = self.nova('aggregate-show', params=self.agg2)
+        self.assertIn(self.agg2, output)
+        self.nova('aggregate-delete', params=self.agg2)
+
+    def test_aggregate_update_az_legacy(self):
+        self.nova('aggregate-create', params=self.agg2)
+        self.nova('aggregate-update',
+                  params='%s %s myaz' % (self.agg2, self.agg2))
+        output = self.nova('aggregate-show', params=self.agg2)
+        self.assertIn('myaz', output)
+        self.nova('aggregate-delete', params=self.agg2)
+
+    def test_aggregate_update_az(self):
+        self.nova('aggregate-create', params=self.agg2)
+        self.nova('aggregate-update',
+                  params='--availability-zone=myaz %s' % self.agg2)
+        output = self.nova('aggregate-show', params=self.agg2)
+        self.assertIn('myaz', output)
+        self.nova('aggregate-delete', params=self.agg2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/novaclient/tests/functional/v2/test_servers.py 
new/python-novaclient-7.1.1/novaclient/tests/functional/v2/test_servers.py
--- old/python-novaclient-7.1.0/novaclient/tests/functional/v2/test_servers.py  
2017-01-26 23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/novaclient/tests/functional/v2/test_servers.py  
2017-05-08 23:48:26.000000000 +0200
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 #    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
@@ -134,9 +135,9 @@
 
     COMPUTE_API_VERSION = "2.26"
 
-    def _boot_server_with_tags(self):
+    def _boot_server_with_tags(self, tags=["t1", "t2"]):
         uuid = self._create_server().id
-        self.client.servers.set_tags(uuid, ["t1", "t2"])
+        self.client.servers.set_tags(uuid, tags)
         return uuid
 
     def test_show(self):
@@ -145,6 +146,20 @@
         self.assertEqual('["t1", "t2"]', self._get_value_from_the_table(
             output, "tags"))
 
+    def test_unicode_tag_correctly_displayed(self):
+        """Regression test for bug #1669683.
+
+        List and dict fields with unicode cannot be correctly
+        displayed.
+
+        Ensure that once we fix this it doesn't regress.
+        """
+        # create an instance with chinese tag
+        uuid = self._boot_server_with_tags(tags=["中文标签"])
+        output = self.nova("show %s" % uuid)
+        self.assertEqual('["中文标签"]', self._get_value_from_the_table(
+            output, "tags"))
+
     def test_list(self):
         uuid = self._boot_server_with_tags()
         output = self.nova("server-tag-list %s" % uuid)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/novaclient/tests/unit/v2/test_shell.py 
new/python-novaclient-7.1.1/novaclient/tests/unit/v2/test_shell.py
--- old/python-novaclient-7.1.0/novaclient/tests/unit/v2/test_shell.py  
2017-01-26 23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/novaclient/tests/unit/v2/test_shell.py  
2017-05-08 23:48:27.000000000 +0200
@@ -614,6 +614,14 @@
             }},
         )
 
+    def test_boot_with_incorrect_metadata(self):
+        cmd = ('boot --image %s --flavor 1 --meta foo '
+               'some-server ' % FAKE_UUID_1)
+        result = self.assertRaises(argparse.ArgumentTypeError,
+                                   self.run_command, cmd)
+        expected = "'['foo']' is not in the format of 'key=value'"
+        self.assertEqual(expected, result.args[0])
+
     def test_boot_hints(self):
         self.run_command('boot --image %s --flavor 1 '
                          '--hint a=b0=c0 --hint a=b1=c1 some-server ' %
@@ -1235,6 +1243,13 @@
             {'createImage': {'name': 'mysnapshot', 'metadata': {}}},
         )
 
+    def test_create_image_with_incorrect_metadata(self):
+        cmd = 'image-create sample-server mysnapshot --metadata foo'
+        result = self.assertRaises(argparse.ArgumentTypeError,
+                                   self.run_command, cmd)
+        expected = "'['foo']' is not in the format of 'key=value'"
+        self.assertEqual(expected, result.args[0])
+
     def test_create_image_with_metadata(self):
         self.run_command(
             'image-create sample-server mysnapshot --metadata mykey=123')
@@ -1483,6 +1498,13 @@
         self.assert_called('GET', '/flavors/1', pos=4)
         self.assert_called('GET', '/v2/images/%s' % FAKE_UUID_2, pos=5)
 
+    def test_rebuild_with_incorrect_metadata(self):
+        cmd = 'rebuild sample-server %s --name asdf --meta foo' % FAKE_UUID_1
+        result = self.assertRaises(argparse.ArgumentTypeError,
+                                   self.run_command, cmd)
+        expected = "'['foo']' is not in the format of 'key=value'"
+        self.assertEqual(expected, result.args[0])
+
     def test_start(self):
         self.run_command('start sample-server')
         self.assert_called('POST', '/servers/1234/action', {'os-start': None})
@@ -2015,30 +2037,6 @@
         body = {"aggregate": {"name": "foo", "availability_zone": "new_zone"}}
         self.assert_called('PUT', '/os-aggregates/1', body, pos=-2)
         self.assert_called('GET', '/os-aggregates/1', pos=-1)
-
-    def test_aggregate_update_by_id_legacy(self):
-        self.run_command('aggregate-update 1 new_name')
-        body = {"aggregate": {"name": "new_name"}}
-        self.assert_called('PUT', '/os-aggregates/1', body, pos=-2)
-        self.assert_called('GET', '/os-aggregates/1', pos=-1)
-
-    def test_aggregate_update_by_name_legacy(self):
-        self.run_command('aggregate-update test new_name')
-        body = {"aggregate": {"name": "new_name"}}
-        self.assert_called('PUT', '/os-aggregates/1', body, pos=-2)
-        self.assert_called('GET', '/os-aggregates/1', pos=-1)
-
-    def test_aggregate_update_with_availability_zone_by_id_legacy(self):
-        self.run_command('aggregate-update 1 foo new_zone')
-        body = {"aggregate": {"name": "foo", "availability_zone": "new_zone"}}
-        self.assert_called('PUT', '/os-aggregates/1', body, pos=-2)
-        self.assert_called('GET', '/os-aggregates/1', pos=-1)
-
-    def test_aggregate_update_with_availability_zone_by_name_legacy(self):
-        self.run_command('aggregate-update test foo new_zone')
-        body = {"aggregate": {"name": "foo", "availability_zone": "new_zone"}}
-        self.assert_called('PUT', '/os-aggregates/1', body, pos=-2)
-        self.assert_called('GET', '/os-aggregates/1', pos=-1)
 
     def test_aggregate_set_metadata_add_by_id(self):
         out, err = self.run_command('aggregate-set-metadata 3 foo=bar')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/novaclient/utils.py 
new/python-novaclient-7.1.1/novaclient/utils.py
--- old/python-novaclient-7.1.0/novaclient/utils.py     2017-01-26 
23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/novaclient/utils.py     2017-05-08 
23:48:26.000000000 +0200
@@ -246,7 +246,7 @@
     for k, v in sorted(d.items()):
         # convert dict to str to check length
         if isinstance(v, (dict, list)):
-            v = jsonutils.dumps(v)
+            v = jsonutils.dumps(v, ensure_ascii=False)
         if wrap > 0:
             v = textwrap.fill(six.text_type(v), wrap)
         # if value has a newline, add in multiple rows
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/novaclient/v2/shell.py 
new/python-novaclient-7.1.1/novaclient/v2/shell.py
--- old/python-novaclient-7.1.0/novaclient/v2/shell.py  2017-01-26 
23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/novaclient/v2/shell.py  2017-05-08 
23:48:27.000000000 +0200
@@ -114,7 +114,11 @@
 
 
 def _meta_parsing(metadata):
-    return dict(v.split('=', 1) for v in metadata)
+    try:
+        return dict(v.split('=', 1) for v in metadata)
+    except ValueError:
+        msg = _("'%s' is not in the format of 'key=value'") % metadata
+        raise argparse.ArgumentTypeError(msg)
 
 
 def _match_image(cs, wanted_properties):
@@ -3771,7 +3775,8 @@
     metavar='<aggregate>',
     help=_('Name or ID of aggregate to update.'))
 @utils.arg(
-    'name',
+    'old_name',
+    metavar='<name>',
     nargs='?',
     action=shell.DeprecatedAction,
     use=_('use "%s"; this option will be removed in '
@@ -3782,7 +3787,7 @@
     dest='name',
     help=_('Name of aggregate.'))
 @utils.arg(
-    'availability_zone',
+    'old_availability_zone',
     metavar='<availability-zone>',
     nargs='?',
     default=None,
@@ -3799,10 +3804,11 @@
     """Update the aggregate's name and optionally availability zone."""
     aggregate = _find_aggregate(cs, args.aggregate)
     updates = {}
-    if args.name:
-        updates["name"] = args.name
-    if args.availability_zone:
-        updates["availability_zone"] = args.availability_zone
+    if args.name or args.old_name:
+        updates["name"] = args.name or args.old_name
+    if args.availability_zone or args.old_availability_zone:
+        updates["availability_zone"] = (args.availability_zone or
+                                        args.old_availability_zone)
 
     aggregate = cs.aggregates.update(aggregate.id, updates)
     print(_("Aggregate %s has been successfully updated.") % aggregate.id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/python_novaclient.egg-info/PKG-INFO 
new/python-novaclient-7.1.1/python_novaclient.egg-info/PKG-INFO
--- old/python-novaclient-7.1.0/python_novaclient.egg-info/PKG-INFO     
2017-01-26 23:25:19.000000000 +0100
+++ new/python-novaclient-7.1.1/python_novaclient.egg-info/PKG-INFO     
2017-05-08 23:49:59.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-novaclient
-Version: 7.1.0
+Version: 7.1.1
 Summary: Client library for OpenStack Compute API
 Home-page: http://docs.openstack.org/developer/python-novaclient
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/python_novaclient.egg-info/SOURCES.txt 
new/python-novaclient-7.1.1/python_novaclient.egg-info/SOURCES.txt
--- old/python-novaclient-7.1.0/python_novaclient.egg-info/SOURCES.txt  
2017-01-26 23:25:20.000000000 +0100
+++ new/python-novaclient-7.1.1/python_novaclient.egg-info/SOURCES.txt  
2017-05-08 23:50:00.000000000 +0200
@@ -43,6 +43,7 @@
 novaclient/tests/functional/hooks/post_test_hook.sh
 novaclient/tests/functional/v2/__init__.py
 novaclient/tests/functional/v2/fake_crypto.py
+novaclient/tests/functional/v2/test_aggregates.py
 novaclient/tests/functional/v2/test_consoles.py
 novaclient/tests/functional/v2/test_device_tagging.py
 novaclient/tests/functional/v2/test_extended_attributes.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/python_novaclient.egg-info/pbr.json 
new/python-novaclient-7.1.1/python_novaclient.egg-info/pbr.json
--- old/python-novaclient-7.1.0/python_novaclient.egg-info/pbr.json     
2017-01-26 23:25:19.000000000 +0100
+++ new/python-novaclient-7.1.1/python_novaclient.egg-info/pbr.json     
2017-05-08 23:49:59.000000000 +0200
@@ -1 +1 @@
-{"is_release": true, "git_version": "f6e0128"}
\ No newline at end of file
+{"is_release": true, "git_version": "0063ebc"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-novaclient-7.1.0/python_novaclient.egg-info/requires.txt 
new/python-novaclient-7.1.1/python_novaclient.egg-info/requires.txt
--- old/python-novaclient-7.1.0/python_novaclient.egg-info/requires.txt 
2017-01-26 23:25:19.000000000 +0100
+++ new/python-novaclient-7.1.1/python_novaclient.egg-info/requires.txt 
2017-05-08 23:49:59.000000000 +0200
@@ -1,4 +1,4 @@
-pbr>=1.8
+pbr<2.0.0,>=1.8
 keystoneauth1>=2.18.0
 iso8601>=0.1.11
 oslo.i18n>=2.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/requirements.txt 
new/python-novaclient-7.1.1/requirements.txt
--- old/python-novaclient-7.1.0/requirements.txt        2017-01-26 
23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/requirements.txt        2017-05-08 
23:48:27.000000000 +0200
@@ -1,7 +1,7 @@
 # The order of packages is significant, because pip processes them in the order
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
-pbr>=1.8 # Apache-2.0
+pbr<2.0.0,>=1.8 # Apache-2.0
 keystoneauth1>=2.18.0 # Apache-2.0
 iso8601>=0.1.11 # MIT
 oslo.i18n>=2.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-novaclient-7.1.0/tox.ini 
new/python-novaclient-7.1.1/tox.ini
--- old/python-novaclient-7.1.0/tox.ini 2017-01-26 23:24:23.000000000 +0100
+++ new/python-novaclient-7.1.1/tox.ini 2017-05-08 23:48:27.000000000 +0200
@@ -11,9 +11,9 @@
                     bash
 passenv = ZUUL_CACHE_DIR
           REQUIREMENTS_PIP_LOCATION
-install_command = {toxinidir}/tools/tox_install.sh 
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
 {opts} {packages}
+install_command = {toxinidir}/tools/tox_install.sh 
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/ocata}
 {opts} {packages}
 setenv = VIRTUAL_ENV={envdir}
-         BRANCH_NAME=master
+         BRANCH_NAME=stable/ocata
          CLIENT_NAME=python-novaclient
 
 deps = -r{toxinidir}/test-requirements.txt


Reply via email to