Hello community,
here is the log from the commit of package python-keystonemiddleware for
openSUSE:Factory checked in at 2020-06-05 20:10:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keystonemiddleware (Old)
and /work/SRC/openSUSE:Factory/.python-keystonemiddleware.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keystonemiddleware"
Fri Jun 5 20:10:41 2020 rev:11 rq:803568 version:9.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-keystonemiddleware/python-keystonemiddleware.changes
2020-03-24 22:32:20.153089099 +0100
+++
/work/SRC/openSUSE:Factory/.python-keystonemiddleware.new.3606/python-keystonemiddleware.changes
2020-06-05 20:13:53.970469400 +0200
@@ -1,0 +2,22 @@
+Tue May 12 09:58:47 UTC 2020 - [email protected]
+
+- update to version 9.0.0
+ - Update master for stable/train
+ - Rename _v3_to_v2_catalog to _normalize_catalog
+ - Make tests pass in 2022
+ - Change ec2 URLs to v3
+ - Switch to Ussuri jobs
+ - Have middlewarearchitecture doc reference auth_type option
+ - Update invalid link for README
+ - Remove v2.0 functionality
+ - Update hacking for Python3
+ - [ussuri][goal] Drop python 2.7 support and testing
+ - Fix DeprecationWarning: invalid escape sequence issues
+ - Imported Translations from Zanata
+ - Remove universal wheel configuration
+ - Remove keystoneclient exception usage in tests
+ - Fix misspell word
+ - Update the constraints url
+ - Generate pdf documentation
+
+-------------------------------------------------------------------
Old:
----
keystonemiddleware-7.0.1.tar.gz
New:
----
keystonemiddleware-9.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keystonemiddleware.spec ++++++
--- /var/tmp/diff_new_pack.urhJbu/_old 2020-06-05 20:13:54.750472270 +0200
+++ /var/tmp/diff_new_pack.urhJbu/_new 2020-06-05 20:13:54.754472284 +0200
@@ -17,13 +17,13 @@
Name: python-keystonemiddleware
-Version: 7.0.1
+Version: 9.0.0
Release: 0
Summary: Middleware for OpenStack Identity
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/keystonemiddleware
-Source0:
https://files.pythonhosted.org/packages/source/k/keystonemiddleware/keystonemiddleware-7.0.1.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/k/keystonemiddleware/keystonemiddleware-9.0.0.tar.gz
BuildRequires: openstack-macros
BuildRequires: python3-WebOb >= 1.7.1
BuildRequires: python3-WebTest
@@ -90,12 +90,13 @@
BuildRequires: python3-Sphinx
BuildRequires: python3-openstackdocstheme
BuildRequires: python3-sphinxcontrib-apidoc
+BuildRequires: python3-sphinxcontrib-svg2pdfconverter
%description -n python-keystonemiddleware-doc
Documentation for Middleware for OpenStack Identity.
%prep
-%autosetup -p1 -n keystonemiddleware-7.0.1
+%autosetup -p1 -n keystonemiddleware-9.0.0
%py_req_cleanup
%build
++++++ _service ++++++
--- /var/tmp/diff_new_pack.urhJbu/_old 2020-06-05 20:13:54.782472387 +0200
+++ /var/tmp/diff_new_pack.urhJbu/_new 2020-06-05 20:13:54.786472402 +0200
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/train/openstack/keystonemiddleware/keystonemiddleware.spec.j2</param>
+ <param
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/ussuri/openstack/keystonemiddleware/keystonemiddleware.spec.j2</param>
<param name="output-name">python-keystonemiddleware.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/keystonemiddleware/stable/train/requirements.txt</param>
+ <param
name="requirements">https://opendev.org/openstack/keystonemiddleware/raw/branch/stable/ussuri/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,keystonemiddleware</param>
</service>
++++++ keystonemiddleware-7.0.1.tar.gz -> keystonemiddleware-9.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/.zuul.yaml
new/keystonemiddleware-9.0.0/.zuul.yaml
--- old/keystonemiddleware-7.0.1/.zuul.yaml 2019-09-06 18:59:56.000000000
+0200
+++ new/keystonemiddleware-9.0.0/.zuul.yaml 2020-04-02 16:27:38.000000000
+0200
@@ -2,10 +2,8 @@
templates:
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- - openstack-python-jobs
- - openstack-python3-train-jobs
+ - openstack-python3-ussuri-jobs
- publish-openstack-docs-pti
- check-requirements
- - lib-forward-testing
- lib-forward-testing-python3
- release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/AUTHORS
new/keystonemiddleware-9.0.0/AUTHORS
--- old/keystonemiddleware-7.0.1/AUTHORS 2019-09-06 19:01:24.000000000
+0200
+++ new/keystonemiddleware-9.0.0/AUTHORS 2020-04-02 16:29:05.000000000
+0200
@@ -14,6 +14,8 @@
Anthony Young <[email protected]>
Artem Vasilyev <[email protected]>
Arun Kant <[email protected]>
+Ben Nemec <[email protected]>
+Bernhard M. Wiedemann <[email protected]>
Boris Bobrov <[email protected]>
Boris Bobrov <[email protected]>
Brad Pokorny <[email protected]>
@@ -130,6 +132,7 @@
Pete Zaitcev <[email protected]>
Peter Portante <[email protected]>
Pádraig Brady <[email protected]>
+Q.hongtao <[email protected]>
Qiu Yu <[email protected]>
Rafael Durán Castañeda <[email protected]>
Rodrigo Duarte Sousa <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/ChangeLog
new/keystonemiddleware-9.0.0/ChangeLog
--- old/keystonemiddleware-7.0.1/ChangeLog 2019-09-06 19:01:24.000000000
+0200
+++ new/keystonemiddleware-9.0.0/ChangeLog 2020-04-02 16:29:05.000000000
+0200
@@ -1,6 +1,31 @@
CHANGES
=======
+9.0.0
+-----
+
+* Update hacking for Python3
+* Have middlewarearchitecture doc reference auth\_type option
+* Remove universal wheel configuration
+* [ussuri][goal] Drop python 2.7 support and testing
+* Imported Translations from Zanata
+
+8.0.0
+-----
+
+* Rename \_v3\_to\_v2\_catalog to \_normalize\_catalog
+* Change ec2 URLs to v3
+* Remove v2.0 functionality
+* Remove keystoneclient exception usage in tests
+* Fix DeprecationWarning: invalid escape sequence issues
+* Switch to Ussuri jobs
+* Generate pdf documentation
+* Update master for stable/train
+* Update the constraints url
+* Update invalid link for README
+* Make tests pass in 2022
+* Fix misspell word
+
7.0.1
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/PKG-INFO
new/keystonemiddleware-9.0.0/PKG-INFO
--- old/keystonemiddleware-7.0.1/PKG-INFO 2019-09-06 19:01:25.000000000
+0200
+++ new/keystonemiddleware-9.0.0/PKG-INFO 2020-04-02 16:29:05.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: keystonemiddleware
-Version: 7.0.1
+Version: 9.0.0
Summary: Middleware for OpenStack Identity
Home-page: https://docs.openstack.org/keystonemiddleware/latest/
Author: OpenStack
@@ -36,7 +36,7 @@
* License: Apache License, Version 2.0
* Documentation: https://docs.openstack.org/keystonemiddleware/latest/
- * Source: https://git.openstack.org/cgit/openstack/keystonemiddleware
+ * Source: https://opendev.org/openstack/keystonemiddleware
* Bugs: https://bugs.launchpad.net/keystonemiddleware
* Release notes:
https://docs.openstack.org/releasenotes/keystonemiddleware/
@@ -52,8 +52,6 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/README.rst
new/keystonemiddleware-9.0.0/README.rst
--- old/keystonemiddleware-7.0.1/README.rst 2019-09-06 18:59:56.000000000
+0200
+++ new/keystonemiddleware-9.0.0/README.rst 2020-04-02 16:27:38.000000000
+0200
@@ -28,7 +28,7 @@
* License: Apache License, Version 2.0
* Documentation: https://docs.openstack.org/keystonemiddleware/latest/
-* Source: https://git.openstack.org/cgit/openstack/keystonemiddleware
+* Source: https://opendev.org/openstack/keystonemiddleware
* Bugs: https://bugs.launchpad.net/keystonemiddleware
* Release notes: https://docs.openstack.org/releasenotes/keystonemiddleware/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/doc/requirements.txt
new/keystonemiddleware-9.0.0/doc/requirements.txt
--- old/keystonemiddleware-7.0.1/doc/requirements.txt 2019-09-06
18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/doc/requirements.txt 2020-04-02
16:27:38.000000000 +0200
@@ -6,10 +6,12 @@
doc8>=0.6.0 # Apache-2.0
openstackdocstheme>=1.20.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
sphinxcontrib-apidoc>=0.2.0 # BSD
+# PDF Docs
+sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD
+
# For autodoc builds
mock>=2.0.0 # BSD
oslotest>=3.2.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/doc/source/conf.py
new/keystonemiddleware-9.0.0/doc/source/conf.py
--- old/keystonemiddleware-7.0.1/doc/source/conf.py 2019-09-06
18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/doc/source/conf.py 2020-04-02
16:27:38.000000000 +0200
@@ -42,6 +42,7 @@
'openstackdocstheme',
'oslo_config.sphinxconfiggen',
'sphinxcontrib.apidoc',
+ 'sphinxcontrib.rsvgconverter',
]
# sphinxcontrib.apidoc options
@@ -200,12 +201,24 @@
# (source start file, target name, title, author, documentclass [howto/manual])
# .
latex_documents = [
- ('index', 'keystonmiddleware.tex',
- 'keystonemiddleware Documentation',
- 'Nebula Inc, based on work by Rackspace and Jacob Kaplan-Moss',
+ ('index', 'doc-keystonemiddleware.tex',
+ u'keystonemiddleware Documentation',
+ u'Openstack Developers',
'manual'),
]
+# Disable usage of xindy https://bugzilla.redhat.com/show_bug.cgi?id=1643664
+latex_use_xindy = False
+
+latex_domain_indices = False
+
+latex_elements = {
+ 'extraclassoptions': 'openany',
+ 'makeindex': '',
+ 'printindex': '',
+ 'preamble': r'\setcounter{tocdepth}{3}',
+ 'maxlistdepth': 10,
+}
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/doc/source/middlewarearchitecture.rst
new/keystonemiddleware-9.0.0/doc/source/middlewarearchitecture.rst
--- old/keystonemiddleware-7.0.1/doc/source/middlewarearchitecture.rst
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/doc/source/middlewarearchitecture.rst
2020-04-02 16:27:38.000000000 +0200
@@ -129,7 +129,7 @@
.. literalinclude:: _static/keystonemiddleware.conf.sample
-If the ``auth_plugin`` configuration option is set, you may need to refer to
+If the ``auth_type`` configuration option is set, you may need to refer to
the `Authentication Plugins <https://docs.openstack.org/keystoneauth/latest/
authentication-plugins.html>`_ document for how to configure the auth_token
middleware.
@@ -163,12 +163,12 @@
to use options in the [keystone_authtoken] section.
The following is an example of a service's auth_token middleware configuration
-when ``auth_plugin`` is set to ``password``.
+when ``auth_type`` is set to ``password``.
.. code-block:: ini
[keystone_authtoken]
- auth_plugin = password
+ auth_type = password
project_domain_name = Default
project_name = service
user_domain_name = Default
@@ -178,9 +178,9 @@
auth_url = http://127.0.0.1:5000
# Any of the options that could be set in api-paste.ini can be set here.
-If using an ``auth_plugin``, connection to the Identity service will be
+If using an ``auth_type``, connection to the Identity service will be
established on the ``interface`` as registered in the service catalog.
-In the case where you are using an ``auth_plugin`` and have multiple regions,
+In the case where you are using an ``auth_type`` and have multiple regions,
also specify the ``region_name`` option to fetch the correct endpoint.
If the service doesn't use the global oslo.config object (CONF), then the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/_common/config.py
new/keystonemiddleware-9.0.0/keystonemiddleware/_common/config.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/_common/config.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/_common/config.py
2020-04-02 16:27:38.000000000 +0200
@@ -86,7 +86,7 @@
# local oslo.config object or the caller which instantiates
# AuthProtocol can pass in an existing oslo.config as the
# value of the "oslo_config_config" key in conf. If both are
- # set "olso_config_config" is used.
+ # set "oslo_config_config" is used.
if local_config_project and not local_oslo_config:
config_files = [local_config_file] if local_config_file else None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/__init__.py
new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/__init__.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/__init__.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/__init__.py
2020-04-02 16:27:38.000000000 +0200
@@ -282,14 +282,14 @@
# The fnmatch module doesn't provide the ability to match * versus **,
# so convert to regex.
token_regex = (r'(?P<tag>{[^}]*})|' # {tag} # nosec
- '(?P<wild>\*(?=$|[^\*]))|' # *
- '(?P<rec_wild>\*\*)|' # **
- '(?P<literal>[^{}\*])') # anything else
+ r'(?P<wild>\*(?=$|[^\*]))|' # *
+ r'(?P<rec_wild>\*\*)|' # **
+ r'(?P<literal>[^{}\*])') # anything else
path_regex = ''
for match in re.finditer(token_regex, path_pattern):
token = match.groupdict()
if token['tag'] or token['wild']:
- path_regex += '[^\/]+'
+ path_regex += r'[^\/]+'
if token['rec_wild']:
path_regex += '.*'
if token['literal']:
@@ -822,7 +822,7 @@
plugin_opts = loading.get_auth_plugin_conf_options(plugin_loader)
self._conf.oslo_conf_obj.register_opts(plugin_opts, group=group)
- getter = lambda opt: self._conf.get(opt.dest, group=group)
+ getter = lambda opt: self._conf.get(opt.dest, group=group) # noqa
return plugin_loader.load_from_options_getter(getter)
def _create_session(self, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/_identity.py
new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/_identity.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/_identity.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/_identity.py
2020-04-02 16:27:38.000000000 +0200
@@ -13,7 +13,6 @@
from keystoneauth1 import discover
from keystoneauth1 import exceptions as ksa_exceptions
from keystoneauth1 import plugin
-from keystoneclient.v2_0 import client as v2_client
from keystoneclient.v3 import client as v3_client
from six.moves import urllib
@@ -37,25 +36,6 @@
pass
-class _V2RequestStrategy(_RequestStrategy):
-
- AUTH_VERSION = (2, 0)
-
- def __init__(self, adap, **kwargs):
- super(_V2RequestStrategy, self).__init__(adap, **kwargs)
- self._client = v2_client.Client(session=adap)
-
- def verify_token(self, token, allow_expired=False):
- # NOTE(jamielennox): allow_expired is ignored on V2
- auth_ref = self._client.tokens.validate_access_info(token)
-
- if not auth_ref:
- msg = _('Failed to fetch token data from identity server')
- raise ksm_exceptions.InvalidToken(msg)
-
- return {'access': auth_ref}
-
-
class _V3RequestStrategy(_RequestStrategy):
AUTH_VERSION = (3, 0)
@@ -81,7 +61,7 @@
return {'token': auth_ref}
-_REQUEST_STRATEGIES = [_V3RequestStrategy, _V2RequestStrategy]
+_REQUEST_STRATEGIES = [_V3RequestStrategy]
class IdentityServer(object):
@@ -137,13 +117,12 @@
def _get_strategy_class(self):
if self._requested_auth_version:
- # A specific version was requested.
- if discover.version_match(_V3RequestStrategy.AUTH_VERSION,
- self._requested_auth_version):
- return _V3RequestStrategy
-
- # The version isn't v3 so we don't know what to do. Just assume V2.
- return _V2RequestStrategy
+ if not discover.version_match(_V3RequestStrategy.AUTH_VERSION,
+ self._requested_auth_interface):
+ self._LOG.info('A version other than v3 was requested: %s',
+ self._requested_auth_interface)
+ # Return v3, even if the request is unknown
+ return _V3RequestStrategy
# Specific version was not requested then we fall through to
# discovering available versions from the server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/_request.py
new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/_request.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/auth_token/_request.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/auth_token/_request.py
2020-04-02 16:27:38.000000000 +0200
@@ -16,20 +16,16 @@
import webob
-def _v3_to_v2_catalog(catalog):
- """Convert a catalog to v2 format.
-
- X_SERVICE_CATALOG must be specified in v2 format. If you get a token
- that is in v3 convert it.
- """
- v2_services = []
+def _normalize_catalog(catalog):
+ """Convert a catalog to a compatible format."""
+ services = []
for v3_service in catalog:
# first copy over the entries we allow for the service
- v2_service = {'type': v3_service['type']}
+ service = {'type': v3_service['type']}
try:
- v2_service['name'] = v3_service['name']
+ service['name'] = v3_service['name']
except KeyError: # nosec
- # v3 service doesn't have a name, so v2_service doesn't either.
+ # v3 service doesn't have a name, move on.
pass
# now convert the endpoints. Because in v3 we specify region per
@@ -47,10 +43,10 @@
interface_name = v3_endpoint['interface'].lower() + 'URL'
region[interface_name] = v3_endpoint['url']
- v2_service['endpoints'] = list(regions.values())
- v2_services.append(v2_service)
+ service['endpoints'] = list(regions.values())
+ services.append(service)
- return v2_services
+ return services
def _is_admin_project(auth_ref):
@@ -194,7 +190,7 @@
catalog = auth_ref.service_catalog.catalog
if auth_ref.version == 'v3':
- catalog = _v3_to_v2_catalog(catalog)
+ catalog = _normalize_catalog(catalog)
c = jsonutils.dumps(catalog)
self.headers[self._SERVICE_CATALOG_HEADER] = c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/ec2_token.py
new/keystonemiddleware-9.0.0/keystonemiddleware/ec2_token.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/ec2_token.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/ec2_token.py
2020-04-02 16:27:38.000000000 +0200
@@ -31,7 +31,7 @@
keystone_ec2_opts = [
cfg.StrOpt('url',
- default='http://localhost:5000/v2.0/ec2tokens',
+ default='http://localhost:5000/v3/ec2tokens',
help='URL to get token from ec2 request.'),
cfg.StrOpt('keyfile',
help='Required if EC2 server requires client certificate.'),
@@ -185,13 +185,8 @@
msg = _('Error response from keystone: %s') % response.reason
self._logger.debug(msg)
return self._ec2_error_response("AuthFailure", msg)
- result = response.json()
try:
- if 'token' in result:
- # NOTE(andrey-mp): response from keystone v3
- token_id = response.headers['x-subject-token']
- else:
- token_id = result['access']['token']['id']
+ token_id = response.headers['x-subject-token']
except (AttributeError, KeyError):
msg = _("Failure parsing response from keystone")
self._logger.exception(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
new/keystonemiddleware-9.0.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
---
old/keystonemiddleware-7.0.1/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
2020-04-02 16:27:38.000000000 +0200
@@ -3,7 +3,7 @@
msgstr ""
"Project-Id-Version: keystonemiddleware VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-04-21 04:01+0000\n"
+"POT-Creation-Date: 2019-12-21 02:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -27,10 +27,6 @@
msgid "Failed to fetch token data from identity server"
msgstr "Failed to fetch token data from identity server"
-#, python-format
-msgid "Failed to fetch token revocation list: %d"
-msgstr "Failed to fetch token revocation list: %d"
-
msgid "Failure parsing response from keystone"
msgstr "Failure parsing response from Keystone"
@@ -46,9 +42,6 @@
msgid "No compatible apis supported by server"
msgstr "No compatible APIs supported by server"
-msgid "Revocation list improperly formatted."
-msgstr "Revocation list improperly formatted."
-
msgid "Signature not provided"
msgstr "Signature not provided"
@@ -58,9 +51,6 @@
msgid "Token authorization failed"
msgstr "Token authorisation failed"
-msgid "Token has been revoked"
-msgstr "Token has been revoked"
-
msgid "Unable to determine service tenancy."
msgstr "Unable to determine service tenancy."
@@ -70,7 +60,3 @@
msgstr ""
"memcache_secret_key must be defined when a memcache_security_strategy is "
"defined"
-
-#, python-format
-msgid "unable to access signing_dir %s"
-msgstr "unable to access signing_dir %s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po
new/keystonemiddleware-9.0.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po
---
old/keystonemiddleware-7.0.1/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/locale/ko_KR/LC_MESSAGES/keystonemiddleware.po
2020-04-02 16:27:38.000000000 +0200
@@ -3,7 +3,7 @@
msgstr ""
"Project-Id-Version: keystonemiddleware VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2018-02-20 19:27+0000\n"
+"POT-Creation-Date: 2019-12-21 02:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -27,10 +27,6 @@
msgid "Failed to fetch token data from identity server"
msgstr "인증 서버로부터 토큰 데이터를 가져올 수 없습니다"
-#, python-format
-msgid "Failed to fetch token revocation list: %d"
-msgstr "토큰 revocation 목록을 가져올 수 없습니다: %d"
-
msgid "Failure parsing response from keystone"
msgstr "keystone 응답 파싱 실패"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
---
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
2020-04-02 16:27:38.000000000 +0200
@@ -22,7 +22,6 @@
from keystoneauth1 import fixture
from keystoneauth1 import loading
from keystoneauth1 import session
-from keystoneclient import exceptions as ksc_exceptions
import mock
import oslo_cache
from oslo_log import log as logging
@@ -83,7 +82,8 @@
FAKE_ADMIN_TOKEN_ID = 'admin_token2'
FAKE_ADMIN_TOKEN = jsonutils.dumps(
{'access': {'token': {'id': FAKE_ADMIN_TOKEN_ID,
- 'expires': '2022-10-03T16:58:01Z'}}})
+ 'expires': '%i-10-03T16:58:01Z' %
+ (1 + time.gmtime().tm_year)}}})
VERSION_LIST_v3 = fixture.DiscoveryList(href=BASE_URI)
VERSION_LIST_v2 = fixture.DiscoveryList(v3=False, href=BASE_URI)
@@ -589,7 +589,7 @@
return self.middleware._token_cache.get(token)
def test_memcache_set_invalid_uuid(self):
- invalid_uri = "%s/v2.0/tokens/invalid-token" % BASE_URI
+ invalid_uri = "%s/v3/tokens/invalid-token" % BASE_URI
self.requests_mock.get(invalid_uri, status_code=404)
token = 'invalid-token'
@@ -600,7 +600,7 @@
def test_memcache_hit_invalid_token(self):
token = 'invalid-token'
- invalid_uri = '%s/v2.0/tokens/invalid-token' % BASE_URI
+ invalid_uri = '%s/v3/tokens/invalid-token' % BASE_URI
self.requests_mock.get(invalid_uri, status_code=404)
# Call once to cache token's invalid state; verify it cached as such
@@ -1015,169 +1015,6 @@
"Request to https://host/token/path timed out")
-class v2AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest,
- CommonAuthTokenMiddlewareTest,
- testresources.ResourcedTestCase):
- """v2 token specific tests.
-
- There are some differences between how the auth-token middleware handles
- v2 and v3 tokens over and above the token formats, namely:
-
- - A v3 keystone server will auto scope a token to a user's default project
- if no scope is specified. A v2 server assumes that the auth-token
- middleware will do that.
- - A v2 keystone server may issue a token without a catalog, even with a
- tenant
-
- The tests below were originally part of the generic AuthTokenMiddlewareTest
- class, but now, since they really are v2 specific, they are included here.
-
- """
-
- resources = [('examples', client_fixtures.EXAMPLES_RESOURCE)]
-
- def setUp(self):
- super(v2AuthTokenMiddlewareTest, self).setUp()
-
- self.token_dict = {
- 'uuid_token_default': self.examples.UUID_TOKEN_DEFAULT,
- 'uuid_token_unscoped': self.examples.UUID_TOKEN_UNSCOPED,
- 'uuid_token_bind': self.examples.UUID_TOKEN_BIND,
- 'uuid_token_unknown_bind': self.examples.UUID_TOKEN_UNKNOWN_BIND,
- 'uuid_service_token_default':
- self.examples.UUID_SERVICE_TOKEN_DEFAULT,
- }
-
- self.requests_mock.get(BASE_URI,
- json=VERSION_LIST_v2,
- status_code=300)
-
- self.requests_mock.post('%s/v2.0/tokens' % BASE_URI,
- text=FAKE_ADMIN_TOKEN)
-
- for token in (self.examples.UUID_TOKEN_DEFAULT,
- self.examples.UUID_TOKEN_UNSCOPED,
- self.examples.UUID_TOKEN_BIND,
- self.examples.UUID_TOKEN_UNKNOWN_BIND,
- self.examples.UUID_TOKEN_NO_SERVICE_CATALOG,
- self.examples.UUID_SERVICE_TOKEN_DEFAULT,):
- url = "%s/v2.0/tokens/%s" % (BASE_URI, token)
- text = self.examples.JSON_TOKEN_RESPONSES[token]
- self.requests_mock.get(url, text=text)
-
- 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):
- """Unscoped v2 requests with a default tenant should ``auto-scope``.
-
- The implied scope is the user's tenant ID.
-
- """
- resp = self.call_middleware(headers={'X-Auth-Token': token})
- self.assertEqual(FakeApp.SUCCESS, resp.body)
- self.assertIn('keystone.token_info', resp.request.environ)
-
- def assert_valid_last_url(self, token_id):
- self.assertLastPath("/v2.0/tokens/%s" % token_id)
-
- def test_default_tenant_uuid_token(self):
- self.assert_unscoped_default_tenant_auto_scopes(
- self.examples.UUID_TOKEN_DEFAULT)
-
- def assert_unscoped_token_receives_401(self, token):
- """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"',
- resp.headers['WWW-Authenticate'])
-
- def test_request_prevent_service_catalog_injection(self):
- token = self.examples.UUID_TOKEN_NO_SERVICE_CATALOG
- resp = self.call_middleware(headers={'X-Service-Catalog': '[]',
- 'X-Auth-Token': token})
-
- self.assertFalse(resp.request.headers.get('X-Service-Catalog'))
- self.assertEqual(FakeApp.SUCCESS, resp.body)
-
- def test_user_plugin_token_properties(self):
- token = self.examples.UUID_TOKEN_DEFAULT
- token_data = self.examples.TOKEN_RESPONSES[token]
- service = self.examples.UUID_SERVICE_TOKEN_DEFAULT
-
- resp = self.call_middleware(headers={'X-Service-Catalog': '[]',
- 'X-Auth-Token': token,
- 'X-Service-Token': service})
-
- self.assertEqual(FakeApp.SUCCESS, resp.body)
-
- token_auth = resp.request.environ['keystone.token_auth']
-
- self.assertTrue(token_auth.has_user_token)
- self.assertTrue(token_auth.has_service_token)
-
- self.assertEqual(token_data.user_id, token_auth.user.user_id)
- self.assertEqual(token_data.tenant_id, token_auth.user.project_id)
-
- self.assertThat(token_auth.user.role_names, matchers.HasLength(2))
- self.assertIn('role1', token_auth.user.role_names)
- self.assertIn('role2', token_auth.user.role_names)
-
- self.assertIsNone(token_auth.user.trust_id)
- self.assertIsNone(token_auth.user.user_domain_id)
- self.assertIsNone(token_auth.user.project_domain_id)
-
- self.assertThat(token_auth.service.role_names, matchers.HasLength(2))
- self.assertIn('service', token_auth.service.role_names)
- self.assertIn('service_role2', token_auth.service.role_names)
-
- self.assertIsNone(token_auth.service.trust_id)
-
-
-class CrossVersionAuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest,
- testresources.ResourcedTestCase):
-
- resources = [('examples', client_fixtures.EXAMPLES_RESOURCE)]
-
- def test_valid_uuid_request_forced_to_2_0(self):
- """Test forcing auth_token to use lower api version.
-
- By installing the v3 http hander, auth_token will be get
- a version list that looks like a v3 server - from which it
- would normally chose v3.0 as the auth version. However, here
- we specify v2.0 in the configuration - which should force
- auth_token to use that version instead.
-
- """
- conf = {
- 'auth_version': 'v2.0'
- }
-
- self.requests_mock.get(BASE_URI,
- json=VERSION_LIST_v3,
- status_code=300)
-
- self.requests_mock.post('%s/v2.0/tokens' % BASE_URI,
- text=FAKE_ADMIN_TOKEN)
-
- token = self.examples.UUID_TOKEN_DEFAULT
- url = "%s/v2.0/tokens/%s" % (BASE_URI, token)
- text = self.examples.JSON_TOKEN_RESPONSES[token]
- self.requests_mock.get(url, text=text)
-
- self.set_middleware(conf=conf)
-
- # This tests will only work is auth_token has chosen to use the
- # lower, v2, api version
- self.call_middleware(headers={'X-Auth-Token': token})
- self.assertEqual(url, self.requests_mock.last_request.url)
-
-
class v3AuthTokenMiddlewareTest(BaseAuthTokenMiddlewareTest,
CommonAuthTokenMiddlewareTest,
testresources.ResourcedTestCase):
@@ -1189,19 +1026,7 @@
This is done by configuring the AuthTokenMiddlewareTest class via
its Setup(), passing in v3 style data that will then be used by
- the tests themselves. This approach has been used to ensure we
- really are running the same tests for both v2 and v3 tokens.
-
- There a few additional specific test for v3 only:
-
- - We allow an unscoped token to be validated (as unscoped), where
- as for v2 tokens, the auth_token middleware is expected to try and
- auto-scope it (and fail if there is no default tenant)
- - Domain scoped tokens
-
- Since we don't specify an auth version for auth_token to use, by
- definition we are thefore implicitely testing that it will use
- the highest available auth version, i.e. v3.0
+ the tests themselves.
"""
@@ -1526,7 +1351,7 @@
if request.headers.get('X-Subject-Token') == ERROR_TOKEN:
msg = 'Network connection refused.'
- raise ksc_exceptions.ConnectionRefused(msg)
+ raise ksa_exceptions.ConnectFailure(msg)
# All others just fail
context.status_code = 404
@@ -1536,7 +1361,7 @@
body = uuid.uuid4().hex
www_authenticate_uri = 'http://local.test'
conf = {'delay_auth_decision': 'True',
- 'auth_version': 'v3.0',
+ 'auth_version': 'v3',
'www_authenticate_uri': www_authenticate_uri}
middleware = self.create_simple_middleware(status='401 Unauthorized',
@@ -1840,59 +1665,6 @@
bind_level='required')
-class v2CompositeAuthTests(BaseAuthTokenMiddlewareTest,
- CommonCompositeAuthTests,
- testresources.ResourcedTestCase):
- """Test auth_token middleware with v2 token based composite auth.
-
- Execute the Composite auth class tests, but with the
- auth_token middleware configured to expect v2 tokens back from
- a keystone server.
- """
-
- resources = [('examples', client_fixtures.EXAMPLES_RESOURCE)]
-
- def setUp(self):
- super(v2CompositeAuthTests, self).setUp(
- expected_env=EXPECTED_V2_DEFAULT_SERVICE_ENV_RESPONSE,
- fake_app=CompositeFakeApp)
-
- uuid_token_default = self.examples.UUID_TOKEN_DEFAULT
- uuid_service_token_default = self.examples.UUID_SERVICE_TOKEN_DEFAULT
- uuid_token_bind = self.examples.UUID_TOKEN_BIND
- uuid_service_token_bind = self.examples.UUID_SERVICE_TOKEN_BIND
- self.token_dict = {
- 'uuid_token_default': uuid_token_default,
- 'uuid_service_token_default': uuid_service_token_default,
- 'uuid_token_bind': uuid_token_bind,
- 'uuid_service_token_bind': uuid_service_token_bind,
- }
-
- self.requests_mock.get(BASE_URI,
- json=VERSION_LIST_v2,
- status_code=300)
-
- self.requests_mock.post('%s/v2.0/tokens' % BASE_URI,
- text=FAKE_ADMIN_TOKEN)
-
- for token in (self.examples.UUID_TOKEN_DEFAULT,
- self.examples.UUID_SERVICE_TOKEN_DEFAULT,
- self.examples.UUID_TOKEN_BIND,
- self.examples.UUID_SERVICE_TOKEN_BIND):
- text = self.examples.JSON_TOKEN_RESPONSES[token]
- self.requests_mock.get('%s/v2.0/tokens/%s' % (BASE_URI, token),
- text=text)
-
- for invalid_uri in ("%s/v2.0/tokens/invalid-token" % BASE_URI,
- "%s/v2.0/tokens/invalid-service-token" % BASE_URI):
- self.requests_mock.get(invalid_uri, text='', status_code=404)
-
- self.token_expected_env = dict(EXPECTED_V2_DEFAULT_ENV_RESPONSE)
- self.service_token_expected_env = dict(
- EXPECTED_V2_DEFAULT_SERVICE_ENV_RESPONSE)
- self.set_middleware()
-
-
class v3CompositeAuthTests(BaseAuthTokenMiddlewareTest,
CommonCompositeAuthTests,
testresources.ResourcedTestCase):
@@ -1907,7 +1679,7 @@
def setUp(self):
super(v3CompositeAuthTests, self).setUp(
- auth_version='v3.0',
+ auth_version='v3',
fake_app=v3CompositeFakeApp)
uuid_token_default = self.examples.v3_UUID_TOKEN_DEFAULT
@@ -1950,7 +1722,7 @@
if token_id == ERROR_TOKEN:
msg = "Network connection refused."
- raise ksc_exceptions.ConnectionRefused(msg)
+ raise ksa_exceptions.ConnectFailure(msg)
elif token_id == TIMEOUT_TOKEN:
request_timeout_response(request, context)
@@ -1978,7 +1750,7 @@
self.call_middleware(headers={'X-Auth-Token': uuid.uuid4().hex},
expected_status=503)
- self.assertIn('versions [v3.0, v2.0]', self.logger.output)
+ self.assertIn('versions [v3.0]', self.logger.output)
def _assert_auth_version(self, conf_version, identity_server_version):
self.set_middleware(conf={'auth_version': conf_version})
@@ -1987,8 +1759,6 @@
identity_server.auth_version)
def test_micro_version(self):
- self._assert_auth_version('v2', (2, 0))
- self._assert_auth_version('v2.0', (2, 0))
self._assert_auth_version('v3', (3, 0))
self._assert_auth_version('v3.0', (3, 0))
self._assert_auth_version('v3.1', (3, 0))
@@ -2002,14 +1772,10 @@
self.requests_mock.get(BASE_URI, json=VERSION_LIST_v3, status_code=300)
self._assert_auth_version(None, (3, 0))
- # VERSION_LIST_v2 contains only v2 version elements
- self.requests_mock.get(BASE_URI, json=VERSION_LIST_v2, status_code=300)
- self._assert_auth_version(None, (2, 0))
-
def test_unsupported_auth_version(self):
- # If the requested version isn't supported we will use v2
- self._assert_auth_version('v1', (2, 0))
- self._assert_auth_version('v10', (2, 0))
+ # If the requested version isn't supported we will use v3
+ self._assert_auth_version('v1', (3, 0))
+ self._assert_auth_version('v10', (3, 0))
class AuthProtocolLoadingTests(BaseAuthTokenMiddlewareTest):
@@ -2019,9 +1785,7 @@
KEYSTONE_BASE_URL = 'http://keystone.url/prefix'
CRUD_URL = 'http://crud.url/prefix'
- # NOTE(jamielennox): use the /v2.0 prefix here because this is what's most
- # likely to be in the service catalog and we should be able to ignore it.
- KEYSTONE_URL = KEYSTONE_BASE_URL + '/v2.0'
+ KEYSTONE_URL = KEYSTONE_BASE_URL + '/v3'
def setUp(self):
super(AuthProtocolLoadingTests, self).setUp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_request.py
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_request.py
---
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_request.py
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_request.py
2020-04-02 16:27:38.000000000 +0200
@@ -224,7 +224,7 @@
auth_ref = access.create(body=token)
catalog_data = auth_ref.service_catalog.catalog
- catalog = _request._v3_to_v2_catalog(catalog_data)
+ catalog = _request._normalize_catalog(catalog_data)
self.assertEqual(1, len(catalog))
service = catalog[0]
@@ -248,7 +248,7 @@
auth_ref = access.create(body=token)
catalog_data = auth_ref.service_catalog.catalog
- catalog = _request._v3_to_v2_catalog(catalog_data)
+ catalog = _request._normalize_catalog(catalog_data)
self.assertEqual(1, len(catalog))
service = catalog[0]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.py
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.py
---
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.py
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.py
2020-04-02 16:27:38.000000000 +0200
@@ -80,72 +80,6 @@
self.assertTokenDataEqual(service_id, service, plugin.service)
-class V2UserPluginTests(BaseUserPluginTests, base.BaseAuthTokenTestCase):
-
- def setUp(self):
- super(V2UserPluginTests, self).setUp()
-
- self.service_token = fixture.V2Token()
- self.service_token.set_scope()
- s = self.service_token.add_service('identity', name='keystone')
-
- s.add_endpoint(public=BASE_URI,
- admin=BASE_URI,
- internal=BASE_URI)
-
- self.configure_middleware(auth_type='v2password',
- auth_url='%s/v2.0/' % AUTH_URL,
- user_id=self.service_token.user_id,
- password=uuid.uuid4().hex,
- tenant_id=self.service_token.tenant_id)
-
- auth_discovery = fixture.DiscoveryList(href=AUTH_URL, v3=False)
- self.requests_mock.get(AUTH_URL, json=auth_discovery)
-
- base_discovery = fixture.DiscoveryList(href=BASE_URI, v3=False)
- self.requests_mock.get(BASE_URI, json=base_discovery)
-
- url = '%s/v2.0/tokens' % AUTH_URL
- self.requests_mock.post(url, json=self.service_token)
-
- def get_role_names(self, token):
- return [x['name'] for x in token['access']['user'].get('roles', [])]
-
- def get_token(self, service=False):
- token = fixture.V2Token()
- token.set_scope()
- token.add_role()
- if service:
- token.add_role('service')
-
- request_headers = {'X-Auth-Token': self.service_token.token_id}
-
- url = '%s/v2.0/tokens/%s' % (BASE_URI, token.token_id)
- self.requests_mock.get(url,
- request_headers=request_headers,
- json=token)
-
- return token.token_id, token
-
- def assertTokenDataEqual(self, token_id, token, token_data):
- super(V2UserPluginTests, self).assertTokenDataEqual(token_id,
- token,
- token_data)
-
- self.assertEqual(token.tenant_id, token_data.project_id)
- self.assertIsNone(token_data.user_domain_id)
- self.assertIsNone(token_data.project_domain_id)
-
- def test_trust_scope(self):
- token_id, token = self.get_token()
- token.set_trust()
-
- plugin = self.get_plugin(token_id)
- self.assertEqual(token.trust_id, plugin.user.trust_id)
- self.assertEqual(token.trustee_user_id, plugin.user.trustee_user_id)
- self.assertIsNone(plugin.user.trustor_user_id)
-
-
class V3UserPluginTests(BaseUserPluginTests, base.BaseAuthTokenTestCase):
def setUp(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/test_ec2_token_middleware.py
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/test_ec2_token_middleware.py
---
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/test_ec2_token_middleware.py
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/test_ec2_token_middleware.py
2020-04-02 16:27:38.000000000 +0200
@@ -23,13 +23,12 @@
TOKEN_ID = 'fake-token-id'
-GOOD_RESPONSE = {'access': {'token': {'id': TOKEN_ID,
- 'tenant': {'id': 'TENANT_ID'}}}}
EMPTY_RESPONSE = {}
class FakeResponse(object):
reason = "Test Reason"
+ headers = {'x-subject-token': TOKEN_ID}
def __init__(self, json, status_code=400):
self._json = json
@@ -53,9 +52,9 @@
TEST_PROTOCOL = 'https'
TEST_HOST = 'fakehost'
TEST_PORT = 35357
- TEST_URL = '%s://%s:%d/v2.0/ec2tokens' % (TEST_PROTOCOL,
- TEST_HOST,
- TEST_PORT)
+ TEST_URL = '%s://%s:%d/v3/ec2tokens' % (TEST_PROTOCOL,
+ TEST_HOST,
+ TEST_PORT)
def setUp(self):
super(EC2TokenMiddlewareTestBase, self).setUp()
@@ -74,7 +73,7 @@
class EC2TokenMiddlewareTestGood(EC2TokenMiddlewareTestBase):
@mock.patch.object(
requests, 'request',
- return_value=FakeResponse(GOOD_RESPONSE, status_code=200))
+ return_value=FakeResponse(EMPTY_RESPONSE, status_code=200))
def test_protocol_old_versions(self, mock_request):
req = webob.Request.blank('/test')
req.GET['Signature'] = 'test-signature'
@@ -85,7 +84,7 @@
self.assertEqual(TOKEN_ID, req.headers['X-Auth-Token'])
mock_request.assert_called_with(
- 'POST', 'http://localhost:5000/v2.0/ec2tokens',
+ 'POST', 'http://localhost:5000/v3/ec2tokens',
data=mock.ANY, headers={'Content-Type': 'application/json'},
verify=True, cert=None)
@@ -105,7 +104,7 @@
@mock.patch.object(
requests, 'request',
- return_value=FakeResponse(GOOD_RESPONSE, status_code=200))
+ return_value=FakeResponse(EMPTY_RESPONSE, status_code=200))
def test_protocol_v4(self, mock_request):
req = webob.Request.blank('/test')
auth_str = (
@@ -120,7 +119,7 @@
self.assertEqual(TOKEN_ID, req.headers['X-Auth-Token'])
mock_request.assert_called_with(
- 'POST', 'http://localhost:5000/v2.0/ec2tokens',
+ 'POST', 'http://localhost:5000/v3/ec2tokens',
data=mock.ANY, headers={'Content-Type': 'application/json'},
verify=True, cert=None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/utils.py
new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/utils.py
--- old/keystonemiddleware-7.0.1/keystonemiddleware/tests/unit/utils.py
2019-09-06 18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware/tests/unit/utils.py
2020-04-02 16:27:38.000000000 +0200
@@ -82,7 +82,7 @@
class MiddlewareTestCase(BaseTestCase):
def create_middleware(self, cb, **kwargs):
- raise NotImplemented("implement this in your tests")
+ raise NotImplementedError("implement this in your tests")
def create_simple_middleware(self,
status='200 OK',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/PKG-INFO
new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/PKG-INFO
--- old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/PKG-INFO
2019-09-06 19:01:24.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/PKG-INFO
2020-04-02 16:29:05.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: keystonemiddleware
-Version: 7.0.1
+Version: 9.0.0
Summary: Middleware for OpenStack Identity
Home-page: https://docs.openstack.org/keystonemiddleware/latest/
Author: OpenStack
@@ -36,7 +36,7 @@
* License: Apache License, Version 2.0
* Documentation: https://docs.openstack.org/keystonemiddleware/latest/
- * Source: https://git.openstack.org/cgit/openstack/keystonemiddleware
+ * Source: https://opendev.org/openstack/keystonemiddleware
* Bugs: https://bugs.launchpad.net/keystonemiddleware
* Release notes:
https://docs.openstack.org/releasenotes/keystonemiddleware/
@@ -52,8 +52,6 @@
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/SOURCES.txt
new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/SOURCES.txt
--- old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/SOURCES.txt
2019-09-06 19:01:25.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/SOURCES.txt
2020-04-02 16:29:05.000000000 +0200
@@ -116,10 +116,13 @@
releasenotes/notes/bug_1540115-677cf5016bc46348.yaml
releasenotes/notes/delay_auth_instead_of_503-f9b46bf4fbc11455.yaml
releasenotes/notes/deprecate-caching-tokens-in-process-a412b0f1dea84cb9.yaml
+releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
+releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
releasenotes/notes/fix-audit-no-service-endpoint-ports-72b2009d631dcf19.yaml
releasenotes/notes/interface-option-ed551d2a3162668d.yaml
releasenotes/notes/ksm_4.1.0-3cd78446d8e63616.yaml
releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml
+releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
releasenotes/notes/rename-auth-uri-d223d883f5898aee.yaml
releasenotes/notes/s3token_auth_uri-490c1287d90b9df7.yaml
releasenotes/notes/x-is-admin-project-header-97f1882e209fe727.yaml
@@ -132,6 +135,7 @@
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
+releasenotes/source/train.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-7.0.1/keystonemiddleware.egg-info/pbr.json
new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/pbr.json
--- old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/pbr.json
2019-09-06 19:01:24.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/pbr.json
2020-04-02 16:29:05.000000000 +0200
@@ -1 +1 @@
-{"git_version": "0a65b14", "is_release": true}
\ No newline at end of file
+{"git_version": "2ff7489", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/requires.txt
new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/requires.txt
--- old/keystonemiddleware-7.0.1/keystonemiddleware.egg-info/requires.txt
2019-09-06 19:01:24.000000000 +0200
+++ new/keystonemiddleware-9.0.0/keystonemiddleware.egg-info/requires.txt
2020-04-02 16:29:05.000000000 +0200
@@ -17,7 +17,7 @@
oslo.messaging>=5.29.0
[test]
-hacking<0.11,>=0.10.0
+hacking<4.0.0,>=3.0
flake8-docstrings==0.2.1.post1
coverage!=4.4,>=4.0
cryptography>=2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
new/keystonemiddleware-9.0.0/releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
---
old/keystonemiddleware-7.0.1/releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-9.0.0/releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
2020-04-02 16:27:38.000000000 +0200
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - |
+ Python 2.7 support has been dropped. Last release of keystonemiddleware
+ to support python 2.7 is OpenStack Train. The minimum version of Python now
+ supported is Python 3.6.
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
new/keystonemiddleware-9.0.0/releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
---
old/keystonemiddleware-7.0.1/releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-9.0.0/releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
2020-04-02 16:27:38.000000000 +0200
@@ -0,0 +1,7 @@
+---
+other:
+ - |
+ [`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_]
+ The ec2 'url' config option now defaults to
+ https://localhost:5000/v3/ec2tokens with the removal of ec2 v2.0 support.
+ Keystonemiddleware no longer supports ec2tokens using the v2.0 API.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
new/keystonemiddleware-9.0.0/releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
---
old/keystonemiddleware-7.0.1/releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-9.0.0/releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
2020-04-02 16:27:38.000000000 +0200
@@ -0,0 +1,7 @@
+---
+upgrade:
+ - |
+ [`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_]
+ [`bug 1777177 <https://bugs.launchpad.net/keystone/+bug/1777177>`_]
+ keystonemiddleware no longer supports the keystone v2.0 api, all
+ associated functionality has been removed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/source/index.rst
new/keystonemiddleware-9.0.0/releasenotes/source/index.rst
--- old/keystonemiddleware-7.0.1/releasenotes/source/index.rst 2019-09-06
18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/releasenotes/source/index.rst 2020-04-02
16:27:38.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ train
stein
rocky
queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/keystonemiddleware-9.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/keystonemiddleware-7.0.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2019-09-06 18:59:56.000000000 +0200
+++
new/keystonemiddleware-9.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2020-04-02 16:27:38.000000000 +0200
@@ -1,14 +1,15 @@
# Andi Chandler <[email protected]>, 2017. #zanata
# Andi Chandler <[email protected]>, 2018. #zanata
+# Andi Chandler <[email protected]>, 2019. #zanata
msgid ""
msgstr ""
"Project-Id-Version: keystonemiddleware\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-21 04:01+0000\n"
+"POT-Creation-Date: 2019-12-21 02:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-04-30 10:08+0000\n"
+"PO-Revision-Date: 2019-12-21 02:38+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -24,6 +25,9 @@
msgid "4.16.0"
msgstr "4.16.0"
+msgid "4.17.1"
+msgstr "4.17.1"
+
msgid "4.18.0"
msgstr "4.18.0"
@@ -33,6 +37,9 @@
msgid "4.20.0"
msgstr "4.20.0"
+msgid "4.22.0"
+msgstr "4.22.0"
+
msgid "4.3.0"
msgstr "4.3.0"
@@ -45,8 +52,29 @@
msgid "5.0.0"
msgstr "5.0.0"
-msgid "5.0.0-5"
-msgstr "5.0.0-5"
+msgid "5.1.0"
+msgstr "5.1.0"
+
+msgid "5.2.0"
+msgstr "5.2.0"
+
+msgid "5.2.1"
+msgstr "5.2.1"
+
+msgid "5.3.0"
+msgstr "5.3.0"
+
+msgid "6.0.0"
+msgstr "6.0.0"
+
+msgid "6.1.0"
+msgstr "6.1.0"
+
+msgid "7.0.0"
+msgstr "7.0.0"
+
+msgid "7.0.1-8"
+msgstr "7.0.1-8"
msgid ""
"A new configuration option for the s3token middleware called auth_uri can be "
@@ -135,6 +163,9 @@
msgid "Queens Series Release Notes"
msgstr "Queens Series Release Notes"
+msgid "Rocky Series Release Notes"
+msgstr "Rocky Series Release Notes"
+
msgid "Security Issues"
msgstr "Security Issues"
@@ -170,6 +201,9 @@
"enforce this behaviour. This will become the default setting in future "
"releases."
+msgid "Stein Series Release Notes"
+msgstr "Stein Series Release Notes"
+
msgid ""
"The ``kwargs_to_fetch_token`` setting was removed from the "
"``BaseAuthProtocol`` class. Implementations of auth_token now assume kwargs "
@@ -201,10 +235,28 @@
"returned when the user needs to be redirected to the Identity service for "
"authentication."
+msgid "Train Series Release Notes"
+msgstr "Train Series Release Notes"
+
msgid "Upgrade Notes"
msgstr "Upgrade Notes"
msgid ""
+"When ``delay_auth_decision`` is enabled and a Keystone failure prevents a "
+"final decision about whether a token is valid or invalid, it will be marked "
+"invalid and the application will be responsible for a final auth decision. "
+"This is similar to what happens when a token is confirmed *not* valid. This "
+"allows a Keystone outage to only affect Keystone users in a multi-auth "
+"system."
+msgstr ""
+"When ``delay_auth_decision`` is enabled and a Keystone failure prevents a "
+"final decision about whether a token is valid or invalid, it will be marked "
+"invalid and the application will be responsible for a final auth decision. "
+"This is similar to what happens when a token is confirmed *not* valid. This "
+"allows a Keystone outage to only affect Keystone users in a multi-auth "
+"system."
+
+msgid ""
"With the release of 4.2.0 of keystonemiddleware we no longer recommend using "
"the in-process token cache. In-process caching may result in inconsistent "
"validation, poor UX and race conditions. It is recommended that the "
@@ -363,6 +415,19 @@
"look for the given option in local config, then Oslo global config."
msgid ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] The "
+"auth_token middleware no longer attempts to retrieve the revocation list "
+"from the Keystone server. The deprecated options "
+"`check_revocations_for_cached` and `check_revocations_for_cached` have been "
+"removed."
+msgstr ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] The "
+"auth_token middleware no longer attempts to retrieve the revocation list "
+"from the Keystone server. The deprecated options "
+"`check_revocations_for_cached` and `check_revocations_for_cached` have been "
+"removed."
+
+msgid ""
"[`bug 1677308 <https://bugs.launchpad.net/keystonemiddleware/"
"+bug/1677308>`_] Removes ``pycrypto`` dependency as the library is "
"unmaintained, and replaces it with the ``cryptography`` library."
@@ -439,6 +504,137 @@
"(Unauthorised) response now is double quoted to follow the RFC requirement."
msgid ""
+"[`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."
+msgstr ""
+"[`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."
+
+msgid ""
+"[`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__`."
+msgstr ""
+"[`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__`."
+
+msgid ""
+"[`bug 1789351 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1789351>`_] Fixed the bug that when initialize `AuthProtocol`, it'll "
+"raise \"dictionary changed size during iteration\" error if the input `CONF` "
+"object contains deprecated options."
+msgstr ""
+"[`bug 1789351 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1789351>`_] Fixed the bug that when initialize `AuthProtocol`, it'll "
+"raise \"dictionary changed size during iteration\" error if the input `CONF` "
+"object contains deprecated options."
+
+msgid ""
+"[`bug 1797584 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1797584>`_] Fixed a bug where the audit code would select the wrong "
+"target service if the OpenStack service endpoints were not using unique TCP "
+"ports."
+msgstr ""
+"[`bug 1797584 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1797584>`_] Fixed a bug where the audit code would select the wrong "
+"target service if the OpenStack service endpoints were not using unique TCP "
+"ports."
+
+msgid ""
+"[`bug 1800017 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1800017>`_] Fix audit middleware service catalog parsing for the "
+"scenario where a service does not contain any endpoints. In that case, we "
+"should just skip over that service."
+msgstr ""
+"[`bug 1800017 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1800017>`_] Fix audit middleware service catalog parsing for the "
+"scenario where a service does not contain any endpoints. In that case, we "
+"should just skip over that service."
+
+msgid ""
+"[`bug 1803940 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1803940>`_] Request ID and global request ID have been added to CADF "
+"notifications."
+msgstr ""
+"[`bug 1803940 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1803940>`_] Request ID and global request ID have been added to CADF "
+"notifications."
+
+msgid ""
+"[`bug 1809101 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1809101>`_] Fix req.context of Keystone audit middleware and Glance "
+"conflict with each other issue. The audit middleware now stores the admin "
+"context to req.environ['audit.context']."
+msgstr ""
+"[`bug 1809101 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1809101>`_] Fix req.context of Keystone audit middleware and Glance "
+"conflict with each other issue. The audit middleware now stores the admin "
+"context to req.environ['audit.context']."
+
+msgid ""
+"[`bug 1813739 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1813739>`_] When admin identity endpoint is not created yet, "
+"keystonemiddleware emit EndpointNotFound exception. Even after admin "
+"identity endpoint created, auth_token middleware could not be notified of "
+"update since it does not invalidate existing auth. Add an invalidation step "
+"so that endpoint updates can be detected."
+msgstr ""
+"[`bug 1813739 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1813739>`_] When admin identity endpoint is not created yet, "
+"keystonemiddleware emit EndpointNotFound exception. Even after admin "
+"identity endpoint created, auth_token middleware could not be notified of "
+"update since it does not invalidate existing auth. Add an invalidation step "
+"so that endpoint updates can be detected."
+
+msgid ""
+"[`bug 1830002 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1830002>`_] In order to allow an installation to work without deploying "
+"an admin Identity endpoint, a new option `interface` has been added, "
+"allowing select the Identity endpoint that is being used when verifying auth "
+"tokens. It defaults to `admin` in order to replicate the old behaviour, but "
+"may be set to `public` or `internal` as needed."
+msgstr ""
+"[`bug 1830002 <https://bugs.launchpad.net/keystonemiddleware/"
+"+bug/1830002>`_] In order to allow an installation to work without deploying "
+"an admin Identity endpoint, a new option `interface` has been added, "
+"allowing select the Identity endpoint that is being used when verifying auth "
+"tokens. It defaults to `admin` in order to replicate the old behaviour, but "
+"may be set to `public` or `internal` as needed."
+
+msgid ""
+"[`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_] The ec2 "
+"'url' config option now defaults to https://localhost:5000/v3/ec2tokens with "
+"the removal of ec2 v2.0 support. Keystonemiddleware no longer supports "
+"ec2tokens using the v2.0 API."
+msgstr ""
+"[`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_] The ec2 "
+"'url' config option now defaults to https://localhost:5000/v3/ec2tokens with "
+"the removal of ec2 v2.0 support. Keystonemiddleware no longer supports "
+"ec2tokens using the v2.0 API."
+
+msgid ""
+"[`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_] [`bug "
+"1777177 <https://bugs.launchpad.net/keystone/+bug/1777177>`_] "
+"keystonemiddleware no longer supports the keystone v2.0 api, all associated "
+"functionality has been removed."
+msgstr ""
+"[`bug 1845539 <https://bugs.launchpad.net/keystone/+bug/1845539>`_] [`bug "
+"1777177 <https://bugs.launchpad.net/keystone/+bug/1777177>`_] "
+"keystonemiddleware no longer supports the Keystone v2.0 api, all associated "
+"functionality has been removed."
+
+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 "
@@ -453,5 +649,16 @@
"was keystone or the service using keystonemiddleware that was unavailable. "
"This change identifies keystone in the error response."
+msgid ""
+"[`spec <http://specs.openstack.org/openstack/keystone-specs/specs/keystone/"
+"train/capabilities-app-creds.html>`_] The auth_token middleware now has "
+"support for accepting or denying incoming requests based on access rules "
+"provided by users in their keystone application credentials."
+msgstr ""
+"[`spec <http://specs.openstack.org/openstack/keystone-specs/specs/keystone/"
+"train/capabilities-app-creds.html>`_] The auth_token middleware now has "
+"support for accepting or denying incoming requests based on access rules "
+"provided by users in their Keystone application credentials."
+
msgid "keystonemiddleware Release Notes"
msgstr "keystonemiddleware Release Notes"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-7.0.1/releasenotes/source/train.rst
new/keystonemiddleware-9.0.0/releasenotes/source/train.rst
--- old/keystonemiddleware-7.0.1/releasenotes/source/train.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/keystonemiddleware-9.0.0/releasenotes/source/train.rst 2020-04-02
16:27:38.000000000 +0200
@@ -0,0 +1,6 @@
+==========================
+Train Series Release Notes
+==========================
+
+.. release-notes::
+ :branch: stable/train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/setup.cfg
new/keystonemiddleware-9.0.0/setup.cfg
--- old/keystonemiddleware-7.0.1/setup.cfg 2019-09-06 19:01:25.000000000
+0200
+++ new/keystonemiddleware-9.0.0/setup.cfg 2020-04-02 16:29:05.000000000
+0200
@@ -13,8 +13,6 @@
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
@@ -54,9 +52,6 @@
mapping_file = babel.cfg
output_file = keystonemiddleware/locale/keystonemiddleware.pot
-[wheel]
-universal = 1
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/test-requirements.txt
new/keystonemiddleware-9.0.0/test-requirements.txt
--- old/keystonemiddleware-7.0.1/test-requirements.txt 2019-09-06
18:59:56.000000000 +0200
+++ new/keystonemiddleware-9.0.0/test-requirements.txt 2020-04-02
16:27:38.000000000 +0200
@@ -2,7 +2,7 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking<0.11,>=0.10.0
+hacking>=3.0,<4.0.0 # Apache-2.0
flake8-docstrings==0.2.1.post1 # MIT
coverage!=4.4,>=4.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-7.0.1/tox.ini
new/keystonemiddleware-9.0.0/tox.ini
--- old/keystonemiddleware-7.0.1/tox.ini 2019-09-06 18:59:56.000000000
+0200
+++ new/keystonemiddleware-9.0.0/tox.ini 2020-04-02 16:27:38.000000000
+0200
@@ -1,7 +1,8 @@
[tox]
-minversion = 2.5.0
+minversion = 3.1.1
skipsdist = True
-envlist = py27,py37,pep8,releasenotes
+envlist = py37,pep8,releasenotes
+ignore_basepython_conflict = True
[testenv]
usedevelop = True
@@ -9,29 +10,26 @@
OS_STDOUT_NOCAPTURE=False
OS_STDERR_NOCAPTURE=False
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
+basepython = python3
[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]
-basepython = python3
setenv =
{[testenv]setenv}
PYTHON=coverage run --source keystonemiddleware --parallel-mode
@@ -42,7 +40,6 @@
coverage xml -o cover/coverage.xml
[testenv:debug]
-basepython = python3
commands = oslo_debug_helper -t keystonemiddleware/tests {posargs}
@@ -53,19 +50,30 @@
# D103: Missing docstring in public function
# D104: Missing docstring in public package
# D203: 1 blank line required before class docstring (deprecated in pep257)
-ignore = D100,D101,D102,D103,D104,D203
+# W503 line break before binary operator
+# W504 line break after binary operator
+ignore = D100,D101,D102,D103,D104,D203,W503,W504
show-source = True
exclude = .venv,.tox,dist,doc,*egg,build
[testenv:docs]
-basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands=
doc8 doc/source
sphinx-build -W -b html doc/source doc/build/html
+[testenv:pdf-docs]
+envdir = {toxworkdir}/docs
+deps = {[testenv:docs]deps}
+whitelist_externals =
+ make
+ rm
+commands =
+ rm -rf doc/build/pdf
+ sphinx-build -W -b latex doc/source doc/build/pdf
+ make -C doc/build/pdf
+
[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
@@ -79,7 +87,6 @@
max-line-length = 79
[testenv:lower-constraints]
-basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt