Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-castellan for openSUSE:Factory checked in at 2022-08-11 18:31:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-castellan (Old) and /work/SRC/openSUSE:Factory/.python-castellan.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-castellan" Thu Aug 11 18:31:48 2022 rev:15 rq:994201 version:3.11.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-castellan/python-castellan.changes 2021-12-13 20:50:57.112656243 +0100 +++ /work/SRC/openSUSE:Factory/.python-castellan.new.1521/python-castellan.changes 2022-08-11 18:31:56.362208478 +0200 @@ -1,0 +2,16 @@ +Tue Jun 7 10:52:44 UTC 2022 - cloud-de...@suse.de + +- update to version 3.11.0 + - Add Python3 zed unit tests + - Add Python3 yoga unit tests + - Support setting Vault kv version config + - Update master for stable/yoga + - Fix gitignore pattern for vault related files + - Replace the deprecated argument tenant + - remove unicode from code + - Remove redundant override of logging_context_format_string + - Add support for Vault Namespaces + - Updating python testing classifier as per Yoga testing runtime + - Update master for stable/xena + +------------------------------------------------------------------- Old: ---- castellan-3.9.1.tar.gz New: ---- castellan-3.11.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-castellan.spec ++++++ --- /var/tmp/diff_new_pack.LetmML/_old 2022-08-11 18:31:56.862209649 +0200 +++ /var/tmp/diff_new_pack.LetmML/_new 2022-08-11 18:31:56.870209667 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-castellan # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: python-castellan -Version: 3.9.1 +Version: 3.11.0 Release: 0 Summary: Generic Key Manager interface for OpenStack License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/castellan -Source0: https://files.pythonhosted.org/packages/source/c/castellan/castellan-3.9.1.tar.gz +Source0: https://files.pythonhosted.org/packages/source/c/castellan/castellan-3.11.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-barbicanclient >= 4.5.2 BuildRequires: python3-cryptography >= 2.7 @@ -32,6 +32,8 @@ BuildRequires: python3-oslo.log >= 3.36.0 BuildRequires: python3-oslotest BuildRequires: python3-reno +BuildRequires: python3-requests >= 2.18.0 +BuildRequires: python3-requests-mock BuildRequires: python3-setuptools BuildRequires: python3-stestr BuildRequires: python3-testscenarios @@ -72,7 +74,7 @@ This package contains the documentation %prep -%autosetup -p1 -n castellan-3.9.1 +%autosetup -p1 -n castellan-3.11.0 %py_req_cleanup %build ++++++ castellan-3.9.1.tar.gz -> castellan-3.11.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/.zuul.yaml new/castellan-3.11.0/.zuul.yaml --- old/castellan-3.9.1/.zuul.yaml 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/.zuul.yaml 2022-04-27 17:29:46.000000000 +0200 @@ -59,7 +59,7 @@ - barbican-tempest-plugin-simple-crypto-castellan-src templates: - check-requirements - - openstack-python3-xena-jobs + - openstack-python3-zed-jobs - periodic-stable-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/AUTHORS new/castellan-3.11.0/AUTHORS --- old/castellan-3.9.1/AUTHORS 2021-08-19 14:45:34.000000000 +0200 +++ new/castellan-3.11.0/AUTHORS 2022-04-27 17:30:24.000000000 +0200 @@ -33,12 +33,15 @@ Jeremy Liu <liuji...@gohighsec.com> Jeremy Stanley <fu...@yuggoth.org> Jiong Liu <liuji...@gohighsec.com> +Joel Capitao <jcapi...@redhat.com> Joel Coffman <joel.coff...@jhuapl.edu> Juan Antonio Osorio Robles <jaosor...@redhat.com> Juan Antonio Osorio Robles <juan.osorio.rob...@ericsson.com> Kaitlin Farr <kaitlin.f...@jhuapl.edu> Kiran_totad <kiran.to...@nectechnologies.in> Le Hou <ho...@chinaunicom.cn> +LiZekun <2954674...@qq.com> +Lingxian Kong <anlin.k...@gmail.com> Luigi Toscano <ltosc...@redhat.com> Mark Goddard <m...@stackhpc.com> Michael McCune <m...@redhat.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/ChangeLog new/castellan-3.11.0/ChangeLog --- old/castellan-3.9.1/ChangeLog 2021-08-19 14:45:34.000000000 +0200 +++ new/castellan-3.11.0/ChangeLog 2022-04-27 17:30:24.000000000 +0200 @@ -1,6 +1,29 @@ CHANGES ======= +3.11.0 +------ + +* Remove redundant override of logging\_context\_format\_string +* Replace the deprecated argument tenant +* Add Python3 zed unit tests +* Update master for stable/yoga +* Updating python testing classifier as per Yoga testing runtime + +3.10.1 +------ + +* remove unicode from code + +3.10.0 +------ + +* Support setting Vault kv version config +* Add support for Vault Namespaces +* Fix gitignore pattern for vault related files +* Add Python3 yoga unit tests +* Update master for stable/xena + 3.9.1 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/PKG-INFO new/castellan-3.11.0/PKG-INFO --- old/castellan-3.9.1/PKG-INFO 2021-08-19 14:45:34.956282600 +0200 +++ new/castellan-3.11.0/PKG-INFO 2022-04-27 17:30:24.333250500 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: castellan -Version: 3.9.1 +Version: 3.11.0 Summary: Generic Key Manager interface for OpenStack Home-page: https://docs.openstack.org/castellan/latest/ Author: OpenStack @@ -37,6 +37,7 @@ Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/key_manager/barbican_key_manager.py new/castellan-3.11.0/castellan/key_manager/barbican_key_manager.py --- old/castellan-3.9.1/castellan/key_manager/barbican_key_manager.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/castellan/key_manager/barbican_key_manager.py 2022-04-27 17:29:46.000000000 +0200 @@ -433,8 +433,8 @@ Barbican key creation is done asynchronously, so this loop continues checking until the order is active or a timeout occurs. """ - active_status = u'ACTIVE' - error_status = u'ERROR' + active_status = 'ACTIVE' + error_status = 'ERROR' number_of_retries = self.conf.barbican.number_of_retries retry_delay = self.conf.barbican.retry_delay order = barbican_client.orders.get(order_ref) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/key_manager/vault_key_manager.py new/castellan-3.11.0/castellan/key_manager/vault_key_manager.py --- old/castellan-3.9.1/castellan/key_manager/vault_key_manager.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/castellan/key_manager/vault_key_manager.py 2022-04-27 17:29:46.000000000 +0200 @@ -67,6 +67,10 @@ cfg.BoolOpt('use_ssl', default=False, help=_('SSL Enabled/Disabled')), + cfg.StrOpt("namespace", + help=_("Vault Namespace to use for all requests to Vault. " + "Vault Namespaces feature is available only in " + "Vault Enterprise")), ] _VAULT_OPT_GROUP = 'vault' @@ -99,6 +103,7 @@ self._kv_mountpoint = self._conf.vault.kv_mountpoint self._kv_version = self._conf.vault.kv_version self._vault_url = self._conf.vault.vault_url + self._namespace = self._conf.vault.namespace if self._vault_url.startswith("https://"): self._verify_server = self._conf.vault.ssl_ca_crt_file or True else: @@ -128,12 +133,19 @@ self._cached_approle_token_id = None return self._cached_approle_token_id + def _set_namespace(self, headers): + if self._namespace: + headers["X-Vault-Namespace"] = self._namespace + return headers + def _build_auth_headers(self): if self._root_token_id: - return {'X-Vault-Token': self._root_token_id} + return self._set_namespace( + {'X-Vault-Token': self._root_token_id}) if self._approle_token_id: - return {'X-Vault-Token': self._approle_token_id} + return self._set_namespace( + {'X-Vault-Token': self._approle_token_id}) if self._approle_role_id: params = { @@ -145,9 +157,11 @@ self._get_url() ) token_issue_utc = timeutils.utcnow() + headers = self._set_namespace({}) try: resp = self._session.post(url=approle_login_url, json=params, + headers=headers, verify=self._verify_server) except requests.exceptions.Timeout as ex: raise exception.KeyManagerError(str(ex)) @@ -169,7 +183,8 @@ self._cached_approle_token_id = resp_data['auth']['client_token'] self._approle_token_issue = token_issue_utc self._approle_token_ttl = resp_data['auth']['lease_duration'] - return {'X-Vault-Token': self._approle_token_id} + return self._set_namespace( + {'X-Vault-Token': self._approle_token_id}) return {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/options.py new/castellan-3.11.0/castellan/options.py --- old/castellan-3.9.1/castellan/options.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/castellan/options.py 2022-04-27 17:29:46.000000000 +0200 @@ -32,11 +32,6 @@ _DEFAULT_LOG_LEVELS = ['castellan=WARN'] -_DEFAULT_LOGGING_CONTEXT_FORMAT = ('%(asctime)s.%(msecs)03d %(process)d ' - '%(levelname)s %(name)s [%(request_id)s ' - '%(user_identity)s] %(instance)s' - '%(message)s') - def set_defaults(conf, backend=None, barbican_endpoint=None, barbican_api_version=None, auth_endpoint=None, @@ -46,7 +41,9 @@ vault_approle_role_id=None, vault_approle_secret_id=None, vault_kv_mountpoint=None, vault_url=None, vault_ssl_ca_crt_file=None, vault_use_ssl=None, - barbican_endpoint_type=None): + vault_namespace=None, + barbican_endpoint_type=None, + vault_kv_version=None): """Set defaults for configuration values. Overrides the default options values. @@ -67,8 +64,10 @@ :param vault_url: Use this for the url for vault. :param vault_use_ssl: Use this to force vault driver to use ssl. :param vault_ssl_ca_crt_file: Use this for the CA file for vault. + :param vault_namespace: Namespace to use for all requests to Vault. :param barbican_endpoint_type: Use this to specify the type of URL. : Valid values are: public, internal or admin. + :param vault_kv_version: Use this for the kv version for vault. """ conf.register_opts(key_manager.key_manager_opts, group='key_manager') @@ -134,14 +133,19 @@ if vault_use_ssl is not None: conf.set_default('use_ssl', vault_use_ssl, group=vkm._VAULT_OPT_GROUP) + if vault_namespace is not None: + conf.set_default('namespace', vault_namespace, + group=vkm._VAULT_OPT_GROUP) + if vault_kv_version is not None: + conf.set_default('kv_version', vault_kv_version, + group=vkm._VAULT_OPT_GROUP) def enable_logging(conf=None, app_name='castellan'): conf = conf or cfg.CONF log.register_options(conf) - log.set_defaults(_DEFAULT_LOGGING_CONTEXT_FORMAT, - _DEFAULT_LOG_LEVELS) + log.set_defaults(default_log_levels=_DEFAULT_LOG_LEVELS) log.setup(conf, app_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/tests/unit/key_manager/test_barbican_key_manager.py new/castellan-3.11.0/castellan/tests/unit/key_manager/test_barbican_key_manager.py --- old/castellan-3.9.1/castellan/tests/unit/key_manager/test_barbican_key_manager.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/castellan/tests/unit/key_manager/test_barbican_key_manager.py 2022-04-27 17:29:46.000000000 +0200 @@ -293,7 +293,7 @@ # Create order and assign return value order = mock.Mock() order.secret_ref = self.secret_ref - order.status = u'ACTIVE' + order.status = 'ACTIVE' self.mock_barbican.orders.get.return_value = order # Create the key, get the UUID @@ -330,7 +330,7 @@ container_id = "16caa8f4-dd34-4fb3-bf67-6c20533a30e4" container_ref = ("http://localhost:9311/v1/containers/" + container_id) order.container_ref = container_ref - order.status = u'ACTIVE' + order.status = 'ACTIVE' self.mock_barbican.orders.get.return_value = order # Create container and assign return value @@ -503,12 +503,12 @@ "4fe939b7-72bc-49aa-bd1e-e979589858af") pending_order = mock.Mock() - pending_order.status = u'PENDING' + pending_order.status = 'PENDING' pending_order.order_ref = order_ref_url active_order = mock.Mock() active_order.secret_ref = self.secret_ref - active_order.status = u'ACTIVE' + active_order.status = 'ACTIVE' active_order.order_ref = order_ref_url self.mock_barbican.orders.get.side_effect = [pending_order, @@ -528,7 +528,7 @@ number_of_retries = self.key_mgr.conf.barbican.number_of_retries pending_order = mock.Mock() - pending_order.status = u'PENDING' + pending_order.status = 'PENDING' pending_order.order_ref = order_ref_url self.mock_barbican.orders.get.return_value = pending_order @@ -546,7 +546,7 @@ "4fe939b7-72bc-49aa-bd1e-e979589858af") error_order = mock.Mock() - error_order.status = u'ERROR' + error_order.status = 'ERROR' error_order.order_ref = order_ref_url error_order.error_status_code = u"500" error_order.error_reason = u"Test Error" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/tests/unit/key_manager/test_vault_key_manager.py new/castellan-3.11.0/castellan/tests/unit/key_manager/test_vault_key_manager.py --- old/castellan-3.9.1/castellan/tests/unit/key_manager/test_vault_key_manager.py 1970-01-01 01:00:00.000000000 +0100 +++ new/castellan-3.11.0/castellan/tests/unit/key_manager/test_vault_key_manager.py 2022-04-27 17:29:46.000000000 +0200 @@ -0,0 +1,66 @@ +# Copyright (c) 2021 Mirantis Inc +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Test cases for Vault key manager. +""" +import requests_mock + +from castellan.key_manager import vault_key_manager +from castellan.tests.unit.key_manager import test_key_manager + + +class VaultKeyManagerTestCase(test_key_manager.KeyManagerTestCase): + + def _create_key_manager(self): + return vault_key_manager.VaultKeyManager(self.conf) + + def test_auth_headers_root_token(self): + self.key_mgr._root_token_id = "spam" + expected_headers = {"X-Vault-Token": "spam"} + self.assertEqual(expected_headers, + self.key_mgr._build_auth_headers()) + + def test_auth_headers_root_token_with_namespace(self): + self.key_mgr._root_token_id = "spam" + self.key_mgr._namespace = "ham" + expected_headers = {"X-Vault-Token": "spam", + "X-Vault-Namespace": "ham"} + self.assertEqual(expected_headers, + self.key_mgr._build_auth_headers()) + + @requests_mock.Mocker() + def test_auth_headers_app_role(self, m): + self.key_mgr._approle_role_id = "spam" + self.key_mgr._approle_secret_id = "secret" + m.post( + "http://127.0.0.1:8200/v1/auth/approle/login", + json={"auth": {"client_token": "token", "lease_duration": 3600}} + ) + expected_headers = {"X-Vault-Token": "token"} + self.assertEqual(expected_headers, self.key_mgr._build_auth_headers()) + + @requests_mock.Mocker() + def test_auth_headers_app_role_with_namespace(self, m): + self.key_mgr._approle_role_id = "spam" + self.key_mgr._approle_secret_id = "secret" + self.key_mgr._namespace = "ham" + m.post( + "http://127.0.0.1:8200/v1/auth/approle/login", + json={"auth": {"client_token": "token", "lease_duration": 3600}} + ) + expected_headers = {"X-Vault-Token": "token", + "X-Vault-Namespace": "ham"} + self.assertEqual(expected_headers, self.key_mgr._build_auth_headers()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan/tests/unit/test_utils.py new/castellan-3.11.0/castellan/tests/unit/test_utils.py --- old/castellan-3.9.1/castellan/tests/unit/test_utils.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/castellan/tests/unit/test_utils.py 2022-04-27 17:29:46.000000000 +0200 @@ -182,18 +182,18 @@ def test_oslo_context_to_keystone_token(self): auth_token_value = '16bd612f28ec479b8ffe8e124fc37b43' - tenant_value = '00c6ef5ad2984af2acd7d42c299935c0' + project_id_value = '00c6ef5ad2984af2acd7d42c299935c0' ctxt = context.RequestContext( auth_token=auth_token_value, - tenant=tenant_value) + project_id=project_id_value) ks_token_context = utils.credential_factory(context=ctxt) ks_token_context_class = ks_token_context.__class__.__name__ self.assertEqual('KeystoneToken', ks_token_context_class) self.assertEqual(auth_token_value, ks_token_context.token) - self.assertEqual(tenant_value, ks_token_context.project_id) + self.assertEqual(project_id_value, ks_token_context.project_id) def test_invalid_auth_type(self): self.config_fixture.config( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan.egg-info/PKG-INFO new/castellan-3.11.0/castellan.egg-info/PKG-INFO --- old/castellan-3.9.1/castellan.egg-info/PKG-INFO 2021-08-19 14:45:34.000000000 +0200 +++ new/castellan-3.11.0/castellan.egg-info/PKG-INFO 2022-04-27 17:30:24.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: castellan -Version: 3.9.1 +Version: 3.11.0 Summary: Generic Key Manager interface for OpenStack Home-page: https://docs.openstack.org/castellan/latest/ Author: OpenStack @@ -37,6 +37,7 @@ Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Requires-Python: >=3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan.egg-info/SOURCES.txt new/castellan-3.11.0/castellan.egg-info/SOURCES.txt --- old/castellan-3.9.1/castellan.egg-info/SOURCES.txt 2021-08-19 14:45:34.000000000 +0200 +++ new/castellan-3.11.0/castellan.egg-info/SOURCES.txt 2022-04-27 17:30:24.000000000 +0200 @@ -80,6 +80,7 @@ castellan/tests/unit/key_manager/test_migration_key_manager.py castellan/tests/unit/key_manager/test_mock_key_manager.py castellan/tests/unit/key_manager/test_not_implemented_key_manager.py +castellan/tests/unit/key_manager/test_vault_key_manager.py castellan/tests/unit/objects/__init__.py castellan/tests/unit/objects/test_opaque.py castellan/tests/unit/objects/test_passphrase.py @@ -115,6 +116,7 @@ releasenotes/notes/use-barbican-region-name-config-option-31bec809292302b8.yaml releasenotes/notes/vault-approle-support-5ea04daea07a152f.yaml releasenotes/notes/vault-kv-mountpoint-919eb547764a0c74.yaml +releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/pike.rst @@ -126,6 +128,8 @@ releasenotes/source/ussuri.rst releasenotes/source/victoria.rst releasenotes/source/wallaby.rst +releasenotes/source/xena.rst +releasenotes/source/yoga.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder tools/setup-vault-env.sh \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/castellan.egg-info/pbr.json new/castellan-3.11.0/castellan.egg-info/pbr.json --- old/castellan-3.9.1/castellan.egg-info/pbr.json 2021-08-19 14:45:34.000000000 +0200 +++ new/castellan-3.11.0/castellan.egg-info/pbr.json 2022-04-27 17:30:24.000000000 +0200 @@ -1 +1 @@ -{"git_version": "4eb212b", "is_release": true} \ No newline at end of file +{"git_version": "d2e8437", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/doc/source/conf.py new/castellan-3.11.0/doc/source/conf.py --- old/castellan-3.9.1/doc/source/conf.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/doc/source/conf.py 2022-04-27 17:29:46.000000000 +0200 @@ -38,8 +38,8 @@ master_doc = 'index' # General information about the project. -project = u'castellan' -copyright = u'2013, OpenStack Foundation' +project = 'castellan' +copyright = '2013, OpenStack Foundation' # If true, '()' will be appended to :func: etc. cross-reference text. add_function_parentheses = True @@ -72,8 +72,8 @@ latex_documents = [ ('index', 'doc-castellan.tex', - u'%s Documentation' % project, - u'OpenStack Foundation', 'manual'), + '%s Documentation' % project, + 'OpenStack Foundation', 'manual'), ] latex_elements = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/doc/source/user/index.rst new/castellan-3.11.0/doc/source/user/index.rst --- old/castellan-3.9.1/doc/source/user/index.rst 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/doc/source/user/index.rst 2022-04-27 17:29:46.000000000 +0200 @@ -107,7 +107,7 @@ sess = session.Session() ctxt = context.RequestContext(auth_token=auth.get_token(sess), - tenant=auth.get_project_id(sess)) + project_id=auth.get_project_id(sess)) ctxt can then be passed into any key_manager api call. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml new/castellan-3.11.0/releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml --- old/castellan-3.9.1/releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/castellan-3.11.0/releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml 2022-04-27 17:29:46.000000000 +0200 @@ -0,0 +1,7 @@ +--- +features: + - | + Added support for Vault Namespaces, which is a `feature of Vault Enterprise + <https://www.vaultproject.io/docs/enterprise/namespaces>`_. + A new config option ``namespace`` is added to the configuration of Vault + key manager to support this feature. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/releasenotes/source/conf.py new/castellan-3.11.0/releasenotes/source/conf.py --- old/castellan-3.9.1/releasenotes/source/conf.py 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/releasenotes/source/conf.py 2022-04-27 17:29:46.000000000 +0200 @@ -56,8 +56,8 @@ openstackdocs_auto_name = False openstackdocs_bug_project = 'castellan' openstackdocs_bug_tag = 'doc' -project = u'Castellan Release Notes' -copyright = u'2017, Castellan Developers' +project = 'Castellan Release Notes' +copyright = '2017, Castellan Developers' # Release notes do not need a version number in the title, they # cover multiple releases. @@ -204,8 +204,8 @@ # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'CastellanReleaseNotes.tex', - u'Castellan Release Notes Documentation', - u'Castellan Developers', 'manual'), + 'Castellan Release Notes Documentation', + 'Castellan Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -235,8 +235,8 @@ # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'castellanreleasenotes', - u'Castellan Release Notes Documentation', - [u'Castellan Developers'], 1) + 'Castellan Release Notes Documentation', + ['Castellan Developers'], 1) ] # If true, show URL addresses after external links. @@ -250,8 +250,8 @@ # dir menu entry, description, category) texinfo_documents = [ ('index', 'CastellanReleaseNotes', - u'Castellan Release Notes Documentation', - u'Castellan Developers', 'CastellanReleaseNotes', + 'Castellan Release Notes Documentation', + 'Castellan Developers', 'CastellanReleaseNotes', 'One line description of project.', 'Miscellaneous'), ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/releasenotes/source/index.rst new/castellan-3.11.0/releasenotes/source/index.rst --- old/castellan-3.9.1/releasenotes/source/index.rst 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/releasenotes/source/index.rst 2022-04-27 17:29:46.000000000 +0200 @@ -6,6 +6,8 @@ :maxdepth: 1 unreleased + yoga + xena wallaby victoria ussuri diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/releasenotes/source/xena.rst new/castellan-3.11.0/releasenotes/source/xena.rst --- old/castellan-3.9.1/releasenotes/source/xena.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/castellan-3.11.0/releasenotes/source/xena.rst 2022-04-27 17:29:46.000000000 +0200 @@ -0,0 +1,6 @@ +========================= +Xena Series Release Notes +========================= + +.. release-notes:: + :branch: stable/xena diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/releasenotes/source/yoga.rst new/castellan-3.11.0/releasenotes/source/yoga.rst --- old/castellan-3.9.1/releasenotes/source/yoga.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/castellan-3.11.0/releasenotes/source/yoga.rst 2022-04-27 17:29:46.000000000 +0200 @@ -0,0 +1,6 @@ +========================= +Yoga Series Release Notes +========================= + +.. release-notes:: + :branch: stable/yoga diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/setup.cfg new/castellan-3.11.0/setup.cfg --- old/castellan-3.9.1/setup.cfg 2021-08-19 14:45:34.956282600 +0200 +++ new/castellan-3.11.0/setup.cfg 2022-04-27 17:30:24.333250500 +0200 @@ -18,6 +18,7 @@ Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/castellan-3.9.1/test-requirements.txt new/castellan-3.11.0/test-requirements.txt --- old/castellan-3.9.1/test-requirements.txt 2021-08-19 14:45:04.000000000 +0200 +++ new/castellan-3.11.0/test-requirements.txt 2022-04-27 17:29:46.000000000 +0200 @@ -9,6 +9,7 @@ coverage!=4.4,>=4.0 # Apache-2.0 python-barbicanclient>=4.5.2 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 python-subunit>=1.0.0 # Apache-2.0/BSD oslotest>=3.2.0 # Apache-2.0 stestr>=2.0.0 # Apache-2.0