Hello community, here is the log from the commit of package python-oslo.config for openSUSE:13.1 checked in at 2013-10-02 13:33:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.1/python-oslo.config (Old) and /work/SRC/openSUSE:13.1/.python-oslo.config.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.config" Changes: -------- --- /work/SRC/openSUSE:13.1/python-oslo.config/python-oslo.config.changes 2013-09-23 11:06:46.000000000 +0200 +++ /work/SRC/openSUSE:13.1/.python-oslo.config.new/python-oslo.config.changes 2013-10-02 13:33:08.000000000 +0200 @@ -1,0 +2,20 @@ +Fri Sep 27 08:11:13 UTC 2013 - speili...@suse.com + +- Fix service URL + +------------------------------------------------------------------- +Thu Sep 26 13:18:36 UTC 2013 - dmuel...@suse.com + +- update to 1.2.1: + * 1223667_: Fix DictOpt to split only the first colon + * 1228995_: Disallow duplicate keys in DictOpt + * Explicit version removed from setup.cfg + * Dependency version updates + * Add auto-create support for OptGroup instances (see review 41865_) + * Publish full API docs to docs.openstack.org_ + * Finished Python 3 support + * 1196601_: Raise an exception if print_help() is called before __call__ + * Fix DeprecatedOpt equality test + * Use oslo.sphinx + +------------------------------------------------------------------- Old: ---- oslo.config-1.2.0a4.tar.gz New: ---- oslo.config-1.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslo.config.spec ++++++ --- /var/tmp/diff_new_pack.JkWRc1/_old 2013-10-02 13:33:08.000000000 +0200 +++ /var/tmp/diff_new_pack.JkWRc1/_new 2013-10-02 13:33:08.000000000 +0200 @@ -19,23 +19,21 @@ %define component oslo Name: python-oslo.config -Version: 1.2.0a4 +Version: 1.2.1 Release: 0 Url: https://launchpad.net/oslo/ Summary: OpenStack configuration API License: Apache-2.0 Group: Development/Languages/Python -Source: oslo.config-1.2.0a4.tar.gz +Source: oslo.config-1.2.1.tar.gz Source99: rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: fdupes BuildRequires: openstack-suse-macros BuildRequires: python-base -BuildRequires: python-d2to1 BuildRequires: python-oslo.sphinx BuildRequires: python-pbr Requires: python-argparse -Requires: python-d2to1 Requires: python-pbr Requires: python-six Provides: python-oslo-config = 2013.2 @@ -85,13 +83,7 @@ This package contains testsuite files for %{name}. %prep -%setup -q -n oslo.config-1.2.0a4 - -# https://bugs.launchpad.net/oslo/+bug/1200984 -%if "%version" < "1.2.0a3" -echo "need versioning fix first" -exit 1 -%endif +%setup -q -n oslo.config-1.2.1 %build python setup.py build ++++++ _service ++++++ --- /var/tmp/diff_new_pack.JkWRc1/_old 2013-10-02 13:33:08.000000000 +0200 +++ /var/tmp/diff_new_pack.JkWRc1/_new 2013-10-02 13:33:08.000000000 +0200 @@ -1,6 +1,6 @@ <services> <service name="git_tarballs" mode="disabled"> - <param name="url">http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a4.tar.gz</param> + <param name="url">http://tarballs.openstack.org/oslo.config/oslo.config-1.2.1.tar.gz</param> <param name="email">opensuse-cl...@opensuse.org</param> <param name="plain-version">True</param> </service> ++++++ oslo.config-1.2.0a4.tar.gz -> oslo.config-1.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/AUTHORS new/oslo.config-1.2.1/AUTHORS --- old/oslo.config-1.2.0a4/AUTHORS 2013-08-23 16:41:52.000000000 +0200 +++ new/oslo.config-1.2.1/AUTHORS 2013-09-26 11:48:14.000000000 +0200 @@ -12,6 +12,7 @@ Flaper Fesp <flape...@gmail.com> Gary Kotton <gkot...@redhat.com> Giampaolo Lauria <lau...@us.ibm.com> +Ian Wienand <iwien...@redhat.com> James E. Blair <jebl...@openstack.org> Jason Kölker <ja...@koelker.net> Joe Gordon <j...@cloudscaling.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/ChangeLog new/oslo.config-1.2.1/ChangeLog --- old/oslo.config-1.2.0a4/ChangeLog 2013-08-23 16:41:52.000000000 +0200 +++ new/oslo.config-1.2.1/ChangeLog 2013-09-26 11:48:14.000000000 +0200 @@ -1,3 +1,148 @@ +commit eae8b3108d2c794a373660633042f3c0e3a23546 +Merge: 3d59667 bf70519 +Author: Jenkins <jenk...@review.openstack.org> +Date: Thu Sep 26 09:05:00 2013 +0000 + + Merge "Fix subparsers add_parser() regression" + +commit bf705193595d34a70abefc4b3867ea550c0c15db +Author: Mark McLoughlin <mar...@redhat.com> +Date: Wed Sep 25 20:07:03 2013 +0100 + + Fix subparsers add_parser() regression + + With SubCommandOpt, the handler() callback gets invoked with a + subparsers object which has a add_parser() method. The arguments to + this method match the arguments to the ArgumentParser constructor and + the arguments are passed to the class for our ArgumentParser instance. + + However, we added a ArgumentParser subclass (_CachedArgumentParser) so + that we could sort the output of --help ... but the subclass doesn't + support all the arguments of the parent class. + + glance-control is the only known example of a SubCommandOpt user which + passes unusual arguments to subparsers.add_parser(). It uses the parent + arg and blows up at startup with: + + File "./bin/glance-control", line 276, in add_command_parsers + parser = subparsers.add_parser(server, parents=[cmd_parser]) + File "/usr/lib64/python2.7/argparse.py", line 1064, in add_parser + parser = self._parser_class(**kwargs) + TypeError: __init__() got an unexpected keyword argument 'parents' + + It appears we broke glance-control back in June (commit 2951391), but + nobody noticed it until 1.2.0 was released and broke stable/grizzly + because we stopped using glance-control in the Havana glance unit tests + before this regression. + + Closes-Bug: #1230416 + Change-Id: I8d1b52e5390295726eb49af32eb7cab14c29592c + +commit 3d59667b781650039f5ba2c454dff39d860f879e +Author: Ian Wienand <iwien...@redhat.com> +Date: Wed Sep 25 14:31:06 2013 +1000 + + Expand DeprecatedOpt documentation + + It is not a priori obvious how deprecated options are chosen, so + expand the docstring a bit + + Change-Id: If10b45fb042b4a4d6063129b693228fd6ca86b82 + +commit 9dabbd0ff744ae9fde993861aaeae576c2e19597 +Author: Mark McLoughlin <mar...@redhat.com> +Date: Mon Sep 23 15:55:30 2013 +0100 + + Release notes for 1.2.0 + + Change-Id: Ic9c36f9d2b2ecc2d8d76ca87079e75f83c7f08c1 + +commit 7ec9a88fc451386c23e472036849385da038f4fa +Author: Zhongyue Luo <zhongyue....@intel.com> +Date: Thu Sep 12 21:23:36 2013 +0800 + + Raises error if duplicate keys found in DictOpt + + DictOpt didn't report when the input values had duplicate keys. + This would be a problem if the user had put in duplicate keys in + the conf file and the service didn't work as expected. + (c.f) Neutrons provider network mapping options + This patch raises a ConfigFileValueError when duplicate keys are found. + + Fixes bug #1228995 + + Change-Id: I91e1bd0eda4ed4fd6c7eb6ea5d4a89d583d1305e + +commit f2be4e83f04579ee0cd87e8601868f310c951fac +Author: Zhongyue Luo <zhongyue....@intel.com> +Date: Wed Sep 11 13:11:17 2013 +0800 + + Fix DictOpt to split only the first colon + + I've encountered a ValueError when adapting DictOpt to + neutron's network_vlan_ranges. + https://github.com/openstack/neutron/blob/master/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini#L23 + + This patch makes dictopt to split only the first colon for every value + + Fixes bug #1223667 + + Change-Id: Iee4011f2a45be933dad393c72df099d6a8116849 + +commit 0b915fd91f40c968aa507ba3c90ae43071646a5f +Merge: a0905c8 58aa8f1 +Author: Jenkins <jenk...@review.openstack.org> +Date: Tue Aug 27 02:53:18 2013 +0000 + + Merge "Update requirements" + +commit 58aa8f12a357ca7ef8d78d2b00ae03057103f8d3 +Author: Julien Danjou <jul...@danjou.info> +Date: Fri Aug 23 11:06:04 2013 +0200 + + Update requirements + + This is the fabulous result of running the update.py script from + openstack/requirements with this repository as the target. It therefore + updates all dependencies, with nice version numbers that this repository + have to use to work. It also fixes case on some dependencies. + This update also brings a brand shiny new setup.py automatically handled + and generate by this same openstack/requirements repository. + + Change-Id: I22ec396e5fa802c1617514aa6df3ed82f05271b0 + +commit a0905c875ba19f52c72822fa2cb85598d7099f95 +Author: Mark McLoughlin <mar...@redhat.com> +Date: Fri Aug 23 16:06:23 2013 +0100 + + Release notes for 1.2.0a4 + + Change-Id: Iff43254317071b863d1ccd50eef4d71fb85240a7 + +commit 662cfb09c0ea62e642077f80d74056b31dba94d1 +Author: Mark McLoughlin <mar...@redhat.com> +Date: Sun Aug 25 12:46:48 2013 +0100 + + Remove explicit version from setup.cfg + + With the explicit "pre version" in setup.cfg, PBR generates our + version as 1.2.0.a1.g2748574 and, without it, it generates + 1.2.0a4.1.g2748574. + + which in turn causes nova to complain about: + + VersionConflict: (oslo.config 1.2.0.a1.g2748574 + (/opt/stack/new/oslo.config), + Requirement.parse('oslo.config>=1.2.0a3')) + + when trying to load extensions with stevedore. + + I'm not sure why this is suddenly an issue after 1.2.0a4 has been + tagged, but removing this version is the right thing to do anyway + since we want to rely on tags for all versioning info. + + Change-Id: I9090b8401a43befd73a82f9bb78e0b6165619c7c + commit 1cec054637b95fe394bbc57642806d41dd28ed8b Author: Davanum Srinivas <d...@linux.vnet.ibm.com> Date: Sun Aug 18 19:52:33 2013 -0400 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/PKG-INFO new/oslo.config-1.2.1/PKG-INFO --- old/oslo.config-1.2.0a4/PKG-INFO 2013-08-23 16:41:53.000000000 +0200 +++ new/oslo.config-1.2.1/PKG-INFO 2013-09-26 11:48:14.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: oslo.config -Version: 1.2.0a4 +Version: 1.2.1 Summary: Oslo Configuration API Home-page: https://launchpad.net/oslo Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/doc/source/index.rst new/oslo.config-1.2.1/doc/source/index.rst --- old/oslo.config-1.2.0a4/doc/source/index.rst 2013-08-23 16:41:15.000000000 +0200 +++ new/oslo.config-1.2.1/doc/source/index.rst 2013-09-26 11:47:53.000000000 +0200 @@ -20,6 +20,31 @@ Release Notes ============= +1.2.0 +----- + +* 1223667_: Fix DictOpt to split only the first colon +* 1228995_: Disallow duplicate keys in DictOpt +* Explicit version removed from setup.cfg +* Dependency version updates + +.. _1223667: https://bugs.launchpad.net/oslo/+bug/1223667 +.. _1228995: https://bugs.launchpad.net/oslo/+bug/1228995 + +1.2.0a4 +------- + +* Add auto-create support for OptGroup instances (see review 41865_) +* Publish full API docs to docs.openstack.org_ +* Finished Python 3 support +* 1196601_: Raise an exception if print_help() is called before __call__ +* Fix DeprecatedOpt equality test +* Use oslo.sphinx + +.. _41865: https://review.openstack.org/41865 +.. _1196601: https://bugs.launchpad.net/oslo/+bug/1196601 +.. _docs.openstack.org: http://docs.openstack.org/developer/oslo.config/ + 1.2.0a3 ------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo/config/cfg.py new/oslo.config-1.2.1/oslo/config/cfg.py --- old/oslo.config-1.2.0a4/oslo/config/cfg.py 2013-08-23 16:41:15.000000000 +0200 +++ new/oslo.config-1.2.1/oslo/config/cfg.py 2013-09-26 11:47:53.000000000 +0200 @@ -733,6 +733,13 @@ cfg.CONF.register_group(cfg.OptGroup('blaa')) cfg.CONF.register_opt(cfg.StrOpt('foo', deprecated_opts=oldopts), group='blaa') + + Multi-value options will return all new and deprecated + options. For single options, if the new option is present + ("[blaa]/foo" above) it will override any deprecated options + present. If the new option is not present and multiple + deprecated options are present, the option corresponding to + the first element of deprecated_opts will be chosen. """ def __init__(self, name, group=None): @@ -911,9 +918,23 @@ Split a value into key/value pairs separated by commas, then split the each into key and value using colons as separator and then stuff the key/value (s) into a dictionary + + :param value: the string value of key/value pairs separated by commas + :returns: a dict object + :raises: ConfigFileValueError """ - return dict([[a.strip() for a in v.split(':')] - for v in value.split(',')]) + res = dict() + for v in [a for a in value.split(',')]: + try: + key, val = [a.strip() for a in v.split(':', 1)] + except ValueError: + raise ConfigFileValueError("Failed to parse '%s' as a colon " + "separated key/value pair" % v) + if key in res: + raise ConfigFileValueError("Duplicate key error. Key: '%s'" % + key) + res[key] = val + return res class _StoreDictAction(argparse.Action): """An argparse action for parsing an option value into a dictionary.""" @@ -1448,8 +1469,8 @@ order. """ - def __init__(self, prog=None, usage=None): - super(_CachedArgumentParser, self).__init__(prog, usage) + def __init__(self, prog=None, usage=None, **kwargs): + super(_CachedArgumentParser, self).__init__(prog, usage, **kwargs) self._args_cache = {} def add_parser_argument(self, container, *args, **kwargs): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo.config.egg-info/PKG-INFO new/oslo.config-1.2.1/oslo.config.egg-info/PKG-INFO --- old/oslo.config-1.2.0a4/oslo.config.egg-info/PKG-INFO 2013-08-23 16:41:52.000000000 +0200 +++ new/oslo.config-1.2.1/oslo.config.egg-info/PKG-INFO 2013-09-26 11:48:14.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: oslo.config -Version: 1.2.0a4 +Version: 1.2.1 Summary: Oslo Configuration API Home-page: https://launchpad.net/oslo Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo.config.egg-info/SOURCES.txt new/oslo.config-1.2.1/oslo.config.egg-info/SOURCES.txt --- old/oslo.config-1.2.0a4/oslo.config.egg-info/SOURCES.txt 2013-08-23 16:41:53.000000000 +0200 +++ new/oslo.config-1.2.1/oslo.config.egg-info/SOURCES.txt 2013-09-26 11:48:14.000000000 +0200 @@ -23,6 +23,7 @@ oslo.config.egg-info/SOURCES.txt oslo.config.egg-info/dependency_links.txt oslo.config.egg-info/namespace_packages.txt +oslo.config.egg-info/not-zip-safe oslo.config.egg-info/requires.txt oslo.config.egg-info/top_level.txt oslo/config/__init__.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/oslo.config.egg-info/not-zip-safe new/oslo.config-1.2.1/oslo.config.egg-info/not-zip-safe --- old/oslo.config-1.2.0a4/oslo.config.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100 +++ new/oslo.config-1.2.1/oslo.config.egg-info/not-zip-safe 2013-09-26 11:47:56.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/setup.cfg new/oslo.config-1.2.1/setup.cfg --- old/oslo.config-1.2.0a4/setup.cfg 2013-08-23 16:41:53.000000000 +0200 +++ new/oslo.config-1.2.1/setup.cfg 2013-09-26 11:48:14.000000000 +0200 @@ -1,6 +1,5 @@ [metadata] name = oslo.config -version = 1.2.0 author = OpenStack author-email = openstack-...@lists.openstack.org summary = Oslo Configuration API diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/setup.py new/oslo.config-1.2.1/setup.py --- old/oslo.config-1.2.0a4/setup.py 2013-08-23 16:41:15.000000000 +0200 +++ new/oslo.config-1.2.1/setup.py 2013-09-26 11:47:53.000000000 +0200 @@ -14,10 +14,9 @@ # 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 setuptools.setup( - namespace_packages=['oslo'], - packages=['oslo', 'oslo.config'], - setup_requires=['d2to1', 'pbr'], - d2to1=True) + setup_requires=['pbr>=0.5.21,<1.0'], + pbr=True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/test-requirements.txt new/oslo.config-1.2.1/test-requirements.txt --- old/oslo.config-1.2.0a4/test-requirements.txt 2013-08-23 16:41:15.000000000 +0200 +++ new/oslo.config-1.2.1/test-requirements.txt 2013-09-26 11:47:53.000000000 +0200 @@ -1,21 +1,17 @@ -# Install bounded pep8/pyflakes first, then let flake8 install -pep8==1.4.5 -pyflakes==0.7.2 -flake8==2.0 hacking>=0.5.6,<0.8 discover -fixtures>=0.3.12 +fixtures>=0.3.14 python-subunit testrepository>=0.0.17 -testscenarios<0.5 -testtools>=0.9.29 +testscenarios>=0.4 +testtools>=0.9.32 # when we can require tox>= 1.4, this can go into tox.ini: # [testenv:cover] # deps = {[testenv]deps} coverage -coverage +coverage>=3.6 # this is required for the docs build jobs -sphinx +sphinx>=1.1.2 oslo.sphinx diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.config-1.2.0a4/tests/test_cfg.py new/oslo.config-1.2.1/tests/test_cfg.py --- old/oslo.config-1.2.0a4/tests/test_cfg.py 2013-08-23 16:41:15.000000000 +0200 +++ new/oslo.config-1.2.1/tests/test_cfg.py 2013-09-26 11:47:53.000000000 +0200 @@ -14,6 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. +import argparse import os import shutil import sys @@ -1010,6 +1011,42 @@ self.assertTrue(hasattr(self.conf, 'foo')) self.assertEqual(self.conf.foo, {'key': 'bar'}) + def test_conf_file_dict_colon_in_value(self): + self.conf.register_opt(cfg.DictOpt('foo')) + + paths = self.create_tempfiles([('test', + '[DEFAULT]\n' + 'foo = key:bar:baz\n')]) + + self.conf(['--config-file', paths[0]]) + + self.assertTrue(hasattr(self.conf, 'foo')) + self.assertEqual(self.conf.foo, {'key': 'bar:baz'}) + + def test_conf_file_dict_value_no_colon(self): + self.conf.register_opt(cfg.DictOpt('foo')) + + paths = self.create_tempfiles([('test', + '[DEFAULT]\n' + 'foo = key:bar,baz\n')]) + + self.conf(['--config-file', paths[0]]) + + self.assertRaises(cfg.ConfigFileValueError, self.conf._get, 'foo') + self.assertRaises(AttributeError, getattr, self.conf, 'foo') + + def test_conf_file_dict_value_duplicate_key(self): + self.conf.register_opt(cfg.DictOpt('foo')) + + paths = self.create_tempfiles([('test', + '[DEFAULT]\n' + 'foo = key:bar,key:baz\n')]) + + self.conf(['--config-file', paths[0]]) + + self.assertRaises(cfg.ConfigFileValueError, self.conf._get, 'foo') + self.assertRaises(AttributeError, getattr, self.conf, 'foo') + def test_conf_file_dict_values_override_deprecated(self): self.conf.register_cli_opt(cfg.DictOpt('foo', deprecated_name='oldfoo')) @@ -2584,6 +2621,21 @@ self.conf.register_cli_opt( cfg.SubCommandOpt('cmd', handler=add_parsers)) + self.assertTrue(hasattr(self.conf, 'cmd')) + self.conf(['a', '10']) + self.assertTrue(hasattr(self.conf.cmd, 'name')) + self.assertTrue(hasattr(self.conf.cmd, 'bar')) + self.assertEqual(self.conf.cmd.name, 'a') + self.assertEqual(self.conf.cmd.bar, 10) + + def test_sub_command_with_parent(self): + def add_parsers(subparsers): + parent = argparse.ArgumentParser(add_help=False) + parent.add_argument('bar', type=int) + subparsers.add_parser('a', parents=[parent]) + + self.conf.register_cli_opt( + cfg.SubCommandOpt('cmd', handler=add_parsers)) self.assertTrue(hasattr(self.conf, 'cmd')) self.conf(['a', '10']) self.assertTrue(hasattr(self.conf.cmd, 'name')) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org