Wallaby 系列发布说明¶
22.1.0¶
错误修复¶
Bug 1934673:策略弃用错误地声称默认使用基于角色的策略。
Bug 1922928:Image Tasks API 排除正在进行中的任务
Bug 1916052:无法在 glance-api 中创建 trust 错误
Bug 1930597:Glance 中“配置 SSL 支持”的文档已过时
22.0.0¶
新特性¶
Glance 现在支持
glance-direct导入方法,而无需所有 API worker 共享存储。通过告诉每个 API worker 可以直接访问的 URL(来自其他 worker),可以在避免共享暂存目录的同时,仍然允许用户上传其数据进行导入。有关更多详细信息,请参阅worker_self_reference_url配置选项,以及 可互操作的镜像导入 文档。
在修复 Victoria 期间的竞争条件问题时,我们开始更新任务的 ‘message’ 属性,这有助于根据任务的上次更新时间计算时间,从而解除锁定,并显示已复制的镜像数据量。由于 Glance 任务 API 不允许普通用户使用,我们正在添加新的 API /v2/images/{image_id}/tasks,它将返回与该镜像关联的所有任务。除了任务信息外,此 API 还会返回 request-id 和 user-id,以帮助用户进行调试。
Glance 的默认策略现在使用项目上的 member 角色来保护可写和可读的镜像操作。还添加了对在向项目中的用户授予 reader 角色时,只读访问镜像资源的支持。像创建公共镜像这样的管理操作仍然使用项目上的 admin 角色进行保护。未来的管理操作将更新为使用系统范围。
我们鼓励您将部署中的任何现有覆盖与新的默认值进行比较。您可以使用 oslopolicy-sample-generator –namespace glance 生成默认策略并将其用于比较。
Wallaby 中实现的安全的 RBAC 人员标记为实验性的。它们将在未来的版本中稳定。您可以在 keystone 的 管理员指南 中了解有关各种人员的更多信息。
要启用此功能,您必须指定 glance-api.conf [DEFAULT] enable_secure_rbac=True 和 glance-api.conf [oslo_policy] enforce_new_defaults=True。如果配置错误,Glance 将拒绝启动。
升级说明¶
配置选项
[oslo_policy] policy_file的默认值已从policy.json更改为policy.yaml。正在使用自定义或先前生成的静态策略 JSON 文件的操作员应生成新的策略文件或将其转换为 YAML 格式。使用 oslopolicy-convert-json-to-yaml 工具以向后兼容的方式将 JSON 策略文件转换为 YAML 格式。
inject_image_metadata任务将不再允许在保留的os_glance_*命名空间中设置属性,这与通过 API 禁止此类行为的总体禁止一致。一直以来这样做都很危险,因此不应有任何操作员在生产环境中进行此类配置。如果在该命名空间中设置了任何键,它们将在注入过程中被删除(并记录)。
Glance 现在防止设置或修改位于
os_glance保留命名空间中的镜像属性。以前,单个属性(例如os_glance_importing_to_stores)被不一致地禁止,但现在强制执行整个命名空间。
Glance API 配置选项
admin_role已在 Ussuri 版本中弃用,现在已被删除。如果存在于配置文件中,将被静默忽略。
配置选项
owner_is_tenant在 Rocky 中已被弃用,在此版本中已被删除。如规格 弃用 owner_is_tenant 中宣布,鉴于操作员调查表明此选项仅以默认值True使用,因此此版本不包含数据库迁移。
Glance 现在通过默认人员提供对镜像 API 的更精细的 RBAC 访问权限。这项工作在 Wallaby 中标记为实验性的,将在未来的版本中支持。
现有的授权和策略将继续工作,但我们鼓励操作员查看新的策略,并在可能的情况下将任何冗余覆盖与新的默认值合并。请参阅上面的功能部分以获取更多详细信息。
弃用说明¶
JSON 策略文件在 Victoria 开发周期中被
oslo.policy库弃用。因此,此弃用在 Wallaby 周期中被注意到,预计oslo.policy将在未来删除对它的支持。因此,操作员需要转换为 YAML 策略文件。请参阅升级说明以获取有关迁移任何自定义策略文件的详细信息。
我们运行的策略检查,当镜像未找到时,已被删除。此操作先前允许操作员覆盖 404 行为为 403,这与 API 文档和默认隐藏信息的 404 设计目标相反。现在,如果数据库返回 NotFound 结果,将不再运行此检查,因此任何尝试控制该行为的策略都将被忽略。
保护镜像 API 的策略已被弃用,转而采用更一致的默认值,这些默认值使用来自 keystone 的 member 和 reader 默认角色。如果您的部署依赖于覆盖默认策略,请查看新的默认值以及它们可能对您的部署产生的影响。
未使用的 modify_task 策略已被弃用以供删除。它从未被荣誉或作为 API 操作的一部分进行检查。因此,自从覆盖它对任务 API 没有直接影响以来,它已被弃用以供删除,任务 API 仍然是一个已弃用的、仅供管理员使用的 API。
安全问题¶
metadef API 的默认策略已从“对所有人开放”更改为“只有管理员可以创建和修改资源”。我们认为这是迄今为止最常见的用例和唯一合理的默认值。有关更多详细信息,请参阅 Bug 1916926。
Glance 现在提供支持只读镜像权限的实验性策略。在项目上具有 reader 角色的用户将能够查看通用的镜像数据,而无需使用镜像 API 进行可写更改。请参阅上面的功能部分以获取有关启用此功能的更多信息。
错误修复¶
Bug 1913625:Glance 将泄漏暂存数据
Bug 1914826:使用无效 URL 的 web-download 未报告错误
Bug 1916011:test_migrate_image_after_upgrade 由于 glance cinder store 更改而失败