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 - [email protected]
+
+- 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">[email protected]</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 <[email protected]>
Shevek <[email protected]>
Spencer Yu <[email protected]>
+Stefan Nica <[email protected]>
Steve Martinelli <[email protected]>
Steve Martinelli <[email protected]>
Steven Hardy <[email protected]>
@@ -139,6 +140,7 @@
Thomas Goirand <[email protected]>
Thomas Herve <[email protected]>
Thomas Herve <[email protected]>
+Tim Burke <[email protected]>
Tin Lam <[email protected]>
Tin Lam <[email protected]>
Tom Cocozzello <[email protected]>
@@ -172,10 +174,13 @@
liuxiaoyang <[email protected]>
lrqrun <[email protected]>
mathrock <[email protected]>
+melissaml <[email protected]>
nachiappan-veerappan-nachiappan <[email protected]>
termie <[email protected]>
ubuntu <[email protected]>
wanghong <[email protected]>
+wanghui <[email protected]>
+wangxiyuan <[email protected]>
xingzhou <[email protected]>
xuhaigang <[email protected]>
zhang-jinnan <[email protected]>
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: [email protected]
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 <[email protected]>, 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 <[email protected]>\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 <[email protected]>, 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 <[email protected]>\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: [email protected]
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 <[email protected]>, 2017. #zanata
+# Andi Chandler <[email protected]>, 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 <[email protected]>\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 <[email protected]>, 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 <[email protected]>\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 = [email protected]
-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]