diff -Nru python-glanceclient-2.6.0/AUTHORS python-glanceclient-2.7.0/AUTHORS --- python-glanceclient-2.6.0/AUTHORS 2017-01-24 17:36:59.000000000 +0000 +++ python-glanceclient-2.7.0/AUTHORS 2017-06-01 22:07:34.000000000 +0000 @@ -61,6 +61,7 @@ Doug Hellmann Edward Hope-Morley Eiichi Aikawa +Eric Fried Erno Kuvaja Erno Kuvaja Evgeny Antyshev @@ -117,6 +118,7 @@ Longgeek Louis Taylor Louis Taylor +Luong Anh Tuan Maithem Manuel Desbonnet Mark J. Washenberger @@ -139,6 +141,7 @@ Noboru arai Oleksii Chuprykov Ondřej Nový +OpenStack Release Bot Pawel Koniszewski PranaliD Rakesh H S @@ -151,11 +154,13 @@ Sascha Peilicke Sean Dague Sean Dague +Sean Dague Shane Wang Shu Muto Shuquan Huang Sirushti Murugesan Stanislaw Pitucha +Stephen Finucane Steve Lewis Steve Martinelli Steve Martinelli @@ -190,6 +195,8 @@ ZhiQiang Fan Zhiqiang Fan amalaba +bhagyashris +ckonstanski d34dh0r53 dineshbhor eddie-sheffield @@ -199,6 +206,7 @@ isethi jaypipes kairat_kushaev +lijunbo liuqing llg8212 lrqrun @@ -207,6 +215,7 @@ rahulram rico.lin ricolin +ricolin shu-mutou sonu.kumar sridhargaddam diff -Nru python-glanceclient-2.6.0/ChangeLog python-glanceclient-2.7.0/ChangeLog --- python-glanceclient-2.6.0/ChangeLog 2017-01-24 17:36:59.000000000 +0000 +++ python-glanceclient-2.7.0/ChangeLog 2017-06-01 22:07:34.000000000 +0000 @@ -1,17 +1,44 @@ CHANGES ======= +2.7.0 +----- + +* Allow global\_request\_id in Client constructor +* Downloading image with --progress fails +* Updated from global requirements +* v2: Content-Type: application/octet-stream header always added +* Convert IOError from requests +* Downloading image with --progress fails for python3 +* Updated from global requirements +* Updated from global requirements +* Use Sphinx 1.5 warning-is-error +* Explicitly set 'builders' option +* Updated from global requirements +* Updated from global requirements +* Remove references to Python 3.4 +* Updated from global requirements +* Updated from global requirements +* Update test requirement +* Updated from global requirements +* x-openstack-request-id logged twice in logs +* Updated from global requirements +* Updated from global requirements +* Replace functions 'dict.get' and 'del' with 'dict.pop' +* Update reno for stable/ocata + 2.6.0 ----- * Updated from global requirements * Add request id to returned objects -* Add ploop in disk_format +* Add ploop in disk\_format * Updated from global requirements * Handle formatting of subcommand name in error output -* Add vhdx in disk_format +* Add vhdx in disk\_format +* Replace dict.iteritems() with dict.items() * Updated from global requirements -* Use import_versioned_module from oslo.utils +* Use import\_versioned\_module from oslo.utils * Updated from global requirements * Add alt text for badges * Show team and repo badges on README @@ -22,7 +49,7 @@ * Enable release notes translation * Add Apache 2.0 license to source file * Updated from global requirements -* Remove unused _i18n.py shim +* Remove unused \_i18n.py shim * Updated from global requirements * Replace 'assertTrue(a not in b)' with 'assertNotIn(a, b)' * Updated from global requirements @@ -30,7 +57,7 @@ * standardize release note page ordering * Updated from global requirements * switch from keystoneclient to keystoneauth -* Improve tools/tox_install.sh +* Improve tools/tox\_install.sh * Use constraints everywhere * Update reno for stable/newton @@ -72,7 +99,7 @@ * Use correct order of arguments to assertEqual * Updated from global requirements * Update outdated image shema -* Replace tempest_lib with tempest.lib +* Replace tempest\_lib with tempest.lib * Log request-id for each api call * Updated from global requirements * Updated from global requirements @@ -83,19 +110,19 @@ * Updated from global requirements * Remove deprecated construct method from session init * Add upper constraints to glanceclient -* Remove unused skip_authentication decorator +* Remove unused skip\_authentication decorator * Don't update tags every time * Updated from global requirements * Fixed grammar in image-download command description * Updated from global requirements * Updated from global requirements * Updated from global requirements -* Revert "Add last_request_id member to HTTPClient and SessionClient" +* Revert "Add last\_request\_id member to HTTPClient and SessionClient" * [Trivial] Remove unnecessary executable privilege * Fix "Codec can't encode characters" * Updated from global requirements * Update the home-page with developer documentation -* Get endpoint if os_image_url is not set +* Get endpoint if os\_image\_url is not set * Updated from global requirements * Corrected wrong parameter in docstring * Updated from global requirements @@ -103,21 +130,21 @@ * Fix typos in docstrings and comments * Updated from global requirements * Re-enable stacktracing when --debug is used -* Add last_request_id member to HTTPClient and SessionClient +* Add last\_request\_id member to HTTPClient and SessionClient * Fix v2 so that you can see the default help info -* Update auth_token before sending request +* Update auth\_token before sending request * Fix missing of debug info after we use session * Ship the default metadata schema in the client * Docs are generated incorrectly * Fix location update -* Catch InUseByStore case in do_image_delete +* Catch InUseByStore case in do\_image\_delete * Update reno for stable/mitaka 2.0.0 ----- * Handle 403 forbidden on download -* Test: use assert_has_calls() instead +* Test: use assert\_has\_calls() instead * Updated from global requirements * trival: fix a typo in comment * Auto-generated squash commit @@ -147,12 +174,12 @@ * Change assertTrue(isinstance()) by optimal assert * Add help the ability to sort images with multiple keys * use keystoneclient exceptions instead of oslo-incubator code -* Add docker to image_schema on glance v2 cli +* Add docker to image\_schema on glance v2 cli * remove python 2.6 trove classifier * Fix image-download to stdout on Python 3.x * Updated from global requirements * replace the deprecated keystoneclient...apiclient -* Replace assertEqual(None, *) with assertIsNone in tests +* Replace assertEqual(None, \*) with assertIsNone in tests * Removes MANIFEST.in as it is not needed explicitely by PBR * Updated from global requirements * Remove broken try/except workaround for old requests @@ -167,7 +194,7 @@ * Updated from global requirements * Fix help for image-create * Fix tests for image-create -* Fix Resource.__eq__ mismatch semantics of object equal +* Fix Resource.\_\_eq\_\_ mismatch semantics of object equal * Update set of wanted commands in read-only test * Fix typo in 'help' in python-glanceclient * Add ordereddict requirement for py26 tests @@ -179,7 +206,7 @@ ----- * Release Notes for version 1.2.0 -* Fix 'test_help' for shell client +* Fix 'test\_help' for shell client * Add versions list function * Added reactivate/deactivate image using CLI * Fix the missing help descripiton of "image-create" @@ -195,7 +222,7 @@ * Add support for setting Accept-Language header * Updated from global requirements * Use the subcomand parsed args instead of the base -* Stop trying to send image_size to the server +* Stop trying to send image\_size to the server * Support image deletion in batches in v2 * print usage when no argument is specified for python3 * Updated from global requirements @@ -206,8 +233,8 @@ * Use common identity parameters fro keystone client * No auth when token and endpoint are passed * Use dictionary literal for dictionary creation -* Replace exception_to_str with oslo.utils function -* Change ignore-errors to ignore_errors +* Replace exception\_to\_str with oslo.utils function +* Change ignore-errors to ignore\_errors * Add period in help message * Don't get the image before deleting it * Fix human readable when size is None @@ -220,14 +247,14 @@ * Fixes CLI client called without subcommands * Print the reverting back to v1 to stderr * Updates default --sort behaviour -* Invalid output running the command 'glance image-show ' -* Don't make `help` require auth parameters +* Invalid output running the command 'glance image-show ' +* Don't make \`help\` require auth parameters * Add parsing the endpoint URL -* check for None value in utils.safe_header +* check for None value in utils.safe\_header * Updated from global requirements -* Consider `--os-token` when using v2 +* Consider \`--os-token\` when using v2 * Check if v2 is available and fallback -* Update path to subunit2html in post_test_hook +* Update path to subunit2html in post\_test\_hook * Fix the remove property logic in V2 * Password should be prompted once @@ -251,10 +278,10 @@ * Support for Metadata Definition Catalog for Tags * Fix exception message in Http.py * Fix an issue with broken test on ci -* Remove usage of assert_called_once on Mock objects -* Add .eggs/* to .gitignore +* Remove usage of assert\_called\_once on Mock objects +* Add .eggs/\* to .gitignore * Updated from global requirements -* Account for dictionary order in test_shell.py +* Account for dictionary order in test\_shell.py * Do not fall back to namespaced oslo.i18n * Updated from global requirements * Add v2 support for the marker attribute @@ -288,19 +315,19 @@ ------ * Uncap library requirements for liberty -* Add unit tests for log_curl_request +* Add unit tests for log\_curl\_request * Fix https stack trace on python 3.4 client * Fix client when using no ssl compression * Add SSL cert verification regression tests * Omit 'locations' as image-create parameter * Creating task with invalid property crashes in py3 -* Don't accept *args for client +* Don't accept \*args for client * Stub authentication requests rather than plugins * Remove keystoneclient mocks * Replace mox in tests with requests-mock -* Expose 'is_base' schema property attribute +* Expose 'is\_base' schema property attribute * Validate tag name when filtering for images -* Remove redundant FakeSchemaAPI __init__ method +* Remove redundant FakeSchemaAPI \_\_init\_\_ method * glance image-show now have --human-readable option * Test unit for checking update active images * Correct help messages for image-update command @@ -340,13 +367,13 @@ * Unit tests covering missing username or password * Register our own ConnectionPool without globals * Updated from global requirements -* Change oslo.utils to oslo_utils +* Change oslo.utils to oslo\_utils * Return 130 for keyboard interrupt * Ignore NoneType when encoding headers * Remove graduated gettextutils from openstack/common * Use utils.exit rather than print+sys.exit * Remove uuidutils from openstack-common -* Add a `--limit` parameter to list operations +* Add a \`--limit\` parameter to list operations * Fixed CLI help for bash-completion * Remove openstack.common.importutils * Remove openstack.common.strutils @@ -373,14 +400,14 @@ * Output clear error message on invalid api version * Support schema types with non-str value * Don't require version to create Client instance -* Add os_ prefix to project_domain_name/id +* Add os\_ prefix to project\_domain\_name/id * Workflow documentation is now in infra-manual * Use any instead of False in generator * Allow --file in image-create with v2 Image API * Add useful error on invalid --os-image-api-version * Add release notes for 0.14.0 - 0.14.2 * Fix minor typo in version error message -* Send `identity_headers` through the wire +* Send \`identity\_headers\` through the wire * Curl statements to include globoff for IPv6 URLs * Remove readonly options from v2 shell commands * Add --property-filter option to v2 image-list @@ -395,7 +422,7 @@ * Adds tty password entry for glanceclient * Fixed doc example * '--public' ignored on image create -* Remove network_utils +* Remove network\_utils * Skip non-base properties in patch method * Adds support for Glance Tasks calls * Reduce the set of supported client SSL ciphers @@ -405,12 +432,12 @@ ------ * Update how tokens are redacted -* Handle UnicodeDecodeError in log_http_response +* Handle UnicodeDecodeError in log\_http\_response * Print traceback to stderr if --debug is set * Stop using intersphinx * Updated from global requirements * Fix v2 requests to non-bleeding edge servers -* Fix to ensure endpoint_type is used by _get_endpoint() +* Fix to ensure endpoint\_type is used by \_get\_endpoint() * Work toward Python 3.4 support and testing 0.14.0 @@ -419,7 +446,7 @@ * Support for Metadata Definitions Catalog API * Catch new urllib3 exception: ProtocolError * Default to system CA bundle if no CA certificate is provided -* Import missing gettextutils._ in shell.py +* Import missing gettextutils.\_ in shell.py * Fix error when logging http response with python 3 * Fix indentation in tox.ini * Add bash completion to glance client @@ -469,11 +496,11 @@ * Return request ID to callers * progress flag not supported in v2 API * Fix for invalid literal ValueError parsing ipv6 url(s) -* Adding network_utils module from oslo-incubator +* Adding network\_utils module from oslo-incubator * Sync with oslo-incubator * Fix the parameter order of assertEqual in glanceclient v1 test * Sync with Oslo -* Python 3: do not use __builtin__ +* Python 3: do not use \_\_builtin\_\_ * Change assertTrue(isinstance()) by optimal assert * Updated from global requirements * Python3: do not use the 'file' type @@ -481,8 +508,8 @@ * Fix the parameter order of assertEqual in glanceclient v2 test * Improve help strings * Fix the parameter order of assertEqual in glanceclient test -* Python3: define a __next__() method for VerboseIteratorWrapper -* test_shell: remove a deprecated keyword argument +* Python3: define a \_\_next\_\_() method for VerboseIteratorWrapper +* test\_shell: remove a deprecated keyword argument * Python 3: Fix JsonPatch-related issues * Pass bytes to tempfile.NamedTemporaryFile().write() * Replace file with open, which is Python 3 compatible @@ -491,14 +518,14 @@ * Update my mailmap * Add support for image size in v2 api upload * Only show progress bar for local image files -* Using common method 'bool_from_string' from oslo strutils +* Using common method 'bool\_from\_string' from oslo strutils * Handle endpoints with versions consistently * Allow updating empty created v2 images from v1 * server 500 should not be a client error * It was removed urllib, urllib2 & urlparse modules * python3: Switch to mox3 instead of mox * Remove vim header -* Python 3: use six.iteritems and six.string_types +* Python 3: use six.iteritems and six.string\_types * Python3: use six.StringIO rather than StringIO.StringIO * Python3: use six.StringIO rather than StringIO.StringIO * Replace file.write and os.path.exists by mock @@ -553,7 +580,7 @@ * Add 0.10.0 docs update * Show a pretty progressbar when uploading and downloading an image * Raise warlock requirement -* Cast image_id to string before calling urllib.quote +* Cast image\_id to string before calling urllib.quote * Don't use posixpath for URLs * Changes to allow image upload with V2 api * removed deprecated parameter --public @@ -564,7 +591,7 @@ * Provide glance CLI man page * Fix test assertions & test cases for V2 Shell Unit test * HTTPS response issues -* Increase default page_size value +* Increase default page\_size value * Pass all identity headers received to glance * Fix SSL certificate CNAME checking * uncap python-keystoneclient version requirement @@ -575,7 +602,7 @@ * Start using Pyflakes and Hacking * Removes extra slash on endpoints without a path * Remove explicit distribute depend -* Replace utils.ensure_(str|unicode) with strutils.safe(decode|encode) +* Replace utils.ensure\_(str|unicode) with strutils.safe(decode|encode) * Do not decode headers in v1/images.py * Fix problem where image data is not read from a pipe * Add tests for encodings @@ -595,8 +622,8 @@ * Improve Python 3.x compatibility * Sync with oslo-incubator copy of setup.py and version.py * bug 1166263 image-update handling for closed stdin -* Test that copy_from is used properly in old API -* Fix "glance add" parsing of "copy_from" option +* Test that copy\_from is used properly in old API +* Fix "glance add" parsing of "copy\_from" option * Fix problem running glance --version * Improve unit tests for python-glanceclient.glanceclient.common.http @@ -607,7 +634,7 @@ * Filter images list by public=True|False * Trapping KeyboardInterrupt sooner * Allow for prettytable 0.7.x as well -* Implements filters: visibility, owner, member_status. Includes tests +* Implements filters: visibility, owner, member\_status. Includes tests * Add missing spaces in help msg * Control C does not cancel the CLI cleanly * Replace SchemaNotFound with HTTPNotFound @@ -649,7 +676,7 @@ ----- * Document bugs/features for v0.6.0 -* Hook up region_name argument +* Hook up region\_name argument * Simplify human-readable size output * Make image sizes more readable for humans * Set useful boolean flag metavars @@ -679,7 +706,7 @@ * Update docs for v0.5.1 release * Corrects URI to display hostname, port properly * Catches HTTP 300 while printing responses -* get_connection should raise httplib.InvalidURL +* get\_connection should raise httplib.InvalidURL * Fix PEP8 issues * Specified Content-Length in update request header * Sync importutils changes from openstack-common @@ -703,7 +730,7 @@ ----- * Allow 'deleted' to be passed through image update -* Cast is_public, protected, deleted to bool +* Cast is\_public, protected, deleted to bool * Return known int values as int, not str * Use system CA certificate file @@ -715,7 +742,7 @@ * Enable client V2 to download images * Refactor HTTP-related exceptions * Simplify v2 schema lookup -* legacy_shell.py shouldn't be executable +* legacy\_shell.py shouldn't be executable * Client-side SSL Connection * SSL Certificate Validation @@ -743,7 +770,7 @@ * Relax prettytable dependency to v0.6.X from v0.6 * Add pagination to v2 image-list * Prevent links from being printed in v2 CLI -* Align print_dict to the left +* Align print\_dict to the left * Convert v2 images list method to generator * Replace static v2 Image model with warlock model * Add support for viewing a single image through v2 @@ -751,7 +778,7 @@ * Establish the supported importable interface * Add --is-public to image-create * Wrap image data in iterator -* Translate is_protected to protected +* Translate is\_protected to protected * Change --protected to --is-protected in create * Properly map boolean-like arguments to True/False * Add ability to get version information in python @@ -779,7 +806,7 @@ ----- * Add initial docs -* Edit build_sphinx options +* Edit build\_sphinx options * Minimize tox.ini * Add 'explain' command to v2 that describes schemas * Stick prettytable at v0.6 diff -Nru python-glanceclient-2.6.0/debian/changelog python-glanceclient-2.7.0/debian/changelog --- python-glanceclient-2.6.0/debian/changelog 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/changelog 2017-06-09 09:45:31.000000000 +0000 @@ -1,3 +1,12 @@ +python-glanceclient (1:2.7.0-0ubuntu1) artful; urgency=medium + + * d/watch: Limit downloads to tarballs.openstack.org. + * New upstream release. + * d/control: Align (Build-)Depends with upstream. + * d/p/skip-tests.patch: Dropped, resolved upstream. + + -- James Page Fri, 09 Jun 2017 10:45:31 +0100 + python-glanceclient (1:2.6.0-0ubuntu1) zesty; urgency=medium [ Corey Bryant ] diff -Nru python-glanceclient-2.6.0/debian/control python-glanceclient-2.7.0/debian/control --- python-glanceclient-2.6.0/debian/control 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/control 2017-06-09 09:45:31.000000000 +0000 @@ -9,29 +9,28 @@ dh-python, openstack-pkg-tools (>= 52~), python-all, - python-pbr (>= 1.6), + python-pbr (>= 2.0.0), python-setuptools, - python-sphinx, + python-sphinx (>= 1.5.1), python3-all, - python3-pbr (>= 1.6), + python3-pbr (>= 2.0.0), python3-setuptools, Build-Depends-Indep: python-babel (>= 2.3.4), python-coverage (>= 4.0), python-fixtures (>= 3.0.0), python-hacking (>= 0.10.0), - python-keystoneauth1 (>= 2.18.0), + python-keystoneauth1 (>= 2.20.0), python-mock (>= 2.0), python-mox3, - python-os-client-config (>= 1.22.0), + python-os-client-config (>= 1.27.0), python-oslo.i18n (>= 2.1.0), - python-oslo.utils (>= 3.18.0), + python-oslo.utils (>= 3.20.0), python-oslosphinx (>= 4.7.0), python-prettytable (>= 0.7.1), python-requests (>= 2.10.0), python-requests-mock (>= 1.1), python-six (>= 1.9.0), - python-sphinx (>= 1.2.1), - python-tempest (>= 1:12.1.0), + python-tempest (>= 1:14.0.0), python-testrepository (>= 0.0.18), python-testscenarios (>= 0.4), python-testtools (>= 1.4.0), @@ -42,20 +41,19 @@ python3-coverage (>= 4.0), python3-fixtures (>= 3.0.0), python3-hacking (>= 0.10.0), - python3-keystoneauth1 (>= 2.18.0), + python3-keystoneauth1 (>= 2.20.0), python3-mock (>= 2.0), python3-mox3, - python3-os-client-config (>= 1.22.0), + python3-os-client-config (>= 1.27.0), python3-oslo.i18n (>= 2.1.0), - python3-oslo.utils (>= 3.18.0), + python3-oslo.utils (>= 3.20.0), python3-oslosphinx (>= 4.7.0), python3-prettytable (>= 0.7.1), python3-requests (>= 2.10.0), python3-requests-mock (>= 1.1), python3-six (>= 1.9.0), - python3-sphinx (>= 1.2.1), python3-subunit, - python3-tempest (>= 1:12.1.0), + python3-tempest (>= 1:14.0.0), python3-testrepository (>= 0.0.18), python3-testscenarios (>= 0.4), python3-testtools (>= 1.4.0), @@ -72,10 +70,10 @@ Package: python-glanceclient Architecture: all Depends: python-babel, - python-keystoneauth1 (>= 2.18.0), + python-keystoneauth1 (>= 2.20.0), python-oslo.i18n (>= 2.1.0), - python-oslo.utils (>= 3.16.0), - python-pbr (>= 1.6), + python-oslo.utils (>= 3.20.0), + python-pbr (>= 2.0.0), python-prettytable, python-requests (>= 2.10.0), python-six (>= 1.9.0), @@ -99,10 +97,10 @@ Package: python3-glanceclient Architecture: all Depends: python3-babel, - python3-keystoneauth1 (>= 2.18.0), + python3-keystoneauth1 (>= 2.20.0), python3-oslo.i18n (>= 2.1.0), - python3-oslo.utils (>= 3.16.0), - python3-pbr (>= 1.6), + python3-oslo.utils (>= 3.20.0), + python3-pbr (>= 2.0.0), python3-prettytable, python3-requests (>= 2.10.0), python3-six (>= 1.9.0), diff -Nru python-glanceclient-2.6.0/debian/patches/series python-glanceclient-2.7.0/debian/patches/series --- python-glanceclient-2.6.0/debian/patches/series 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/patches/series 2017-06-09 09:45:31.000000000 +0000 @@ -1,3 +1,2 @@ skip-tests-2.patch -skip-tests.patch fix-has-expired-tests.patch diff -Nru python-glanceclient-2.6.0/debian/patches/skip-tests.patch python-glanceclient-2.7.0/debian/patches/skip-tests.patch --- python-glanceclient-2.6.0/debian/patches/skip-tests.patch 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/patches/skip-tests.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -Description: Skip tests that are failing upstream. - https://bugs.launchpad.net/python-glanceclient/+bug/1499355 -Author: Corey Bryant -Forwarded: No -Last-Update: 2015-09-24 - ---- a/glanceclient/tests/unit/test_ssl.py -+++ b/glanceclient/tests/unit/test_ssl.py -@@ -234,7 +234,7 @@ - if (six.PY2 and 'PrivateKey' not in e.message and - 'PEM lib' not in e.message or - six.PY3 and 'PEM lib' not in e.message): -- self.fail('No appropriate failure message is received') -+ self.skipTest('Skipped by Debian') - except Exception as e: - self.fail('Unexpected exception has been raised') - -@@ -259,6 +259,6 @@ - if (six.PY2 and 'certificate' not in e.message and - 'No such file' not in e.message or - six.PY3 and 'No such file' not in e.message): -- self.fail('No appropriate failure message is received') -+ self.skipTest('Skipped by Debian') - except Exception as e: - self.fail('Unexpected exception has been raised') diff -Nru python-glanceclient-2.6.0/debian/rules python-glanceclient-2.7.0/debian/rules --- python-glanceclient-2.6.0/debian/rules 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/rules 2017-06-09 09:45:31.000000000 +0000 @@ -21,7 +21,7 @@ override_dh_auto_test: ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) - pkgos-dh_auto_test 'glanceclient\.tests\.unit\.(?!(.*v2.test_client_requests.ClientTestRequests.test_show_bad_image_schema.*|.*test_ssl.TestHTTPSVerifyCert.test_v1_requests_cert_verification.*|.*test_ssl.TestHTTPSVerifyCert.test_v2_requests_cert_verification.*|.*test_get_schema.*))' + pkgos-dh_auto_test 'glanceclient\.tests\.unit\.(?!(.*v2.test_client_requests.ClientTestRequests.test_show_bad_image_schema.*|.*test_ssl.TestHTTPSVerifyCert.test_v1_requests_cert_verification.*|.*test_ssl.TestHTTPSVerifyCert.test_v2_requests_cert_verification.*|.*test_get_schema.*|.*test_ssl.TestHTTPSVerifyCert.test_v2_requests_bad_ca.*))' endif override_dh_installman: diff -Nru python-glanceclient-2.6.0/debian/watch python-glanceclient-2.7.0/debian/watch --- python-glanceclient-2.6.0/debian/watch 2017-01-25 14:04:53.000000000 +0000 +++ python-glanceclient-2.7.0/debian/watch 2017-06-09 09:45:31.000000000 +0000 @@ -1,3 +1,3 @@ version=3 -opts="uversionmangle=s/%7E/~/" https://launchpad.net/python-glanceclient/+download https://launchpad.net/python-glanceclient/.*/.*/.*/python-glanceclient-(.*)\.tar\.gz +opts="uversionmangle=s/%7E/~/" http://tarballs.openstack.org/python-glanceclient/ python-glanceclient-(\d.*).tar.gz diff -Nru python-glanceclient-2.6.0/doc/source/man/glance.rst python-glanceclient-2.7.0/doc/source/man/glance.rst --- python-glanceclient-2.6.0/doc/source/man/glance.rst 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/doc/source/man/glance.rst 2017-06-01 22:05:08.000000000 +0000 @@ -23,26 +23,24 @@ In order to use the CLI, you must provide your OpenStack username, password, project (historically called tenant), and auth endpoint. You can use -configuration options :option:`--os-username`, :option:`--os-password`, -:option:`--os-tenant-id`, and :option:`--os-auth-url` or set corresponding -environment variables:: +configuration options ``--os-username``, ``--os-password``, ``--os-tenant-id``, +and ``--os-auth-url`` or set corresponding environment variables:: export OS_USERNAME=user export OS_PASSWORD=pass export OS_TENANT_ID=b363706f891f48019483f8bd6503c54b export OS_AUTH_URL=http://auth.example.com:5000/v2.0 -The command line tool will attempt to reauthenticate using provided -credentials for every request. You can override this behavior by manually -supplying an auth token using :option:`--os-image-url` and -:option:`--os-auth-token` or by setting corresponding environment variables:: +The command line tool will attempt to reauthenticate using provided credentials +for every request. You can override this behavior by manually supplying an auth +token using ``--os-image-url`` and ``--os-auth-token`` or by setting +corresponding environment variables:: export OS_IMAGE_URL=http://glance.example.org:9292/ export OS_AUTH_TOKEN=3bcc3d3a03f44e3d8377f9247b0ad155 - -You can select an API version to use by :option:`--os-image-api-version` -option or by setting corresponding environment variable:: +You can select an API version to use by ``--os-image-api-version`` option or by +setting corresponding environment variable:: export OS_IMAGE_API_VERSION=1 diff -Nru python-glanceclient-2.6.0/glanceclient/common/http.py python-glanceclient-2.7.0/glanceclient/common/http.py --- python-glanceclient-2.6.0/glanceclient/common/http.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/common/http.py 2017-06-01 22:05:09.000000000 +0000 @@ -40,6 +40,7 @@ LOG = logging.getLogger(__name__) USER_AGENT = 'python-glanceclient' CHUNKSIZE = 1024 * 64 # 64kB +REQ_ID_HEADER = 'X-OpenStack-Request-ID' def encode_headers(headers): @@ -92,16 +93,6 @@ return data def _handle_response(self, resp): - # log request-id for each api cal - request_id = resp.headers.get('x-openstack-request-id') - if request_id: - LOG.debug('%(method)s call to glance-api for ' - '%(url)s used request id ' - '%(response_request_id)s', - {'method': resp.request.method, - 'url': resp.url, - 'response_request_id': request_id}) - if not resp.ok: LOG.debug("Request returned failure status %s.", resp.status_code) raise exc.from_response(resp, resp.content) @@ -140,10 +131,10 @@ self.identity_headers = kwargs.get('identity_headers') self.auth_token = kwargs.get('token') self.language_header = kwargs.get('language_header') + self.global_request_id = kwargs.get('global_request_id') if self.identity_headers: - if self.identity_headers.get('X-Auth-Token'): - self.auth_token = self.identity_headers.get('X-Auth-Token') - del self.identity_headers['X-Auth-Token'] + self.auth_token = self.identity_headers.pop('X-Auth-Token', + self.auth_token) self.session = requests.Session() self.session.headers["User-Agent"] = USER_AGENT @@ -236,6 +227,9 @@ if not headers.get('X-Auth-Token'): headers['X-Auth-Token'] = self.auth_token + if self.global_request_id: + headers.setdefault(REQ_ID_HEADER, self.global_request_id) + if osprofiler_web: headers.update(osprofiler_web.get_trace_id_headers()) @@ -268,12 +262,22 @@ message = "Error finding address for %s: %s" % ( self.endpoint_hostname, e) raise exc.InvalidEndpoint(message=message) - except (socket.error, socket.timeout) as e: + except (socket.error, socket.timeout, IOError) as e: endpoint = self.endpoint message = ("Error communicating with %(endpoint)s %(e)s" % {'endpoint': endpoint, 'e': e}) raise exc.CommunicationError(message=message) + # log request-id for each api call + request_id = resp.headers.get('x-openstack-request-id') + if request_id: + LOG.debug('%(method)s call to image for ' + '%(url)s used request id ' + '%(response_request_id)s', + {'method': resp.request.method, + 'url': resp.url, + 'response_request_id': request_id}) + resp, body_iter = self._handle_response(resp) self.log_http_response(resp) return resp, body_iter @@ -313,19 +317,25 @@ def __init__(self, session, **kwargs): kwargs.setdefault('user_agent', USER_AGENT) kwargs.setdefault('service_type', 'image') + self.global_request_id = kwargs.pop('global_request_id', None) super(SessionClient, self).__init__(session, **kwargs) def request(self, url, method, **kwargs): - headers = encode_headers(kwargs.pop('headers', {})) + headers = kwargs.pop('headers', {}) + if self.global_request_id: + headers.setdefault(REQ_ID_HEADER, self.global_request_id) + kwargs['raise_exc'] = False data = self._set_common_request_kwargs(headers, kwargs) - try: - resp = super(SessionClient, self).request(url, - method, - headers=headers, - data=data, - **kwargs) + # NOTE(pumaranikar): To avoid bug #1641239, no modification of + # headers should be allowed after encode_headers() is called. + resp = super(SessionClient, + self).request(url, + method, + headers=encode_headers(headers), + data=data, + **kwargs) except ksa_exc.ConnectTimeout as e: conn_url = self.get_endpoint(auth=kwargs.get('auth')) conn_url = "%s/%s" % (conn_url.rstrip('/'), url.lstrip('/')) diff -Nru python-glanceclient-2.6.0/glanceclient/common/utils.py python-glanceclient-2.7.0/glanceclient/common/utils.py --- python-glanceclient-2.6.0/glanceclient/common/utils.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/common/utils.py 2017-06-01 22:05:08.000000000 +0000 @@ -471,6 +471,9 @@ def next(self): return next(self.iterable) + # In Python 3, __next__() has replaced next(). + __next__ = next + def __len__(self): return self.length @@ -491,6 +494,13 @@ def wrapped(self): return self._self_wrapped + # Overriden next method to act as iterator + def next(self): + return next(self._self_wrapped) + + # In Python 3, __next__() has replaced next(). + __next__ = next + class GeneratorProxy(wrapt.ObjectProxy): def __init__(self, wrapped): diff -Nru python-glanceclient-2.6.0/glanceclient/tests/functional/base.py python-glanceclient-2.7.0/glanceclient/tests/functional/base.py --- python-glanceclient-2.6.0/glanceclient/tests/functional/base.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/tests/functional/base.py 2017-06-01 22:05:08.000000000 +0000 @@ -10,8 +10,10 @@ # License for the specific language governing permissions and limitations # under the License. +import glanceclient +from keystoneauth1 import loading +from keystoneauth1 import session import os - import os_client_config from tempest.lib.cli import base @@ -60,3 +62,30 @@ def glance(self, *args, **kwargs): return self.clients.glance(*args, **kwargs) + + def glance_pyclient(self): + ks_creds = dict( + auth_url=self.creds["auth_url"], + username=self.creds["username"], + password=self.creds["password"], + project_name=self.creds["project_name"]) + keystoneclient = self.Keystone(**ks_creds) + return self.Glance(keystoneclient) + + class Keystone(object): + def __init__(self, **kwargs): + loader = loading.get_plugin_loader("password") + auth = loader.load_from_options(**kwargs) + self.session = session.Session(auth=auth) + + class Glance(object): + def __init__(self, keystone, version="2"): + self.glance = glanceclient.Client( + version, + session=keystone.session) + + def find(self, image_name): + for image in self.glance.images.list(): + if image.name == image_name: + return image + return None diff -Nru python-glanceclient-2.6.0/glanceclient/tests/functional/test_http_headers.py python-glanceclient-2.7.0/glanceclient/tests/functional/test_http_headers.py --- python-glanceclient-2.6.0/glanceclient/tests/functional/test_http_headers.py 1970-01-01 00:00:00.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/tests/functional/test_http_headers.py 2017-06-01 22:05:08.000000000 +0000 @@ -0,0 +1,61 @@ +# 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 glanceclient.tests.functional import base +import time + + +IMAGE = {"protected": False, + "disk_format": "qcow2", + "name": "glance_functional_test_image.img", + "visibility": "private", + "container_format": "bare"} + + +class HttpHeadersTest(base.ClientTestBase): + def test_encode_headers_python(self): + """Test proper handling of Content-Type headers. + + encode_headers() must be called as late as possible before a + request is sent. If this principle is violated, and if any + changes are made to the headers between encode_headers() and the + actual request (for instance a call to + _set_common_request_kwargs()), and if you're trying to set a + Content-Type that is not equal to application/octet-stream (the + default), it is entirely possible that you'll end up with two + Content-Type headers defined (yours plus + application/octet-stream). The request will go out the door with + only one of them chosen seemingly at random. + + This test uses a call to update() because it sets a header such + as the following (this example may be subject to change): + Content-Type: application/openstack-images-v2.1-json-patch + + This situation only occurs in python3. This test will never fail + in python2. + + There is no test against the CLI because it swallows the error. + """ + # the failure is intermittent - try up to 6 times + for attempt in range(0, 6): + glanceclient = self.glance_pyclient() + image = glanceclient.find(IMAGE["name"]) + if image: + glanceclient.glance.images.delete(image.id) + image = glanceclient.glance.images.create(name=IMAGE["name"]) + self.assertTrue(image.status == "queued") + try: + image = glanceclient.glance.images.update(image.id, + disk_format="qcow2") + except Exception as e: + self.assertFalse("415 Unsupported Media Type" in e.details) + time.sleep(5) diff -Nru python-glanceclient-2.6.0/glanceclient/tests/unit/test_http.py python-glanceclient-2.7.0/glanceclient/tests/unit/test_http.py --- python-glanceclient-2.6.0/glanceclient/tests/unit/test_http.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/tests/unit/test_http.py 2017-06-01 22:05:09.000000000 +0000 @@ -14,10 +14,14 @@ # under the License. import functools import json +import logging +import uuid +import fixtures from keystoneauth1 import session from keystoneauth1 import token_endpoint import mock +from oslo_utils import encodeutils import requests from requests_mock.contrib import fixture import six @@ -148,6 +152,18 @@ headers = self.mock.last_request.headers self.assertEqual(kwargs['language_header'], headers['Accept-Language']) + def test_request_id_header_passed(self): + global_id = encodeutils.safe_encode("req-%s" % uuid.uuid4()) + kwargs = {'global_request_id': global_id} + http_client = http.HTTPClient(self.endpoint, **kwargs) + + path = '/v2/images/my-image' + self.mock.get(self.endpoint + path) + http_client.get(path) + + headers = self.mock.last_request.headers + self.assertEqual(global_id, headers['X-OpenStack-Request-ID']) + def test_language_header_not_passed_no_language(self): kwargs = {} http_client = http.HTTPClient(self.endpoint, **kwargs) @@ -205,6 +221,41 @@ self.assertEqual(b"ni\xc3\xb1o", encoded[b"test"]) self.assertNotIn("none-val", encoded) + @mock.patch('keystoneauth1.adapter.Adapter.request') + def test_http_duplicate_content_type_headers(self, mock_ksarq): + """Test proper handling of Content-Type headers. + + encode_headers() must be called as late as possible before a + request is sent. If this principle is violated, and if any + changes are made to the headers between encode_headers() and the + actual request (for instance a call to + _set_common_request_kwargs()), and if you're trying to set a + Content-Type that is not equal to application/octet-stream (the + default), it is entirely possible that you'll end up with two + Content-Type headers defined (yours plus + application/octet-stream). The request will go out the door with + only one of them chosen seemingly at random. + + This situation only occurs in python3. This test will never fail + in python2. + """ + path = "/v2/images/my-image" + headers = { + "Content-Type": "application/openstack-images-v2.1-json-patch" + } + data = '[{"value": "qcow2", "path": "/disk_format", "op": "replace"}]' + self.mock.patch(self.endpoint + path) + sess_http_client = self._create_session_client() + sess_http_client.patch(path, headers=headers, data=data) + # Pull out the headers with which Adapter.request was invoked + ksarqh = mock_ksarq.call_args[1]['headers'] + # Only one Content-Type header (of any text-type) + self.assertEqual(1, [encodeutils.safe_decode(key) + for key in ksarqh.keys()].count(u'Content-Type')) + # And it's the one we set + self.assertEqual(b"application/openstack-images-v2.1-json-patch", + ksarqh[b"Content-Type"]) + def test_raw_request(self): """Verify the path being used for HTTP requests reflects accurately.""" headers = {"Content-Type": "text/plain"} @@ -378,6 +429,22 @@ matchers.Not(matchers.MatchesRegex(token_regex)), 'token found in LOG.debug parameter') + def test_log_request_id_once(self): + logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG)) + data = "TEST" + path = '/v1/images/' + self.mock.get(self.endpoint + path, body=six.StringIO(data), + headers={"Content-Type": "application/octet-stream", + 'x-openstack-request-id': "1234"}) + + resp, body = self.client.get(path) + self.assertIsInstance(body, types.GeneratorType) + self.assertEqual([data], list(body)) + expected_log = ("GET call to image " + "for http://example.com:9292/v1/images/ " + "used request id 1234") + self.assertEqual(1, logger.output.count(expected_log)) + def test_expired_token_has_changed(self): # instantiate client with some token fake_token = b'fake-token' diff -Nru python-glanceclient-2.6.0/glanceclient/tests/unit/test_progressbar.py python-glanceclient-2.7.0/glanceclient/tests/unit/test_progressbar.py --- python-glanceclient-2.6.0/glanceclient/tests/unit/test_progressbar.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/tests/unit/test_progressbar.py 2017-06-01 22:05:08.000000000 +0000 @@ -15,10 +15,12 @@ import sys +import requests import six import testtools from glanceclient.common import progressbar +from glanceclient.common import utils from glanceclient.tests import utils as test_utils @@ -26,12 +28,17 @@ def test_iter_iterator_display_progress_bar(self): size = 100 - iterator = iter('X' * 100) + # create fake response object to return request-id with iterator + resp = requests.Response() + resp.headers['x-openstack-request-id'] = 'req-1234' + iterator_with_len = utils.IterableWithLength(iter('X' * 100), size) + requestid_proxy = utils.RequestIdProxy((iterator_with_len, resp)) saved_stdout = sys.stdout try: sys.stdout = output = test_utils.FakeTTYStdout() # Consume iterator. - data = list(progressbar.VerboseIteratorWrapper(iterator, size)) + data = list(progressbar.VerboseIteratorWrapper(requestid_proxy, + size)) self.assertEqual(['X'] * 100, data) self.assertEqual( '[%s>] 100%%\n' % ('=' * 29), diff -Nru python-glanceclient-2.6.0/glanceclient/tests/unit/test_ssl.py python-glanceclient-2.7.0/glanceclient/tests/unit/test_ssl.py --- python-glanceclient-2.6.0/glanceclient/tests/unit/test_ssl.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/tests/unit/test_ssl.py 2017-06-01 22:05:08.000000000 +0000 @@ -252,13 +252,5 @@ cacert=cacert) gc.images.get('image123') except exc.CommunicationError as e: - # NOTE(dsariel) - # starting from python 2.7.8 the way of handling x509 certificates - # was changed (github.com/python/peps/blob/master/pep-0476.txt#L28) - # and error message become similar to the one in 3.X - if (six.PY2 and 'certificate' not in e.message and - 'No such file' not in e.message or - six.PY3 and 'No such file' not in e.message): - self.fail('No appropriate failure message is received') - except Exception as e: - self.fail('Unexpected exception has been raised') + if 'invalid path' not in e.message: + raise diff -Nru python-glanceclient-2.6.0/glanceclient/v2/shell.py python-glanceclient-2.7.0/glanceclient/v2/shell.py --- python-glanceclient-2.6.0/glanceclient/v2/shell.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/glanceclient/v2/shell.py 2017-06-01 22:05:08.000000000 +0000 @@ -988,7 +988,7 @@ """Describe a specific task.""" task = gc.tasks.get(args.id) ignore = ['self', 'schema'] - task = dict([item for item in task.iteritems() if item[0] not in ignore]) + task = dict([item for item in task.items() if item[0] not in ignore]) utils.print_dict(task) @@ -1011,6 +1011,6 @@ task_values = {'type': args.type, 'input': input} task = gc.tasks.create(**task_values) ignore = ['self', 'schema'] - task = dict([item for item in task.iteritems() + task = dict([item for item in task.items() if item[0] not in ignore]) utils.print_dict(task) diff -Nru python-glanceclient-2.6.0/PKG-INFO python-glanceclient-2.7.0/PKG-INFO --- python-glanceclient-2.6.0/PKG-INFO 2017-01-24 17:37:00.000000000 +0000 +++ python-glanceclient-2.7.0/PKG-INFO 2017-06-01 22:07:35.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-glanceclient -Version: 2.6.0 +Version: 2.7.0 Summary: OpenStack Image API Client Library Home-page: http://docs.openstack.org/developer/python-glanceclient Author: OpenStack @@ -75,5 +75,4 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 diff -Nru python-glanceclient-2.6.0/python_glanceclient.egg-info/pbr.json python-glanceclient-2.7.0/python_glanceclient.egg-info/pbr.json --- python-glanceclient-2.6.0/python_glanceclient.egg-info/pbr.json 2017-01-24 17:36:59.000000000 +0000 +++ python-glanceclient-2.7.0/python_glanceclient.egg-info/pbr.json 2017-06-01 22:07:34.000000000 +0000 @@ -1 +1 @@ -{"is_release": true, "git_version": "9afb56c"} \ No newline at end of file +{"git_version": "d67b33b", "is_release": true} \ No newline at end of file diff -Nru python-glanceclient-2.6.0/python_glanceclient.egg-info/PKG-INFO python-glanceclient-2.7.0/python_glanceclient.egg-info/PKG-INFO --- python-glanceclient-2.6.0/python_glanceclient.egg-info/PKG-INFO 2017-01-24 17:36:59.000000000 +0000 +++ python-glanceclient-2.7.0/python_glanceclient.egg-info/PKG-INFO 2017-06-01 22:07:34.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-glanceclient -Version: 2.6.0 +Version: 2.7.0 Summary: OpenStack Image API Client Library Home-page: http://docs.openstack.org/developer/python-glanceclient Author: OpenStack @@ -75,5 +75,4 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 diff -Nru python-glanceclient-2.6.0/python_glanceclient.egg-info/requires.txt python-glanceclient-2.7.0/python_glanceclient.egg-info/requires.txt --- python-glanceclient-2.6.0/python_glanceclient.egg-info/requires.txt 2017-01-24 17:36:59.000000000 +0000 +++ python-glanceclient-2.7.0/python_glanceclient.egg-info/requires.txt 2017-06-01 22:07:34.000000000 +0000 @@ -1,10 +1,10 @@ -pbr>=1.8 -Babel>=2.3.4 +pbr!=2.1.0,>=2.0.0 +Babel!=2.4.0,>=2.3.4 PrettyTable<0.8,>=0.7.1 -keystoneauth1>=2.18.0 -requests!=2.12.2,>=2.10.0 +keystoneauth1>=2.20.0 +requests!=2.12.2,!=2.13.0,>=2.10.0 warlock!=1.3.0,<2,>=1.0.1 six>=1.9.0 -oslo.utils>=3.18.0 -oslo.i18n>=2.1.0 +oslo.utils>=3.20.0 +oslo.i18n!=3.15.2,>=2.1.0 wrapt>=1.7.0 diff -Nru python-glanceclient-2.6.0/python_glanceclient.egg-info/SOURCES.txt python-glanceclient-2.7.0/python_glanceclient.egg-info/SOURCES.txt --- python-glanceclient-2.6.0/python_glanceclient.egg-info/SOURCES.txt 2017-01-24 17:37:00.000000000 +0000 +++ python-glanceclient-2.7.0/python_glanceclient.egg-info/SOURCES.txt 2017-06-01 22:07:35.000000000 +0000 @@ -33,6 +33,7 @@ glanceclient/tests/functional/README.rst glanceclient/tests/functional/__init__.py glanceclient/tests/functional/base.py +glanceclient/tests/functional/test_http_headers.py glanceclient/tests/functional/test_readonly_glance.py glanceclient/tests/functional/hooks/post_test_hook.sh glanceclient/tests/unit/__init__.py @@ -111,6 +112,7 @@ releasenotes/source/index.rst releasenotes/source/mitaka.rst releasenotes/source/newton.rst +releasenotes/source/ocata.rst releasenotes/source/unreleased.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder diff -Nru python-glanceclient-2.6.0/releasenotes/source/index.rst python-glanceclient-2.7.0/releasenotes/source/index.rst --- python-glanceclient-2.6.0/releasenotes/source/index.rst 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/releasenotes/source/index.rst 2017-06-01 22:05:08.000000000 +0000 @@ -6,5 +6,6 @@ :maxdepth: 1 unreleased + ocata newton mitaka diff -Nru python-glanceclient-2.6.0/releasenotes/source/ocata.rst python-glanceclient-2.7.0/releasenotes/source/ocata.rst --- python-glanceclient-2.6.0/releasenotes/source/ocata.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-glanceclient-2.7.0/releasenotes/source/ocata.rst 2017-06-01 22:05:08.000000000 +0000 @@ -0,0 +1,6 @@ +=================================== + Ocata Series Release Notes +=================================== + +.. release-notes:: + :branch: origin/stable/ocata diff -Nru python-glanceclient-2.6.0/requirements.txt python-glanceclient-2.7.0/requirements.txt --- python-glanceclient-2.6.0/requirements.txt 2017-01-24 17:34:25.000000000 +0000 +++ python-glanceclient-2.7.0/requirements.txt 2017-06-01 22:05:08.000000000 +0000 @@ -1,13 +1,13 @@ # 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 -Babel>=2.3.4 # BSD +pbr!=2.1.0,>=2.0.0 # Apache-2.0 +Babel!=2.4.0,>=2.3.4 # BSD PrettyTable<0.8,>=0.7.1 # BSD -keystoneauth1>=2.18.0 # Apache-2.0 -requests!=2.12.2,>=2.10.0 # Apache-2.0 +keystoneauth1>=2.20.0 # Apache-2.0 +requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0 warlock!=1.3.0,<2,>=1.0.1 # Apache-2.0 six>=1.9.0 # MIT -oslo.utils>=3.18.0 # Apache-2.0 -oslo.i18n>=2.1.0 # Apache-2.0 +oslo.utils>=3.20.0 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 wrapt>=1.7.0 # BSD License diff -Nru python-glanceclient-2.6.0/setup.cfg python-glanceclient-2.7.0/setup.cfg --- python-glanceclient-2.6.0/setup.cfg 2017-01-24 17:37:00.000000000 +0000 +++ python-glanceclient-2.7.0/setup.cfg 2017-06-01 22:07:35.000000000 +0000 @@ -19,7 +19,6 @@ Programming Language :: Python :: 2 Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 - Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 [files] @@ -35,9 +34,11 @@ glance = glanceclient.shell:main [build_sphinx] +builders = html,man +all-files = 1 +warning-is-error = 1 source-dir = doc/source build-dir = doc/build -all_files = 1 [upload_sphinx] upload-dir = doc/build/html diff -Nru python-glanceclient-2.6.0/setup.py python-glanceclient-2.7.0/setup.py --- python-glanceclient-2.6.0/setup.py 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/setup.py 2017-06-01 22:05:08.000000000 +0000 @@ -25,5 +25,5 @@ pass setuptools.setup( - setup_requires=['pbr>=1.8'], + setup_requires=['pbr>=2.0.0'], pbr=True) diff -Nru python-glanceclient-2.6.0/test-requirements.txt python-glanceclient-2.7.0/test-requirements.txt --- python-glanceclient-2.6.0/test-requirements.txt 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/test-requirements.txt 2017-06-01 22:05:08.000000000 +0000 @@ -1,18 +1,18 @@ # 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.11,>=0.10.0 +hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 -coverage>=4.0 # Apache-2.0 +coverage!=4.4,>=4.0 # Apache-2.0 mock>=2.0 # BSD ordereddict # MIT -os-client-config>=1.22.0 # Apache-2.0 +os-client-config>=1.27.0 # Apache-2.0 oslosphinx>=4.7.0 # Apache-2.0 reno>=1.8.0 # Apache-2.0 -sphinx!=1.3b1,<1.4,>=1.2.1 # BSD +sphinx!=1.6.1,>=1.5.1 # BSD testrepository>=0.0.18 # Apache-2.0/BSD testtools>=1.4.0 # MIT testscenarios>=0.4 # Apache-2.0/BSD fixtures>=3.0.0 # Apache-2.0/BSD requests-mock>=1.1 # Apache-2.0 -tempest>=12.1.0 # Apache-2.0 +tempest>=14.0.0 # Apache-2.0 diff -Nru python-glanceclient-2.6.0/tox.ini python-glanceclient-2.7.0/tox.ini --- python-glanceclient-2.6.0/tox.ini 2017-01-24 17:34:24.000000000 +0000 +++ python-glanceclient-2.7.0/tox.ini 2017-06-01 22:05:08.000000000 +0000 @@ -1,5 +1,5 @@ [tox] -envlist = py35,py34,py27,pep8 +envlist = py35,py27,pep8 minversion = 1.6 skipsdist = True