Hello community, here is the log from the commit of package python-keystonemiddleware for openSUSE:Factory checked in at 2018-09-07 15:37:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-keystonemiddleware (Old) and /work/SRC/openSUSE:Factory/.python-keystonemiddleware.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keystonemiddleware" Fri Sep 7 15:37:41 2018 rev:7 rq:633076 version:5.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-keystonemiddleware/python-keystonemiddleware.changes 2018-03-19 23:34:49.645038902 +0100 +++ /work/SRC/openSUSE:Factory/.python-keystonemiddleware.new/python-keystonemiddleware.changes 2018-09-07 15:37:45.966641667 +0200 @@ -1,0 +2,28 @@ +Mon Sep 3 17:17:48 UTC 2018 - cloud-de...@suse.de + +- update to version 5.2.0 + - Only include response body if there's a response + - Fix the AttributeError: __exit__ error + - Update reno for stable/queens + - Imported Translations from Zanata + - Remove empty files + - Identify the keystone service when raising 503 + - Fix KeystoneMiddleware memcachepool abstraction + - Double quote www_authenticate_uri + - Introduce new header for system-scoped tokens + - Properly zero out max_retries in test_http_error_not_cached_token + - Update links in README + - Don't rely on pbr ChangeLog for docs + - Update home-page url + - Follow the new PTI for document build + - Remove kwargs_to_fetch_token + - Add arguments for MemcacheClientPool init + - fix tox python3 overrides + - Switch coverage tox env to stestr + - Fix the doc CI failure + - Add option to disable using oslo_message notifier + - Fix the title in index.rst + - Updated from global requirements + - add lower-constraints job + +------------------------------------------------------------------- Old: ---- keystonemiddleware-4.21.0.tar.gz New: ---- keystonemiddleware-5.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-keystonemiddleware.spec ++++++ --- /var/tmp/diff_new_pack.mjmLh8/_old 2018-09-07 15:37:46.414641185 +0200 +++ /var/tmp/diff_new_pack.mjmLh8/_new 2018-09-07 15:37:46.414641185 +0200 @@ -18,54 +18,78 @@ %global sname keystonemiddleware Name: python-keystonemiddleware -Version: 4.21.0 +Version: 5.2.0 Release: 0 Summary: Middleware for OpenStack Identity License: Apache-2.0 Group: Development/Languages/Python -Url: https://launchpad.net/%{sname} +URL: https://launchpad.net/%{sname} Source0: https://files.pythonhosted.org/packages/source/k/%{sname}/%{sname}-%{version}.tar.gz +BuildRequires: openssl BuildRequires: openstack-macros -BuildRequires: python-WebOb >= 1.7.1 -BuildRequires: python-WebTest >= 2.0.27 -BuildRequires: python-fixtures >= 3.0.0 -BuildRequires: python-keystoneauth1 >= 3.3.0 -BuildRequires: python-keystoneclient >= 3.8.0 -BuildRequires: python-mock >= 2.0.0 -BuildRequires: python-oslo.cache >= 1.26.0 -BuildRequires: python-oslo.config >= 5.1.0 -BuildRequires: python-oslo.context >= 2.19.2 -BuildRequires: python-oslo.i18n >= 3.15.3 -BuildRequires: python-oslo.messaging >= 5.29.0 -BuildRequires: python-oslo.serialization >= 2.18.0 -BuildRequires: python-oslo.utils >= 3.33.0 -BuildRequires: python-oslotest >= 3.2.0 -BuildRequires: python-positional -BuildRequires: python-pycadf >= 1.1.0 -BuildRequires: python-pycrypto >= 2.6 -BuildRequires: python-python-memcached >= 1.56 -BuildRequires: python-requests >= 2.14.2 -BuildRequires: python-requests-mock >= 1.1.0 -BuildRequires: python-six >= 1.10.0 -BuildRequires: python-stevedore >= 1.20.0 -BuildRequires: python-testrepository >= 0.0.18 -BuildRequires: python-testresources >= 2.0.0 -BuildRequires: python-testtools >= 2.2.0 +BuildRequires: python2-WebOb >= 1.7.1 +BuildRequires: python2-WebTest +BuildRequires: python2-cryptography +BuildRequires: python2-fixtures +BuildRequires: python2-keystoneauth1 >= 3.4.0 +BuildRequires: python2-keystoneclient >= 3.8.0 +BuildRequires: python2-mock +BuildRequires: python2-oslo.cache >= 1.26.0 +BuildRequires: python2-oslo.config >= 5.2.0 +BuildRequires: python2-oslo.context >= 2.19.2 +BuildRequires: python2-oslo.i18n >= 3.15.3 +BuildRequires: python2-oslo.messaging +BuildRequires: python2-oslo.serialization >= 2.18.0 +BuildRequires: python2-oslo.utils >= 3.33.0 +BuildRequires: python2-oslotest +BuildRequires: python2-pycadf >= 1.1.0 +BuildRequires: python2-python-memcached +BuildRequires: python2-requests >= 2.14.2 +BuildRequires: python2-requests-mock +BuildRequires: python2-six >= 1.10.0 +BuildRequires: python2-stevedore +BuildRequires: python2-testrepository +BuildRequires: python2-testresources +BuildRequires: python2-testtools +BuildRequires: python3-WebOb >= 1.7.1 +BuildRequires: python3-WebTest +BuildRequires: python3-cryptography +BuildRequires: python3-fixtures +BuildRequires: python3-keystoneauth1 >= 3.4.0 +BuildRequires: python3-keystoneclient >= 3.8.0 +BuildRequires: python3-mock +BuildRequires: python3-oslo.cache >= 1.26.0 +BuildRequires: python3-oslo.config >= 5.2.0 +BuildRequires: python3-oslo.context >= 2.19.2 +BuildRequires: python3-oslo.i18n >= 3.15.3 +BuildRequires: python3-oslo.messaging +BuildRequires: python3-oslo.serialization >= 2.18.0 +BuildRequires: python3-oslo.utils >= 3.33.0 +BuildRequires: python3-oslotest +BuildRequires: python3-pycadf >= 1.1.0 +BuildRequires: python3-python-memcached +BuildRequires: python3-requests >= 2.14.2 +BuildRequires: python3-requests-mock +BuildRequires: python3-six >= 1.10.0 +BuildRequires: python3-stevedore +BuildRequires: python3-testrepository +BuildRequires: python3-testresources +BuildRequires: python3-testtools Requires: python-WebOb >= 1.7.1 -Requires: python-keystoneauth1 >= 3.3.0 +Requires: python-keystoneauth1 >= 3.4.0 Requires: python-keystoneclient >= 3.8.0 Requires: python-oslo.cache >= 1.26.0 -Requires: python-oslo.config >= 5.1.0 +Requires: python-oslo.config >= 5.2.0 Requires: python-oslo.context >= 2.19.2 Requires: python-oslo.i18n >= 3.15.3 Requires: python-oslo.serialization >= 2.18.0 Requires: python-oslo.utils >= 3.33.0 -Requires: python-positional Requires: python-pycadf >= 1.1.0 -Requires: python-python-memcached >= 1.56 +Requires: python-python-memcached Requires: python-requests >= 2.14.2 Requires: python-six >= 1.10.0 BuildArch: noarch +%python_subpackages %description This package contains middleware modules designed to provide authentication @@ -73,13 +97,14 @@ The most prominent module is keystonemiddleware.auth_token. This package does not expose any CLI or Python API features. -%package doc +%package -n python-keystonemiddleware-doc Summary: Documentation for Middleware for OpenStack Identity Group: Development/Languages/Python BuildRequires: python-Sphinx -BuildRequires: python-openstackdocstheme >= 1.18.1 +BuildRequires: python-openstackdocstheme +BuildRequires: python-sphinxcontrib-apidoc -%description doc +%description -n python-keystonemiddleware-doc Documentation for Middleware for OpenStack Identity. %prep @@ -88,27 +113,30 @@ sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg %build -%{py2_build} +%{python_build} %install -%{py2_install} +%{python_install} # generate html docs -%{__python2} setup.py build_sphinx +export PYTHONPATH=. +PBR_VERSION=%{version} sphinx-build -b html doc/source doc/build/html # remove the sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} %check export PYTHONWARNINGS="ignore" -%{__python2} setup.py testr +%{python_expand rm -rf .testrepository +$python setup.py testr +} -%files +%files %python_files %license LICENSE %doc ChangeLog README.rst %{python2_sitelib}/%{sname} %{python2_sitelib}/*.egg-info -%files doc +%files -n python-keystonemiddleware-doc %doc doc/build/html %license LICENSE ++++++ _service ++++++ --- /var/tmp/diff_new_pack.mjmLh8/_old 2018-09-07 15:37:46.442641155 +0200 +++ /var/tmp/diff_new_pack.mjmLh8/_new 2018-09-07 15:37:46.442641155 +0200 @@ -1,8 +1,8 @@ <services> <service mode="disabled" name="renderspec"> - <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/openstack/keystonemiddleware/keystonemiddleware.spec.j2</param> + <param name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/keystonemiddleware/keystonemiddleware.spec.j2</param> <param name="output-name">python-keystonemiddleware.spec</param> - <param name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/requirements.txt</param> + <param name="requirements">https://raw.githubusercontent.com/openstack/keystonemiddleware/stable/rocky/requirements.txt</param> <param name="changelog-email">cloud-de...@suse.de</param> <param name="changelog-provider">gh,openstack,keystonemiddleware</param> </service> ++++++ keystonemiddleware-4.21.0.tar.gz -> keystonemiddleware-5.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/.zuul.yaml new/keystonemiddleware-5.2.0/.zuul.yaml --- old/keystonemiddleware-4.21.0/.zuul.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/.zuul.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,7 @@ +- project: + check: + jobs: + - openstack-tox-lower-constraints + gate: + jobs: + - openstack-tox-lower-constraints diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/AUTHORS new/keystonemiddleware-5.2.0/AUTHORS --- old/keystonemiddleware-4.21.0/AUTHORS 2018-01-09 16:40:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/AUTHORS 2018-07-20 02:00:20.000000000 +0200 @@ -130,6 +130,7 @@ Sean Winn <sean.w...@cloudscaling.com> Shevek <she...@nebula.com> Spencer Yu <yu...@gohighsec.com> +Stefan Nica <sn...@suse.com> Steve Martinelli <s.martine...@gmail.com> Steve Martinelli <steve...@ca.ibm.com> Steven Hardy <sha...@redhat.com> @@ -139,6 +140,7 @@ Thomas Goirand <z...@debian.org> Thomas Herve <the...@redhat.com> Thomas Herve <thomas.he...@enovance.com> +Tim Burke <tim.bu...@gmail.com> Tin Lam <t...@irrational.io> Tin Lam <tin...@gmail.com> Tom Cocozzello <tjcoc...@us.ibm.com> @@ -172,10 +174,13 @@ liuxiaoyang <liuxiaoy...@fiberhome.com> lrqrun <lrq...@gmail.com> mathrock <nathanael.i.burton.w...@gmail.com> +melissaml <ma....@99cloud.net> nachiappan-veerappan-nachiappan <nachiappan.veerappan-nachiap...@hp.com> termie <git...@anarkystic.com> ubuntu <dikon...@in.ibm.com> wanghong <w.wangh...@huawei.com> +wanghui <wang_...@inspur.com> +wangxiyuan <wangxiy...@huawei.com> xingzhou <xingz...@cn.ibm.com> xuhaigang <haigang...@easystack.cn> zhang-jinnan <ben...@99cloud.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/ChangeLog new/keystonemiddleware-5.2.0/ChangeLog --- old/keystonemiddleware-4.21.0/ChangeLog 2018-01-09 16:40:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/ChangeLog 2018-07-20 02:00:20.000000000 +0200 @@ -1,6 +1,49 @@ CHANGES ======= +5.2.0 +----- + +* Fix KeystoneMiddleware memcachepool abstraction +* fix tox python3 overrides +* Follow the new PTI for document build +* Switch coverage tox env to stestr +* Fix the title in index.rst +* Don't rely on pbr ChangeLog for docs + +5.1.0 +----- + +* Introduce new header for system-scoped tokens +* Imported Translations from Zanata +* Fix the doc CI failure +* Double quote www\_authenticate\_uri +* Only include response body if there's a response +* Properly zero out max\_retries in test\_http\_error\_not\_cached\_token + +5.0.0 +----- + +* add lower-constraints job +* Update links in README +* Updated from global requirements +* Updated from global requirements +* Imported Translations from Zanata +* Update home-page url +* Remove empty files +* Fix the AttributeError: \_\_exit\_\_ error +* Add arguments for MemcacheClientPool init +* Remove kwargs\_to\_fetch\_token +* Identify the keystone service when raising 503 +* Add option to disable using oslo\_message notifier +* Updated from global requirements +* Imported Translations from Zanata +* Update reno for stable/queens +* Updated from global requirements +* Updated from global requirements +* Updated from global requirements +* Imported Translations from Zanata + 4.21.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/PKG-INFO new/keystonemiddleware-5.2.0/PKG-INFO --- old/keystonemiddleware-4.21.0/PKG-INFO 2018-01-09 16:40:08.000000000 +0100 +++ new/keystonemiddleware-5.2.0/PKG-INFO 2018-07-20 02:00:21.000000000 +0200 @@ -1,18 +1,17 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: keystonemiddleware -Version: 4.21.0 +Version: 5.2.0 Summary: Middleware for OpenStack Identity -Home-page: https://docs.openstack.org/developer/keystonemiddleware/ +Home-page: https://docs.openstack.org/keystonemiddleware/latest/ Author: OpenStack Author-email: openstack-...@lists.openstack.org License: UNKNOWN -Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== - .. image:: https://governance.openstack.org/badges/keystonemiddleware.svg - :target: https://governance.openstack.org/reference/tags/index.html + .. image:: https://governance.openstack.org/tc/badges/keystonemiddleware.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -56,3 +55,5 @@ Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.5 +Provides-Extra: audit_notifications +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/README.rst new/keystonemiddleware-5.2.0/README.rst --- old/keystonemiddleware-4.21.0/README.rst 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/README.rst 2018-07-20 01:57:04.000000000 +0200 @@ -2,8 +2,8 @@ Team and repository tags ======================== -.. image:: https://governance.openstack.org/badges/keystonemiddleware.svg - :target: https://governance.openstack.org/reference/tags/index.html +.. image:: https://governance.openstack.org/tc/badges/keystonemiddleware.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/doc/requirements.txt new/keystonemiddleware-5.2.0/doc/requirements.txt --- old/keystonemiddleware-4.21.0/doc/requirements.txt 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/doc/requirements.txt 2018-07-20 01:57:04.000000000 +0200 @@ -4,14 +4,15 @@ # For generating sphinx documentation doc8>=0.6.0 # Apache-2.0 -openstackdocstheme>=1.17.0 # Apache-2.0 +openstackdocstheme>=1.18.1 # Apache-2.0 reno>=2.5.0 # Apache-2.0 -sphinx>=1.6.2 # BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +sphinxcontrib-apidoc>=0.2.0 # BSD # For autodoc builds mock>=2.0.0 # BSD -oslotest>=1.10.0 # Apache-2.0 -requests-mock>=1.1.0 # Apache-2.0 +oslotest>=3.2.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 testresources>=2.0.0 # Apache-2.0/BSD python-memcached>=1.56 # PSF WebTest>=2.0.27 # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/doc/source/conf.py new/keystonemiddleware-5.2.0/doc/source/conf.py --- old/keystonemiddleware-4.21.0/doc/source/conf.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/doc/source/conf.py 2018-07-20 01:57:04.000000000 +0200 @@ -10,7 +10,6 @@ # All configuration values have a default; values that are commented out # serve to show the default. -from __future__ import unicode_literals import os import sys @@ -37,14 +36,23 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', - 'sphinx.ext.todo', +extensions = ['sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.intersphinx', 'openstackdocstheme', - 'oslo_config.sphinxconfiggen' + 'oslo_config.sphinxconfiggen', + 'sphinxcontrib.apidoc', ] +# sphinxcontrib.apidoc options +apidoc_module_dir = '../../keystonemiddleware' +apidoc_output_dir = 'api' +apidoc_excluded_paths = [ + 'tests/*', + 'tests', + 'test'] +apidoc_separate_modules = True + config_generator_config_file = '../../config-generator/keystonemiddleware.conf' sample_config_basename = '_static/keystonemiddleware' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/doc/source/history.rst new/keystonemiddleware-5.2.0/doc/source/history.rst --- old/keystonemiddleware-4.21.0/doc/source/history.rst 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/doc/source/history.rst 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -.. include:: ../../ChangeLog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/doc/source/index.rst new/keystonemiddleware-5.2.0/doc/source/index.rst --- old/keystonemiddleware-4.21.0/doc/source/index.rst 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/doc/source/index.rst 2018-07-20 01:57:04.000000000 +0200 @@ -1,3 +1,4 @@ +======================================================= Python Middleware for OpenStack Identity API (Keystone) ======================================================= @@ -28,10 +29,9 @@ Release Notes ============= -.. toctree:: - :maxdepth: 1 +`Release Notes`_ - history +.. _Release Notes: https://docs.openstack.org/releasenotes/keystonemiddleware/ Contributing ============ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/audit/__init__.py new/keystonemiddleware-5.2.0/keystonemiddleware/audit/__init__.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/audit/__init__.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/audit/__init__.py 2018-07-20 01:57:04.000000000 +0200 @@ -42,6 +42,13 @@ AUDIT_MIDDLEWARE_GROUP = 'audit_middleware_notifications' _AUDIT_OPTS = [ + cfg.BoolOpt('use_oslo_messaging', + default=True, + help='Indicate whether to use oslo_messaging as the notifier. ' + 'If set to False, the local logger will be used as the ' + 'notifier. If set to True, the oslo_messaging package ' + 'must also be present. Otherwise, the local will be used ' + 'instead.'), cfg.StrOpt('driver', help='The Driver to handle sending notifications. Possible ' 'values are messaging, messagingv2, routing, log, test, ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/audit/_notifier.py new/keystonemiddleware-5.2.0/keystonemiddleware/audit/_notifier.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/audit/_notifier.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/audit/_notifier.py 2018-07-20 01:57:04.000000000 +0200 @@ -41,7 +41,7 @@ def create_notifier(conf, log): - if oslo_messaging: + if oslo_messaging and conf.get('use_oslo_messaging'): transport = oslo_messaging.get_notification_transport( conf.oslo_conf_obj, url=conf.get('transport_url')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/__init__.py new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/__init__.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/__init__.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/__init__.py 2018-07-20 01:57:04.000000000 +0200 @@ -72,6 +72,11 @@ presented. This allows the underlying service to determine if a denial should use ``401 Unauthenticated`` or ``403 Forbidden``. +HTTP_OPENSTACK_SYSTEM_SCOPE + A string relaying system information about the token's scope. This + attribute is only present if the token is system-scoped. The string ``all`` + means the token is scoped to the entire deployment system. + HTTP_X_DOMAIN_ID, HTTP_X_SERVICE_DOMAIN_ID Identity service managed unique identifier, string. Only present if this is a domain-scoped token. @@ -215,7 +220,6 @@ import binascii import copy import datetime -import warnings from keystoneauth1 import access from keystoneauth1 import adapter @@ -309,12 +313,6 @@ perform. """ - # NOTE(jamielennox): Default to True and remove in Queens. This is a - # compatibility flag to allow passing **kwargs to fetch_token(). This - # is basically to allow compatibility with keystone's override. We will - # assume all subclasses are ok with this being True in the Queens release. - kwargs_to_fetch_token = False - def __init__(self, app, log=_LOG, @@ -436,14 +434,7 @@ # NOTE(edmondsw): strip the token to remove any whitespace that may # have been passed along in the header per bug 1689468 token = token.strip() - if self.kwargs_to_fetch_token: - data = self.fetch_token(token, **kwargs) - else: - m = _('Implementations of auth_token must set ' - 'kwargs_to_fetch_token this will be the required and ' - 'assumed in Queens.') - warnings.warn(m) - data = self.fetch_token(token) + data = self.fetch_token(token, **kwargs) try: return data, access.create(body=data, auth_token=token) @@ -549,8 +540,6 @@ _SIGNING_CERT_FILE_NAME = 'signing_cert.pem' _SIGNING_CA_FILE_NAME = 'cacert.pem' - kwargs_to_fetch_token = True - def __init__(self, app, conf): log = logging.getLogger(conf.get('log_name', __name__)) log.info('Starting Keystone auth_token middleware') @@ -695,7 +684,7 @@ @property def _reject_auth_headers(self): - header_val = 'Keystone uri=\'%s\'' % self._www_authenticate_uri + header_val = 'Keystone uri="%s"' % self._www_authenticate_uri return [('WWW-Authenticate', header_val)] def _token_hashes(self, token): @@ -778,7 +767,8 @@ ksm_exceptions.RevocationListError, ksm_exceptions.ServiceError) as e: self.log.critical('Unable to validate token: %s', e) - raise webob.exc.HTTPServiceUnavailable() + raise webob.exc.HTTPServiceUnavailable( + 'The Keystone service is temporarily unavailable.') except ksm_exceptions.InvalidToken: self.log.debug('Token validation failure.', exc_info=True) if token_hashes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_cache.py new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_cache.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_cache.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_cache.py 2018-07-20 01:57:18.000000000 +0200 @@ -88,16 +88,20 @@ class _MemcacheClientPool(object): """An advanced memcached client pool that is eventlet safe.""" - def __init__(self, memcache_servers, **kwargs): + def __init__(self, memcache_servers, arguments, **kwargs): # NOTE(sileht): This will import python-memcached, we don't want # it as hard dependency, so lazy load it. from oslo_cache import _memcache_pool self._pool = _memcache_pool.MemcacheClientPool(memcache_servers, + arguments, **kwargs) @contextlib.contextmanager def reserve(self): - with self._pool.get() as client: + # NOTE(morgan): We must use "acquire" if we want all the added context + # manager logic that places the connection back into the pool at the + # end of it's use. + with self._pool.acquire() as client: yield client @@ -120,12 +124,17 @@ def __init__(self, log, cache_time=None, env_cache_name=None, memcached_servers=None, - use_advanced_pool=False, **kwargs): + use_advanced_pool=False, dead_retry=None, socket_timeout=None, + **kwargs): self._LOG = log self._cache_time = cache_time self._env_cache_name = env_cache_name self._memcached_servers = memcached_servers self._use_advanced_pool = use_advanced_pool + self._arguments = { + 'dead_retry': dead_retry, + 'socket_timeout': socket_timeout + } self._memcache_pool_options = kwargs self._cache_pool = None @@ -137,6 +146,7 @@ elif self._use_advanced_pool and self._memcached_servers: return _MemcacheClientPool(self._memcached_servers, + self._arguments, **self._memcache_pool_options) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_identity.py new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_identity.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_identity.py 2018-01-09 16:37:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_identity.py 2018-07-20 01:57:04.000000000 +0200 @@ -234,9 +234,10 @@ raise ksm_exceptions.ServiceError(msg) except ksa_exceptions.HttpError as e: self._LOG.error( - 'Bad response code while validating token: %s', - e.http_status) - self._LOG.warning('Identity response: %s', e.response.text) + 'Bad response code while validating token: %s %s', + e.http_status, e.message) + if hasattr(e.response, 'text'): + self._LOG.warning('Identity response: %s', e.response.text) msg = _('Failed to fetch token data from identity server') raise ksm_exceptions.ServiceError(msg) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_request.py new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_request.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/auth_token/_request.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/auth_token/_request.py 2018-07-20 01:57:04.000000000 +0200 @@ -62,6 +62,13 @@ return 'True' if auth_ref.is_admin_project else 'False' +def _get_system_scope(auth_ref): + """Return the scope information of a system scoped token.""" + if auth_ref.system_scoped: + if auth_ref.system.get('all'): + return 'all' + + # NOTE(jamielennox): this should probably be moved into its own file, but at # the moment there's no real logic here so just keep it locally. class _AuthTokenResponse(webob.Response): @@ -95,6 +102,7 @@ _SERVICE_STATUS_HEADER = 'X-Service-Identity-Status' _ADMIN_PROJECT_HEADER = 'X-Is-Admin-Project' + _SYSTEM_SCOPE_HEADER = 'OpenStack-System-Scope' _SERVICE_CATALOG_HEADER = 'X-Service-Catalog' _TOKEN_AUTH = 'keystone.token_auth' @@ -154,6 +162,7 @@ def _set_auth_headers(self, auth_ref, prefix): names = ','.join(auth_ref.role_names) self.headers[self._ROLES_TEMPLATE % prefix] = names + self.headers[self._SYSTEM_SCOPE_HEADER] = _get_system_scope(auth_ref) for header_tmplt, attr in self._HEADER_TEMPLATE.items(): self.headers[header_tmplt % prefix] = getattr(auth_ref, attr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po new/keystonemiddleware-5.2.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po --- old/keystonemiddleware-4.21.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po 2018-07-20 01:57:04.000000000 +0200 @@ -1,17 +1,17 @@ # Andi Chandler <a...@gowling.com>, 2017. #zanata msgid "" msgstr "" -"Project-Id-Version: keystonemiddleware 4.17.1.dev30\n" +"Project-Id-Version: keystonemiddleware VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2017-11-14 20:57+0000\n" +"POT-Creation-Date: 2018-04-21 04:01+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2017-10-17 07:06+0000\n" "Last-Translator: Andi Chandler <a...@gowling.com>\n" "Language-Team: English (United Kingdom)\n" -"Language: en-GB\n" -"X-Generator: Zanata 3.9.6\n" +"Language: en_GB\n" +"X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "Access key not provided" @@ -37,13 +37,6 @@ msgid "Identity server rejected authorization necessary to fetch token data" msgstr "Identity server rejected authorisation necessary to fetch token data" -msgid "" -"Implementations of auth_token must set kwargs_to_fetch_token this will be " -"the required and assumed in Queens." -msgstr "" -"Implementations of auth_token must set kwargs_to_fetch_token this will be " -"the required and assumed in Queens." - msgid "Invalid MAC; data appears to be corrupted." msgstr "Invalid MAC; data appears to be corrupted." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po new/keystonemiddleware-5.2.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po --- old/keystonemiddleware-4.21.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po 2018-07-20 01:57:04.000000000 +0200 @@ -1,17 +1,17 @@ # Ian Y. Choi <ianyrc...@gmail.com>, 2017. #zanata msgid "" msgstr "" -"Project-Id-Version: keystonemiddleware 4.17.1.dev30\n" +"Project-Id-Version: keystonemiddleware VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2017-11-14 20:57+0000\n" +"POT-Creation-Date: 2018-02-20 19:27+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2017-01-23 03:52+0000\n" "Last-Translator: Ian Y. Choi <ianyrc...@gmail.com>\n" "Language-Team: Korean (South Korea)\n" -"Language: ko-KR\n" -"X-Generator: Zanata 3.9.6\n" +"Language: ko_KR\n" +"X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=1; plural=0\n" msgid "Access key not provided" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.py 2018-07-20 01:57:04.000000000 +0200 @@ -12,6 +12,7 @@ import mock +from keystonemiddleware import audit from keystonemiddleware.tests.unit.audit import base @@ -80,3 +81,13 @@ self.assertTrue(m.called) # make sure first call kwarg 'url' is same as provided transport_url self.assertEqual(transport_url, m.call_args_list[0][1]['url']) + + def test_do_not_use_oslo_messaging(self): + self.cfg.config(use_oslo_messaging=False, + group='audit_middleware_notifications') + audit_middleware = self.create_simple_middleware() + + # make sure it is using a local notifier instead of oslo_messaging + self.assertTrue( + isinstance(audit_middleware._notifier, + audit._notifier._LogNotifier)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/base.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/base.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/base.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/base.py 2018-07-20 01:57:04.000000000 +0200 @@ -15,6 +15,7 @@ from oslo_config import fixture as cfg_fixture from oslo_log import log as logging from requests_mock.contrib import fixture as rm_fixture +import six from six.moves import http_client import webob.dec @@ -48,7 +49,8 @@ return auth_token.AuthProtocol(_do_cb, opts) def call(self, middleware, method='GET', path='/', headers=None, - expected_status=http_client.OK): + expected_status=http_client.OK, + expected_body_string=None): req = webob.Request.blank(path) req.method = method @@ -57,5 +59,7 @@ resp = req.get_response(middleware) self.assertEqual(expected_status, resp.status_int) + if expected_body_string: + self.assertIn(expected_body_string, six.text_type(resp.body)) resp.request = req return resp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py 2018-07-20 01:57:04.000000000 +0200 @@ -98,6 +98,7 @@ VERSION_LIST_v2 = fixture.DiscoveryList(v3=False, href=BASE_URI) ERROR_TOKEN = '7ae290c2a06244c4b41692eb4e9225f2' +TIMEOUT_TOKEN = '4ed1c5e53beee59458adcf8261a8cae2' def cleanup_revoked_file(filename): @@ -955,37 +956,37 @@ resp = self.call_middleware(headers={'X-Auth-Token': 'invalid-token'}, expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_request_invalid_signed_token(self): token = self.examples.INVALID_SIGNED_TOKEN resp = self.call_middleware(headers={'X-Auth-Token': token}, expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_request_invalid_signed_pkiz_token(self): token = self.examples.INVALID_SIGNED_PKIZ_TOKEN resp = self.call_middleware(headers={'X-Auth-Token': token}, expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_request_no_token(self): resp = self.call_middleware(expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_request_no_token_http(self): resp = self.call_middleware(method='HEAD', expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_request_blank_token(self): resp = self.call_middleware(headers={'X-Auth-Token': ''}, expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def _get_cached_token(self, token, mode='md5'): @@ -1063,7 +1064,7 @@ We use UUID tokens since they are the easiest one to reach get_http_connection. """ - self.middleware._http_request_max_retries = 0 + self.set_middleware(conf={'http_request_max_retries': '0'}) self.call_middleware(headers={'X-Auth-Token': ERROR_TOKEN}, expected_status=503) self.assertIsNone(self._get_cached_token(ERROR_TOKEN)) @@ -1071,16 +1072,24 @@ def test_http_request_max_retries(self): times_retry = 10 + body_string = 'The Keystone service is temporarily unavailable.' conf = {'http_request_max_retries': '%s' % times_retry} self.set_middleware(conf=conf) with mock.patch('time.sleep') as mock_obj: self.call_middleware(headers={'X-Auth-Token': ERROR_TOKEN}, - expected_status=503) + expected_status=503, + expected_body_string=body_string) self.assertEqual(mock_obj.call_count, times_retry) + def test_request_timeout(self): + self.call_middleware(headers={'X-Auth-Token': TIMEOUT_TOKEN}, + expected_status=503) + self.assertIsNone(self._get_cached_token(TIMEOUT_TOKEN)) + self.assert_valid_last_url(TIMEOUT_TOKEN) + def test_nocatalog(self): conf = { 'include_service_catalog': 'False' @@ -1117,7 +1126,7 @@ self.assert_valid_last_url(token) else: self.assertEqual(401, resp.status_int) - msg = "Keystone uri='https://keystone.example.com:1234'" + msg = 'Keystone uri="https://keystone.example.com:1234"' self.assertEqual(msg, resp.headers['WWW-Authenticate']) def test_uuid_bind_token_disabled_with_kerb_user(self): @@ -1543,6 +1552,11 @@ raise ksa_exceptions.ConnectFailure("Network connection refused.") +def request_timeout_response(request, context): + raise ksa_exceptions.RequestTimeout( + "Request to https://host/token/path timed out") + + class v2AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest, CommonAuthTokenMiddlewareTest, testresources.ResourcedTestCase): @@ -1616,6 +1630,9 @@ url = '%s/v2.0/tokens/%s' % (BASE_URI, ERROR_TOKEN) self.requests_mock.get(url, text=network_error_response) + url = '%s/v2.0/tokens/%s' % (BASE_URI, TIMEOUT_TOKEN) + self.requests_mock.get(url, text=request_timeout_response) + self.set_middleware() def assert_unscoped_default_tenant_auto_scopes(self, token): @@ -1643,7 +1660,7 @@ """Unscoped requests with no default tenant ID should be rejected.""" resp = self.call_middleware(headers={'X-Auth-Token': token}, expected_status=401) - self.assertEqual("Keystone uri='https://keystone.example.com:1234'", + self.assertEqual('Keystone uri="https://keystone.example.com:1234"', resp.headers['WWW-Authenticate']) def test_unscoped_uuid_token_receives_401(self): @@ -1822,6 +1839,8 @@ if token_id == ERROR_TOKEN: msg = "Network connection refused." raise ksa_exceptions.ConnectFailure(msg) + elif token_id == TIMEOUT_TOKEN: + request_timeout_response(request, context) try: response = self.examples.JSON_TOKEN_RESPONSES[token_id] @@ -1852,6 +1871,21 @@ with_catalog=False) self.assertLastPath('/v3/auth/tokens') + def test_valid_system_scoped_token_request(self): + delta_expected_env = { + 'HTTP_OPENSTACK_SYSTEM_SCOPE': 'all', + 'HTTP_X_PROJECT_ID': None, + 'HTTP_X_PROJECT_NAME': None, + 'HTTP_X_PROJECT_DOMAIN_ID': None, + 'HTTP_X_PROJECT_DOMAIN_NAME': None, + 'HTTP_X_TENANT_ID': None, + 'HTTP_X_TENANT_NAME': None, + 'HTTP_X_TENANT': None + } + self.set_middleware(expected_env=delta_expected_env) + self.assert_valid_request_200(self.examples.v3_SYSTEM_SCOPED_TOKEN) + self.assertLastPath('/v3/auth/tokens') + def test_domain_scoped_uuid_request(self): # Modify items compared to default token for a domain scope delta_expected_env = { @@ -2011,7 +2045,7 @@ resp = self.call(middleware, expected_status=401) self.assertEqual(six.b(body), resp.body) - self.assertEqual("Keystone uri='%s'" % www_authenticate_uri, + self.assertEqual('Keystone uri="%s"' % www_authenticate_uri, resp.headers['WWW-Authenticate']) def test_delayed_auth_values(self): @@ -2370,6 +2404,8 @@ if token_id == ERROR_TOKEN: msg = "Network connection refused." raise ksc_exceptions.ConnectionRefused(msg) + elif token_id == TIMEOUT_TOKEN: + request_timeout_response(request, context) try: response = self.examples.JSON_TOKEN_RESPONSES[token_id] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_base_middleware.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_base_middleware.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_base_middleware.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_base_middleware.py 2018-07-20 01:57:04.000000000 +0200 @@ -31,8 +31,6 @@ class FetchingMiddleware(auth_token.BaseAuthProtocol): - kwargs_to_fetch_token = True - def __init__(self, app, token_dict={}, **kwargs): super(FetchingMiddleware, self).__init__(app, **kwargs) self.token_dict = token_dict diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_cache.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_cache.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/auth_token/test_cache.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/auth_token/test_cache.py 2018-07-20 01:57:18.000000000 +0200 @@ -12,8 +12,10 @@ import uuid +import fixtures import six +from keystonemiddleware.auth_token import _cache from keystonemiddleware.auth_token import _exceptions as exc from keystonemiddleware.tests.unit.auth_token import base from keystonemiddleware.tests.unit import utils @@ -150,3 +152,39 @@ token_cache.initialize({}) token_cache.set(token, data) self.assertEqual(token_cache.get(token), data) + + def test_memcache_pool(self): + conf = { + 'memcached_servers': ','.join(MEMCACHED_SERVERS), + 'memcache_use_advanced_pool': True + } + + token = six.b(uuid.uuid4().hex) + data = uuid.uuid4().hex + + token_cache = self.create_simple_middleware(conf=conf)._token_cache + token_cache.initialize({}) + + token_cache.set(token, data) + self.assertEqual(token_cache.get(token), data) + + +class TestMemcachePoolAbstraction(utils.TestCase): + def setUp(self): + super(TestMemcachePoolAbstraction, self).setUp() + self.useFixture(fixtures.MockPatch( + 'oslo_cache._memcache_pool._MemcacheClient')) + + def test_abstraction_layer_reserve_places_connection_back_in_pool(self): + cache_pool = _cache._MemcacheClientPool( + memcache_servers=[], arguments={}, maxsize=1, unused_timeout=10) + conn = None + with cache_pool.reserve() as client: + self.assertEqual(cache_pool._pool._acquired, 1) + conn = client + + self.assertEqual(cache_pool._pool._acquired, 0) + with cache_pool.reserve() as client: + # Make sure the connection we got before is in-fact the one we + # get again. + self.assertEqual(conn, client) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/client_fixtures.py new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/client_fixtures.py --- old/keystonemiddleware-4.21.0/keystonemiddleware/tests/unit/client_fixtures.py 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware/tests/unit/client_fixtures.py 2018-07-20 01:57:04.000000000 +0200 @@ -127,6 +127,7 @@ self.v3_UUID_TOKEN_DOMAIN_SCOPED = 'e8a7b63aaa4449f38f0c5c05c3581792' self.v3_UUID_TOKEN_BIND = '2f61f73e1c854cbb9534c487f9bd63c2' self.v3_UUID_TOKEN_UNKNOWN_BIND = '7ed9781b62cd4880b8d8c6788ab1d1e2' + self.v3_SYSTEM_SCOPED_TOKEN = '9ca6e88364b6418a88ffc02e6a24afd8' self.UUID_SERVICE_TOKEN_DEFAULT = 'fe4c0710ec2f492748596c1b53ab124' self.UUID_SERVICE_TOKEN_BIND = '5e43439613d34a13a7e03b2762bd08ab' @@ -382,6 +383,17 @@ token = fixture.V3Token(user_id=USER_ID, user_name=USER_NAME, + user_domain_id=DOMAIN_ID, + user_domain_name=DOMAIN_NAME) + token.system = {'all': True} + token.add_role(id=ROLE_NAME1, name=ROLE_NAME1) + token.add_role(id=ROLE_NAME2, name=ROLE_NAME2) + svc = token.add_service(self.SERVICE_TYPE) + svc.add_endpoint('public', self.SERVICE_URL) + self.TOKEN_RESPONSES[self.v3_SYSTEM_SCOPED_TOKEN] = token + + token = fixture.V3Token(user_id=USER_ID, + user_name=USER_NAME, user_domain_id=DOMAIN_ID, user_domain_name=DOMAIN_NAME, domain_id=DOMAIN_ID, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/PKG-INFO new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/PKG-INFO --- old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/PKG-INFO 2018-01-09 16:40:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/PKG-INFO 2018-07-20 02:00:20.000000000 +0200 @@ -1,18 +1,17 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: keystonemiddleware -Version: 4.21.0 +Version: 5.2.0 Summary: Middleware for OpenStack Identity -Home-page: https://docs.openstack.org/developer/keystonemiddleware/ +Home-page: https://docs.openstack.org/keystonemiddleware/latest/ Author: OpenStack Author-email: openstack-...@lists.openstack.org License: UNKNOWN -Description-Content-Type: UNKNOWN Description: ======================== Team and repository tags ======================== - .. image:: https://governance.openstack.org/badges/keystonemiddleware.svg - :target: https://governance.openstack.org/reference/tags/index.html + .. image:: https://governance.openstack.org/tc/badges/keystonemiddleware.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on @@ -56,3 +55,5 @@ Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.5 +Provides-Extra: audit_notifications +Provides-Extra: test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/SOURCES.txt new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/SOURCES.txt --- old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/SOURCES.txt 2018-01-09 16:40:08.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/SOURCES.txt 2018-07-20 02:00:21.000000000 +0200 @@ -1,6 +1,7 @@ .coveragerc .stestr.conf .testr.conf +.zuul.yaml AUTHORS CONTRIBUTING.rst ChangeLog @@ -8,6 +9,7 @@ LICENSE README.rst babel.cfg +lower-constraints.txt requirements.txt setup.cfg setup.py @@ -21,7 +23,6 @@ doc/ext/apidoc.py doc/source/audit.rst doc/source/conf.py -doc/source/history.rst doc/source/index.rst doc/source/installation.rst doc/source/middlewarearchitecture.rst @@ -53,7 +54,6 @@ examples/pki/cms/auth_v3_token_scoped.json examples/pki/cms/auth_v3_token_scoped.pem examples/pki/cms/auth_v3_token_scoped.pkiz -examples/pki/cms/revocation_list.der examples/pki/cms/revocation_list.json examples/pki/cms/revocation_list.pem examples/pki/cms/revocation_list.pkiz @@ -134,11 +134,17 @@ releasenotes/notes/bug-1583699-dba4fe6c057e2be5.yaml releasenotes/notes/bug-1583702-a4469dc1556878b9.yaml releasenotes/notes/bug-1677308-a2fa7de67f21cd84.yaml +releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml releasenotes/notes/bug-1737115-fa3d41e3d3cd7177.yaml releasenotes/notes/bug-1737119-4afe548d28fbf8bb.yaml +releasenotes/notes/bug-1747655-6e563d9317bb0f13.yaml +releasenotes/notes/bug-1762362-3d092b15c7bab3a4.yaml +releasenotes/notes/bug-1766731-3b29192cfeb77964.yaml +releasenotes/notes/bug-1782404-c4e37bbc83756a89.yaml releasenotes/notes/bug_1540115-677cf5016bc46348.yaml releasenotes/notes/deprecate-caching-tokens-in-process-a412b0f1dea84cb9.yaml releasenotes/notes/ksm_4.1.0-3cd78446d8e63616.yaml +releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml releasenotes/notes/rename-auth-uri-d223d883f5898aee.yaml releasenotes/notes/s3token_auth_uri-490c1287d90b9df7.yaml releasenotes/notes/x-is-admin-project-header-97f1882e209fe727.yaml @@ -148,6 +154,7 @@ releasenotes/source/newton.rst releasenotes/source/ocata.rst releasenotes/source/pike.rst +releasenotes/source/queens.rst releasenotes/source/unreleased.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/pbr.json new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/pbr.json --- old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/pbr.json 2018-01-09 16:40:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/pbr.json 2018-07-20 02:00:20.000000000 +0200 @@ -1 +1 @@ -{"git_version": "f1f2c4a", "is_release": true} \ No newline at end of file +{"git_version": "c46f292", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/requires.txt new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/requires.txt --- old/keystonemiddleware-4.21.0/keystonemiddleware.egg-info/requires.txt 2018-01-09 16:40:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/keystonemiddleware.egg-info/requires.txt 2018-07-20 02:00:20.000000000 +0200 @@ -1,11 +1,11 @@ -keystoneauth1>=3.3.0 +keystoneauth1>=3.4.0 oslo.cache>=1.26.0 -oslo.config>=5.1.0 +oslo.config>=5.2.0 oslo.context>=2.19.2 oslo.i18n>=3.15.3 -oslo.log>=3.30.0 +oslo.log>=3.36.0 oslo.serialization!=2.19.1,>=2.18.0 -oslo.utils>=3.31.0 +oslo.utils>=3.33.0 pbr!=2.1.0,>=2.0.0 pycadf!=2.0.0,>=1.1.0 python-keystoneclient>=3.8.0 @@ -15,3 +15,20 @@ [audit_notifications] oslo.messaging>=5.29.0 + +[test] +hacking<0.11,>=0.10.0 +flake8-docstrings==0.2.1.post1 +coverage!=4.4,>=4.0 +cryptography>=2.1 +fixtures>=3.0.0 +mock>=2.0.0 +oslotest>=3.2.0 +requests-mock>=1.2.0 +stevedore>=1.20.0 +stestr +testresources>=2.0.0 +testtools>=2.2.0 +python-memcached>=1.56 +WebTest>=2.0.27 +bandit>=1.1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/lower-constraints.txt new/keystonemiddleware-5.2.0/lower-constraints.txt --- old/keystonemiddleware-4.21.0/lower-constraints.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/lower-constraints.txt 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,85 @@ +appdirs==1.4.3 +asn1crypto==0.24.0 +Babel==2.5.3 +bandit==1.1.0 +beautifulsoup4==4.6.0 +certifi==2018.1.18 +cffi==1.11.5 +chardet==3.0.4 +cliff==2.11.0 +cmd2==0.8.1 +coverage==4.0 +cryptography==2.1 +debtcollector==1.19.0 +dogpile.cache==0.6.5 +dulwich==0.19.0 +extras==1.0.0 +fixtures==3.0.0 +flake8-docstrings==0.2.1.post1 +flake8==2.2.4 +future==0.16.0 +gitdb2==2.0.3 +GitPython==2.1.8 +hacking==0.10.0 +idna==2.6 +iso8601==0.1.12 +keystoneauth1==3.4.0 +linecache2==1.0.0 +mccabe==0.2.1 +mock==2.0.0 +monotonic==1.4 +mox3==0.25.0 +msgpack==0.5.6 +netaddr==0.7.19 +netifaces==0.10.6 +openstack-requirements==1.2.0 +os-client-config==1.29.0 +os-testr==1.0.0 +oslo.cache==1.26.0 +oslo.config==5.2.0 +oslo.context==2.19.2 +oslo.i18n==3.15.3 +oslo.log==3.36.0 +oslo.messaging==5.29.0 +oslo.serialization==2.18.0 +oslo.utils==3.33.0 +oslotest==3.2.0 +packaging==17.1 +Parsley==1.3 +pbr==2.0.0 +pep257==0.7.0 +pep8==1.5.7 +prettytable==0.7.2 +pycadf==1.1.0 +pycparser==2.18 +pyflakes==0.8.1 +pyinotify==0.9.6 +pyparsing==2.2.0 +pyperclip==1.6.0 +python-dateutil==2.7.0 +python-keystoneclient==3.8.0 +python-memcached==1.56 +python-mimeparse==1.6.0 +python-subunit==1.2.0 +pytz==2018.3 +PyYAML==3.12 +reno==2.5.0 +requests-mock==1.2.0 +requests==2.14.2 +requestsexceptions==1.4.0 +rfc3986==1.1.0 +six==1.10.0 +smmap2==2.0.3 +stestr==2.0.0 +stevedore==1.20.0 +testrepository==0.0.18 +testresources==2.0.0 +testtools==2.2.0 +traceback2==1.4.0 +unittest2==1.1.0 +urllib3==1.22 +voluptuous==0.11.1 +waitress==1.1.0 +WebOb==1.7.1 +WebTest==2.0.27 +wrapt==1.10.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1695038-2cbedcabf8ecc057.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,13 @@ +--- +features: + - > + [`bug 1695038 <https://bugs.launchpad.net/keystonemiddleware/+bug/1695038>`_] + The use_oslo_messaging configuration option is added for services such as + Swift, which need the audit middleware to use the local logger instead of + the oslo.messaging notifier regardless of whether the oslo.messaging package + is present or not. + Leave this option set to its default True value to keep the previous behavior + unchanged - the audit middleware will use the oslo.messaging notifier if the + oslo.messaging package is present, and the local logger otherwise. + Services that rely on the local logger for audit notifications must set this + option to False. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1747655-6e563d9317bb0f13.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1747655-6e563d9317bb0f13.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1747655-6e563d9317bb0f13.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1747655-6e563d9317bb0f13.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,9 @@ +--- +fixes: + - | + [`bug/1747655 <https://bugs.launchpad.net/keystonemiddleware/+bug/1747655>`_] + When keystone is temporarily unavailable, keystonemiddleware correctly + sends a 503 response to the HTTP client but was not identifying which + service was down, leading to confusion on whether it was keystone or the + service using keystonemiddleware that was unavailable. This change + identifies keystone in the error response. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1762362-3d092b15c7bab3a4.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1762362-3d092b15c7bab3a4.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1762362-3d092b15c7bab3a4.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1762362-3d092b15c7bab3a4.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,6 @@ +--- +features: + - > + [`bug 1762362 <https://bugs.launchpad.net/keystonemiddleware/+bug/1762362>`_] + The value of the header "WWW-Authenticate" in a 401 (Unauthorized) response + now is double quoted to follow the RFC requirement. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1766731-3b29192cfeb77964.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1766731-3b29192cfeb77964.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1766731-3b29192cfeb77964.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1766731-3b29192cfeb77964.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,7 @@ +--- +fixes: + - | + [`bug 1766731 <https://bugs.launchpad.net/keystonemiddleware/+bug/1766731>`_] + Keystonemiddleware now supports system scoped tokens. When a system-scoped + token is parsed by auth_token middleware, it will set the + ``OpenStack-System-Scope`` header accordingly. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1782404-c4e37bbc83756a89.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1782404-c4e37bbc83756a89.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/bug-1782404-c4e37bbc83756a89.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/bug-1782404-c4e37bbc83756a89.yaml 2018-07-20 01:57:18.000000000 +0200 @@ -0,0 +1,8 @@ +--- +fixes: + - > + [`bug 1782404 <https://bugs.launchpad.net/keystonemiddleware/+bug/1782404>`_] + Keystonemiddleware incorrectly implemented an abstraction for the memcache + client pool that utilized a `queue.Queue` `get` method instead of the + supplied `acquire()` context manager. The `acquire()` context manager + properly places the client connection back into the pool after `__exit__`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml new/keystonemiddleware-5.2.0/releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml --- old/keystonemiddleware-4.21.0/releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,6 @@ +--- +other: + - > + The ``kwargs_to_fetch_token`` setting was removed from the + ``BaseAuthProtocol`` class. Implementations of auth_token now assume kwargs + will be passed to the ``fetch_token`` method. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/source/index.rst new/keystonemiddleware-5.2.0/releasenotes/source/index.rst --- old/keystonemiddleware-4.21.0/releasenotes/source/index.rst 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/source/index.rst 2018-07-20 01:57:04.000000000 +0200 @@ -6,6 +6,7 @@ :maxdepth: 1 unreleased + queens pike ocata newton diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po new/keystonemiddleware-5.2.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po --- old/keystonemiddleware-4.21.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2018-01-09 16:37:07.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2018-07-20 01:57:04.000000000 +0200 @@ -1,17 +1,18 @@ # Andi Chandler <a...@gowling.com>, 2017. #zanata +# Andi Chandler <a...@gowling.com>, 2018. #zanata msgid "" msgstr "" -"Project-Id-Version: keystonemiddleware Release Notes\n" +"Project-Id-Version: keystonemiddleware\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-20 21:10+0000\n" +"POT-Creation-Date: 2018-04-21 04:01+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2017-12-23 11:14+0000\n" +"PO-Revision-Date: 2018-04-30 10:08+0000\n" "Last-Translator: Andi Chandler <a...@gowling.com>\n" "Language-Team: English (United Kingdom)\n" -"Language: en-GB\n" -"X-Generator: Zanata 3.9.6\n" +"Language: en_GB\n" +"X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "4.1.0" @@ -26,12 +27,12 @@ msgid "4.18.0" msgstr "4.18.0" -msgid "4.19.0-4" -msgstr "4.19.0-4" - msgid "4.2.0" msgstr "4.2.0" +msgid "4.20.0" +msgstr "4.20.0" + msgid "4.3.0" msgstr "4.3.0" @@ -41,6 +42,12 @@ msgid "4.6.0" msgstr "4.6.0" +msgid "5.0.0" +msgstr "5.0.0" + +msgid "5.0.0-5" +msgstr "5.0.0-5" + msgid "" "A new configuration option for the s3token middleware called auth_uri can be " "used to set the URI to be used for authentication. This replaces auth_host, " @@ -116,12 +123,18 @@ msgid "Ocata Series Release Notes" msgstr "Ocata Series Release Notes" +msgid "Other Notes" +msgstr "Other Notes" + msgid "Pike Series Release Notes" msgstr "Pike Series Release Notes" msgid "Prelude" msgstr "Prelude" +msgid "Queens Series Release Notes" +msgstr "Queens Series Release Notes" + msgid "Security Issues" msgstr "Security Issues" @@ -158,6 +171,15 @@ "releases." msgid "" +"The ``kwargs_to_fetch_token`` setting was removed from the " +"``BaseAuthProtocol`` class. Implementations of auth_token now assume kwargs " +"will be passed to the ``fetch_token`` method." +msgstr "" +"The ``kwargs_to_fetch_token`` setting was removed from the " +"``BaseAuthProtocol`` class. Implementations of auth_token now assume kwargs " +"will be passed to the ``fetch_token`` method." + +msgid "" "The auth_host, auth_port, and auth_protocol configuration options to the " "s3token middleware are now deprecated." msgstr "" @@ -272,23 +294,6 @@ "existing configuration." msgid "" -"[`bug 1540022 <https://bugs.launchpad.net/keystonemiddleware/" -"+bug/1540022>`_] The auth_token middleware will now accept a conf setting " -"named ``oslo_config_config``. If this is set its value must be an existing " -"oslo_config `ConfigOpts`. ``oslo_config_config`` takes precedence over " -"``oslo_config_project``. This feature is useful to applications that are " -"instantiating the auth_token middleware themselves and wish to use an " -"existing configuration." -msgstr "" -"[`bug 1540022 <https://bugs.launchpad.net/keystonemiddleware/" -"+bug/1540022>`_] The auth_token middleware will now accept a conf setting " -"named ``oslo_config_config``. If this is set its value must be an existing " -"oslo_config `ConfigOpts`. ``oslo_config_config`` takes precedence over " -"``oslo_config_project``. This feature is useful to applications that are " -"instantiating the auth_token middleware themselves and wish to use an " -"existing configuration." - -msgid "" "[`bug 1540115 <https://bugs.launchpad.net/keystonemiddleware/" "+bug/1540115>`_] Optional dependencies can now be installed using `extras`. " "To install audit related libraries, use ``pip install " @@ -384,6 +389,27 @@ "``cryptography``." msgid "" +"[`bug 1695038 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1695038>`_] The use_oslo_messaging configuration option is added for " +"services such as Swift, which need the audit middleware to use the local " +"logger instead of the oslo.messaging notifier regardless of whether the oslo." +"messaging package is present or not. Leave this option set to its default " +"True value to keep the previous behavior unchanged - the audit middleware " +"will use the oslo.messaging notifier if the oslo.messaging package is " +"present, and the local logger otherwise. Services that rely on the local " +"logger for audit notifications must set this option to False." +msgstr "" +"[`bug 1695038 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1695038>`_] The use_oslo_messaging configuration option is added for " +"services such as Swift, which need the audit middleware to use the local " +"logger instead of the oslo.messaging notifier regardless of whether the oslo." +"messaging package is present or not. Leave this option set to its default " +"True value to keep the previous behaviour unchanged - the audit middleware " +"will use the oslo.messaging notifier if the oslo.messaging package is " +"present, and the local logger otherwise. Services that rely on the local " +"logger for audit notifications must set this option to False." + +msgid "" "[`bug 1737115 <https://bugs.launchpad.net/keystonemiddleware/" "+bug/1737115>`_] Last release have accidentaly make python-memcached a hard " "dependency, this have changed back to an optional one." @@ -403,5 +429,29 @@ "object, the configuration was not read from the configuration file. This " "have been fixed." +msgid "" +"[`bug 1762362 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1762362>`_] The value of the header \"WWW-Authenticate\" in a 401 " +"(Unauthorized) response now is double quoted to follow the RFC requirement." +msgstr "" +"[`bug 1762362 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1762362>`_] The value of the header \"WWW-Authenticate\" in a 401 " +"(Unauthorised) response now is double quoted to follow the RFC requirement." + +msgid "" +"[`bug/1747655 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1747655>`_] When keystone is temporarily unavailable, " +"keystonemiddleware correctly sends a 503 response to the HTTP client but was " +"not identifying which service was down, leading to confusion on whether it " +"was keystone or the service using keystonemiddleware that was unavailable. " +"This change identifies keystone in the error response." +msgstr "" +"[`bug/1747655 <https://bugs.launchpad.net/keystonemiddleware/" +"+bug/1747655>`_] When keystone is temporarily unavailable, " +"keystonemiddleware correctly sends a 503 response to the HTTP client but was " +"not identifying which service was down, leading to confusion on whether it " +"was keystone or the service using keystonemiddleware that was unavailable. " +"This change identifies keystone in the error response." + msgid "keystonemiddleware Release Notes" msgstr "keystonemiddleware Release Notes" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/source/locale/ko_KR/LC_MESSAGES/releasenotes.po new/keystonemiddleware-5.2.0/releasenotes/source/locale/ko_KR/LC_MESSAGES/releasenotes.po --- old/keystonemiddleware-4.21.0/releasenotes/source/locale/ko_KR/LC_MESSAGES/releasenotes.po 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/source/locale/ko_KR/LC_MESSAGES/releasenotes.po 2018-07-20 01:57:04.000000000 +0200 @@ -1,17 +1,17 @@ # Ian Y. Choi <ianyrc...@gmail.com>, 2017. #zanata msgid "" msgstr "" -"Project-Id-Version: keystonemiddleware Release Notes 4.14.1\n" +"Project-Id-Version: keystonemiddleware Release Notes\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-05 12:59+0000\n" +"POT-Creation-Date: 2018-02-20 19:27+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2017-01-19 04:08+0000\n" "Last-Translator: Ian Y. Choi <ianyrc...@gmail.com>\n" "Language-Team: Korean (South Korea)\n" -"Language: ko-KR\n" -"X-Generator: Zanata 3.9.6\n" +"Language: ko_KR\n" +"X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=1; plural=0\n" msgid "4.1.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/releasenotes/source/queens.rst new/keystonemiddleware-5.2.0/releasenotes/source/queens.rst --- old/keystonemiddleware-4.21.0/releasenotes/source/queens.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/keystonemiddleware-5.2.0/releasenotes/source/queens.rst 2018-07-20 01:57:04.000000000 +0200 @@ -0,0 +1,6 @@ +=================================== + Queens Series Release Notes +=================================== + +.. release-notes:: + :branch: stable/queens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/requirements.txt new/keystonemiddleware-5.2.0/requirements.txt --- old/keystonemiddleware-4.21.0/requirements.txt 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/requirements.txt 2018-07-20 01:57:04.000000000 +0200 @@ -2,14 +2,14 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -keystoneauth1>=3.3.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 oslo.cache>=1.26.0 # Apache-2.0 -oslo.config>=5.1.0 # Apache-2.0 +oslo.config>=5.2.0 # Apache-2.0 oslo.context>=2.19.2 # Apache-2.0 oslo.i18n>=3.15.3 # Apache-2.0 -oslo.log>=3.30.0 # Apache-2.0 +oslo.log>=3.36.0 # Apache-2.0 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 -oslo.utils>=3.31.0 # Apache-2.0 +oslo.utils>=3.33.0 # Apache-2.0 pbr!=2.1.0,>=2.0.0 # Apache-2.0 pycadf!=2.0.0,>=1.1.0 # Apache-2.0 python-keystoneclient>=3.8.0 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/setup.cfg new/keystonemiddleware-5.2.0/setup.cfg --- old/keystonemiddleware-4.21.0/setup.cfg 2018-01-09 16:40:08.000000000 +0100 +++ new/keystonemiddleware-5.2.0/setup.cfg 2018-07-20 02:00:21.000000000 +0200 @@ -5,7 +5,7 @@ README.rst author = OpenStack author-email = openstack-...@lists.openstack.org -home-page = https://docs.openstack.org/developer/keystonemiddleware/ +home-page = https://docs.openstack.org/keystonemiddleware/latest/ classifier = Environment :: OpenStack Intended Audience :: Information Technology @@ -39,19 +39,6 @@ ec2_token = keystonemiddleware.ec2_token:filter_factory s3_token = keystonemiddleware.s3_token:filter_factory -[build_sphinx] -source-dir = doc/source -build-dir = doc/build -all_files = 1 -warning-is-error = 1 - -[pbr] -autodoc_tree_index_modules = True -autodoc_tree_excludes = setup.py - -[upload_sphinx] -upload-dir = doc/build/html - [compile_catalog] directory = keystonemiddleware/locale domain = keystonemiddleware diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/test-requirements.txt new/keystonemiddleware-5.2.0/test-requirements.txt --- old/keystonemiddleware-4.21.0/test-requirements.txt 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/test-requirements.txt 2018-07-20 01:57:04.000000000 +0200 @@ -6,17 +6,15 @@ flake8-docstrings==0.2.1.post1 # MIT coverage!=4.4,>=4.0 # Apache-2.0 -cryptography!=2.0,>=1.9 # BSD/Apache-2.0 +cryptography>=2.1 # BSD/Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD mock>=2.0.0 # BSD -oslotest>=1.10.0 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 -requests-mock>=1.1.0 # Apache-2.0 +oslotest>=3.2.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 stevedore>=1.20.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD +stestr # Apache-2.0 testresources>=2.0.0 # Apache-2.0/BSD testtools>=2.2.0 # MIT -os-testr>=1.0.0 # Apache-2.0 python-memcached>=1.56 # PSF WebTest>=2.0.27 # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/tools/tox_install.sh new/keystonemiddleware-5.2.0/tools/tox_install.sh --- old/keystonemiddleware-4.21.0/tools/tox_install.sh 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/tools/tox_install.sh 2018-07-20 01:57:04.000000000 +0200 @@ -26,5 +26,7 @@ # install will be constrained and we need to unconstrain it. edit-constraints "$localfile" -- "$CLIENT_NAME" -pip install -c"$localfile" -U "$@" +if [[ -n "$@" ]]; then + pip install -c"$localfile" -U "$@" +fi exit $? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystonemiddleware-4.21.0/tox.ini new/keystonemiddleware-5.2.0/tox.ini --- old/keystonemiddleware-4.21.0/tox.ini 2018-01-09 16:36:52.000000000 +0100 +++ new/keystonemiddleware-5.2.0/tox.ini 2018-07-20 01:57:04.000000000 +0200 @@ -20,22 +20,34 @@ commands = stestr run {posargs} [testenv:pep8] +basepython = python3 commands = flake8 bandit -r keystonemiddleware -x tests -n5 [testenv:bandit] +basepython = python3 # NOTE(browne): This is required for the integration test job of the bandit # project. Please do not remove. commands = bandit -r keystonemiddleware -x tests -n5 [testenv:venv] +basepython = python3 commands = {posargs} [testenv:cover] -commands = python setup.py testr --coverage --testr-args='{posargs}' +basepython = python3 +setenv = + {[testenv]setenv} + PYTHON=coverage run --source keystonemiddleware --parallel-mode +commands = + stestr run {posargs} + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml [testenv:debug] +basepython = python3 commands = oslo_debug_helper -t keystonemiddleware/tests {posargs} @@ -51,12 +63,14 @@ exclude = .venv,.tox,dist,doc,*egg,build [testenv:docs] +basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands= doc8 doc/source - python setup.py build_sphinx + sphinx-build -W -b html doc/source doc/build/html [testenv:releasenotes] +basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html @@ -68,3 +82,11 @@ extensions = .rst, .yaml # lines should not be longer than 79 characters. max-line-length = 79 + +[testenv:lower-constraints] +basepython = python3 +deps = + -c{toxinidir}/lower-constraints.txt + -r{toxinidir}/test-requirements.txt + -r{toxinidir}/requirements.txt + .[audit_notifications]