Xena 系列发布说明¶
4.3.0¶
错误修复¶
修复了
get_auth_ref函数对于none和http_basic身份验证插件的缺失调用。该实现直接返回None。
4.2.1¶
错误修复¶
修复了当提供的端点未版本化时,非 keystone 身份验证方法中的
get_api_major_version函数的问题。
4.2.0¶
新特性¶
添加了一个新的
http_basic身份验证插件,该插件支持独立服务的 HTTP Basic 身份验证。与noauth插件类似,需要显式指定endpoint,以及username和password。
升级说明¶
不再支持 Python 3.5。
4.1.0¶
错误修复¶
[bug 1876317] v3 身份验证插件现在尝试在身份验证 URL 上不存在时,将 /v3 添加到 token 路径。
4.0.0¶
升级说明¶
已停止支持 Python 2.7。keystoneauth 支持 python 2.7 的最后一个版本是 OpenStack Train。现在支持的 Python 最低版本是 Python 3.6。
3.18.0¶
新特性¶
[特性 bug 1840235] 在 Session.__init__() 中添加了
connect_retries,项目在创建会话对象时可以使用它来设置新连接请求所需的重试次数。这可以帮助避免在负载较高时进行端点发现和使用身份验证插件获取角色时,导致大量 ConnectTimeout 错误的可伸缩性问题。这仍然允许通过适配器接口为每个服务覆盖它。
升级说明¶
如果 keystoneauth 和 openstacksdk 都已在使用,并且 keystoneauth 在升级到
0.36.1或更高版本之前升级到此版本,则创建带有策略的 ServerGroup 对象以及使用 Ansible Inventory 可能会受到不利影响。有关更多详细信息,请参阅 https://review.opendev.org/#/c/685999/。
错误修复¶
[bug 1838704] 在使用 keystoneauth1.session.Session 时,如果未提供 requests 会话,则会创建一个会话。用于 requests 的会话如果 Session 对象被删除后未正确关闭,可能会导致 ResourceWarning 被生成。代码已更新为在删除 Session 对象时正确关闭会话。
在初始请求抛出 401 Unauthorized 时,使用身份验证 token 重试版本发现。
3.17.0¶
新特性¶
[bug 1839748] Keystoneauth 现在支持 MFA 身份验证和 Auth Receipts。包含 auth receipt 的 Keystone 响应现在将引发
MissingAuthMethods异常,该异常将包含 auth receipt 本身以及有关缺失方法的详细信息。现在还有一些方法可以轻松地在向 Keystone 身份验证时执行多种方法,并且这些方法已经记录在案。
3.16.0¶
新特性¶
允许通过新的参数
connect_retry_delay和status_code_retry_delay配置连接和状态码重试的固定延迟。
3.15.0¶
新特性¶
修复了符合 API SIG 格式指南的 HTTP 错误负载的处理问题。
现在可以通过
global_request_idkwarg 在Adapter和Session请求方法(request()、get()、put()等)中设置每个请求的X-Openstack-Request-Id标头。
Adapter 参数
connect_retries和status_code_retries现在可以通过配置选项connect-retries和status-code-retries设置。
错误修复¶
添加了逻辑来处理不符合已知模式的 HTTP 错误响应。
由
connect_retries和status_code_retries启用的重试的重试间隔现在限制在 60 秒。 之前它会呈指数增长。
3.13.0¶
新特性¶
添加了客户端端速率限制的支持。现在存在两个新的参数用于
keystoneauth1.adapter.Adapter。rate表示执行请求的最大速率。parallel_limit允许创建信号量来控制在任何给定时间可以处于活动状态的最大请求数。两者默认值为None,这具有正常行为,即不以任何方式限制请求。
3.11.2¶
错误修复¶
正在应用的针对格式错误的发现文档的解决方法太早,导致 ironic 发现文档被错误地忽略。
3.11.1¶
错误修复¶
修复了一个问题,即 https://example.com 和 https://example.com/ 在发现缓存中被视为不同的 URL,导致在有人设置与该服务发现文档给定的斜杠形式不匹配的
endpoint_override时,进行第二次不必要的发现调用。
3.11.0¶
新特性¶
添加了根据服务类型过滤
get_all_version_data结果的能力。
在
adapter.Adapter中添加了get_all_version_data,它使用适配器的service_type来过滤获取的版本数据。
错误修复¶
修复了对较旧的 Ironic 安装上检测微版本范围的支持。
3.10.0¶
错误修复¶
[bug 1733052] 现在版本发现机制仅在已覆盖版本化 URL 时才从服务器端获取版本信息。因此,请求 URL 的路径不会被完全更改。
3.8.0¶
新特性¶
添加了通过新的
status_code_retries和retriable_status_codes参数为Session和Adapter执行请求时重试某些 HTTP 状态码的支持。
3.7.0¶
新特性¶
在
keystoneauth1.session.Session中添加了collect_timing选项。默认情况下该选项处于关闭状态,它将导致Session为其发出的每个 API 调用收集 API 定时信息。添加了方法get_timings和reset_timings以允许获取和清除数据。
在 oslo.config Session 选项中添加了
split-loggers选项。
公开了
keystoneauth1.discover.version_between作为公共函数,可用于确定给定版本是否在范围内。
3.6.2¶
错误修复¶
[bug 1766235] 修复了一个将标头作为字节而不是字符串传递会导致排序问题的错误。
3.6.1¶
错误修复¶
keystoneauth1.session.Session.get_all_version_data的文档字符串正确地将'public'列为默认值,但参数列表包含None。默认值已修复为与文档值匹配。
3.6.0¶
新特性¶
添加了一个 ‘status’ 字段到 EndpointData 对象,其中包含发现文档的状态字段中的信息的规范化版本。
在执行目录查找时,添加了对服务类型别名的支持,如服务类型权威机构中定义的那样。
3.4.0¶
新特性¶
[蓝图 application-credentials] 添加了通过应用程序凭据进行身份验证的支持。Keystoneauth 现在可用于验证支持应用程序凭据的 Identity 服务器。
[蓝图 system-scope] Keystoneauth 现在能够对系统范围的 token 进行身份验证,这些 token 在 Queens 开发周期中实现。系统范围的 token 最终将需要分离系统级 API 与项目级 API,从而通过范围限定的 RBAC 提供更好的安全性。
3.2.0¶
新特性¶
添加了一个新的
none身份验证插件,其目的是简化从配置文件选项加载客户端。它不接受任何参数并将 token 设置为 ‘notused’。它没有与之关联的端点/URL,因此必须与adapter.Adapter的endpoint_override选项一起使用,才能为部署在 noauth/独立模式下的服务的客户端实例化会话。
3.0.0¶
新特性¶
添加了指定给定 REST 请求使用的微版本的功能。可以在会话请求调用中指定微版本,并且可以在 Adapter 构造期间设置默认值。
添加了对 API 工作组关于服务和版本发现的建议的支持。Session 和 Adapter 上的新方法“get_endpoint_data”将返回端点元数据,包括微版本信息。此外,可以请求具有范围的版本,并使用字符串“latest”,并且接口值可以作为列表提供,以防用户想要表达一组“最佳可用”的首选项。
2.21.0¶
序言¶
允许在 ADFSPassword 中设置 EndpointReference
新特性¶
添加了在 ADFSPassword 插件的 RequestSecurityToken 消息中指定使用的 WS-Policy EndpointReference 的能力,通过 ‘service-provider-entity-id’ 选项。还添加了 ‘identity-provider-url’ 选项,该选项是必需的,但选项列表中缺失。
错误修复¶
[bug 1689424] 允许在 ADFSPassword 中设置 EndpointReference。
2.19.0¶
新特性¶
添加了一个新的标志 allow_version_hack 到身份插件和适配器,它将允许客户端选择退出猜测服务的版本 URL 页面。这意味着如果部署配置错误,并且服务目录包含与请求版本不匹配的版本化端点,则请求将失败。这将有助于开始要求正确部署的目录,而不是继续掩盖问题。
2.17.0¶
错误修复¶
[bug 1616105] 仅当
Content-Type标头设置为application/json时才记录响应体。这避免了记录大型二进制对象(例如图像)。其他Content-Type将不会被记录。可以根据需要添加其他Content-Type字符串。
现在正确地屏蔽了
X-Service-Token标头的值,并在日志中显示为哈希值。
2.14.0¶
序言¶
允许将客户端和应用程序名称和版本添加到会话和适配器,这将生成一个有用的用户代理字符串。
新特性¶
在创建会话时,可以指定
app_name和app_version。此信息将被编码到用户代理中。
在创建适配器时,可以指定
client_name和client_version。这将由客户端库处理,并包含到用户代理中。
像 shade 这样的修改请求方式的库可以添加到 additional_user_agent 中,并在用户代理字符串中反映其版本。
弃用说明¶
我们建议您填写应用程序和客户端的名称和版本,而不是指定自定义
user_agent。这将生成一个标准用户代理字符串。
2.12.0¶
序言¶
HTTP 连接在 Windows Subsystem for Linux 下工作
错误修复¶
[bug 1614688] 由于设置了 TCP_KEEPCNT,并且该环境尚未支持这种覆盖,因此 HTTP 连接在 Windows 子系统 Linux 下失败。
2.10.0¶
序言¶
将 prompt 参数添加到 loader Opts
允许将 additional_headers 指定给会话和适配器,以将标头添加到通过这些对象传递的所有请求中。
新特性¶
添加了对客户端凭据 OpenID Connect 授权类型的支持。
将对 OpenID Connect Discovery Document 的支持添加到与 OpenID Connect 相关的插件中。现在,仅传递 discovery-url 选项即可,插件将尝试从那里获取所需的元数据。
将 prompt 参数添加到 auth 插件提供的 Opts 中。Option 上 prompt 参数的存在将指示插件加载器,如果最初未提供此参数,则可以提示用户输入此参数。这种提示机制的实际实现将由各个加载器(例如 os-client-config)处理。
添加了将 additional_headers 提供给会话和适配器对象的能力。这将允许客户端特别是提供额外的识别其请求的方式。它还将有望提供一种处理设置微版本的中间方法,直到我们直接使用 keystoneauth 支持它们为止。
错误修复¶
[bug 1583682] OpenID Connect 插件应支持 OpenID Connect Discovery。
2.9.0¶
新特性¶
[蓝图 totp-auth] 添加一个认证插件来处理基于时间的 One-Time Password (TOTP) 认证,通过
totp方法。这个新的插件将接受以下身份选项:-user-id:用户 ID -username:用户名 -user-domain-id:用户域 ID -user-domain-name:用户域名称 -passcode:TOTP 应用或设备生成的密码码。 用户通过user-id或username和user-domain-id或user-domain-name的组合唯一标识。
错误修复¶
修复在 Oidc* auth 插件中传递 scope 参数。 [Bug 1582774]
2.8.0¶
新特性¶
添加了一个新的 OidcAccessToken 插件,可通过 ‘v3oidcaccesstoken’ 入口点访问,可以使用现有的 OpenID Connect Access token 进行身份验证。
错误修复¶
[bug 1583780] OpenID connect 支持应包括使用直接访问 token 进行身份验证。
2.2.0¶
错误修复¶
[bug 1527131] 不要为 OSX 和 Windows 提供 socket 值。
其他说明¶
为 keystoneauth 会话添加了一个 betamax fixture。
添加了一个符合 RFC 7231 的用户代理字符串。