2025.1 系列发布说明

30.0.0

新特性

  • 已添加一个新文件,glance/wsgi/api.py,作为存放 WSGI application 对象的位置。 这旨在通过为这些对象提供一致的位置来简化部署。 例如,如果使用 uWSGI,则不必

    [uwsgi]
    wsgi-file = /bin/glance-wsgi-api
    

    现在可以使用

    [uwsgi]
    module = glance.wsgi.api:application
    

    这还简化了使用其他期望模块路径的 WSGI 服务器(例如 gunicorn)的部署。

  • Glance 现在在上传和导入时会检查镜像内容,检查格式是否符合声明的 disk_format,并对它识别的内容运行安全检查。 新的配置选项 [image_format]/require_image_format_match 控制当在创建镜像时设置的格式与上传的内容不匹配时,是否拒绝镜像。 一些当前被视为 raw 的镜像,在检查 MBR 记录(或 Glance 认为的 MBR)时可能会触发安全检查失败。 这些可能是合法的失败(由于 GPT 镜像大量增加,并且具有无效的保护 MBR 结构),也可能是其他尝试 PC-BIOS 引导的内容,因此在有效载荷之前具有准 MBR 结构,可能不完全符合规范。 因此,添加了一个新的配置选项 [image_format]/gpt_safety_checks_nonfatal,以(默认情况下)允许这些失败不致命。

升级说明

  • 策略 stores_info_detail 已弃用规则 rule:context_is_admin,而改用 rule:context_is_admin AND service_roles:service,以允许服务之间的交互。

  • Glance 默认会检查上传的内容是否与 disk_format 匹配,因此操作员应注意任何误报,并准备好处理用户报告的上传失败,如果用户当前没有正确表示他们的上传。

  • 已移除对 Python 3.8 的支持。 现在支持的最低 python 版本是 3.9。

  • 已移除在 Windows 操作系统中运行 Glance 服务的支持。

弃用说明

  • 策略 stores_info_detail 已弃用规则 rule:context_is_admin,而改用 rule:context_is_admin AND service_roles:service,以允许服务之间的交互。

错误修复

  • Bug 2081009:在 oslo.policy 中切换默认 policy_file 时出现 oslo_config.cfg.NotInitializedError

  • Bug 2086675:与位置排序相关的 RBD 后端性能回归

其他说明

  • 更新了 stores detail API 响应,以在 RBD 存储属性中包含 fsid 字段。