Stein 系列发布说明

15.3.2

安全问题

  • 已修复一个开放重定向漏洞,该漏洞可能通过在 URL 中指定“next”参数,将用户重定向到任意地址。现在,重定向仅在目标 URL 与相同域并且使用相同协议时才有效。

15.3.0

升级说明

  • 由于 horizon 中之前使用的 pyScss 1.3.4 与 setuptools 46 不兼容,现在需要 pyScss 1.3.7。

  • 随着 pyScss 升级到 1.3.7,添加了一个针对 material design 主题的解决方法,以使其正常工作。有关详细信息,请参阅 [bug:1771559]。

15.2.0

升级说明

  • publicize_image 策略现在在镜像创建和编辑功能中具有相同的名称,并且与 Glance 中的名称相对应。如果您手动更改了策略名称以使功能正常工作,则在 Horizon 更新之前必须回滚您的更改。

错误修复

  • [bug:1859041] image:publicize_image 策略已重命名为 publicize_image,以与 Glance 中的名称相同。

15.1.1

错误修复

  • [bug:1840465] 修复了一个错误,如果一个或多个安全组没有规则,则列出安全组将无法工作。

15.1.0

升级说明

  • python-cinderclient >=4.0.1 现在是必需的,以修复 bug:1824017。Cinder API 3.55 或更高版本不接受附加属性,但 python-cinderclient 4.0.0 之前的版本会发送附加属性,如 used_id、status 等。Horizon 使用 Cinder API 3.58 创建卷,这意味着如果使用 python-cinderclient <4.0.0,则卷创建将失败。为了处理这个问题,python-cinderclient 的最低要求已提高到 4.0.1。

15.0.0

新特性

  • 在 Admin/Network/Routers 面板中添加“创建路由器”按钮。

  • 通过 Rocky 中的修复,允许使用 Django 的递归模板继承,我们已经在 base.html 模板中添加了新的块,以便通过您的主题更好地进行自定义。有关详细信息,请参阅 customizing 文档。

  • [blueprint:mitigate-breach-attacks] 添加 Django-debreach 模块以缓解漏洞攻击。启用 RandomCommentMiddleware 以通过随机化每个响应的内容长度来对抗漏洞攻击。

  • [blueprint neutron-rbac-policies] 此蓝图将 RBAC 策略面板添加到 Admin Network 组。当启用 RBAC 扩展时,此面板将默认启用。通过在 ‘local_settings.py’ 中设置 “‘enable_rbac_policy’: False” 来删除此面板。RBAC 策略支持控制两种资源:网络和 QoS 策略,因为 QoS 策略是 neutron 的扩展功能,如果想要使用它,则需要启用此扩展。

  • [bug:1785263] 修改项目详细信息视图为多选项卡视图,包括

    • 概述 选项卡,显示有关项目的常规信息。

    • 用户 选项卡,显示具有项目角色的所有用户(及其角色),包括通过组的成员资格具有项目角色的用户。

    • 选项卡,显示具有项目角色的所有组(及其角色)。

  • [bug:1792524] 修改用户详细信息视图为多选项卡视图,包括

    • 概述 选项卡,显示有关用户的常规信息。

    • 角色分配 选项卡,显示用户在项目或域中拥有的所有角色,直接或通过其组的成员资格。如果角色来自组的成员资格,则会在角色列中指示这一点。

    • 选项卡,显示用户所属的所有组。

  • [blueprint:cinder-generic-volume-groups] Cinder 通用组现在支持管理面板。管理员现在能够查看不同用户的组和组快照。此外,组类型和组类型规范支持已添加到管理面板。管理员现在能够创建组类型和组类型规范。

  • 新的设置 SESSION_REFRESH(默认值为 True),允许在每次请求时刷新用户会话过期时间,直到令牌本身过期。 SESSION_TIMEOUT 现在充当空闲超时值。

  • 添加了一个新的 hide_create_volume 设置,位于 LAUNCH_INSTANCE_DEFAULTS 字典下。这允许您隐藏“启动实例”表单中的“创建新卷”选项,而是依赖于您使用 create_volume 选择的默认值,作为最适合您用户的选项。

  • [bug:1795851] 运营商现在可以通过新的设置 SHOW_OPENRC_FILESHOW_OPENSTACK_CLOUDS_YAML 来控制是否显示“下载 OpenRC”和“下载 clouds.yaml”的链接。 openrcclouds.yaml 文件由 horizon 提供,现在假定基本的简单部署,并且不涵盖 keystone 身份验证,如 saml2、openid 等。horizon 提供的默认 openrcclouds.yaml 对于此类环境没有意义。

    现在可以通过 OPENSTACK_CLOUDS_YAML_CUSTOM_TEMPLATEOPENRC_CUSTOM_TEMPLATE 设置配置 clouds.yamlopenrc 文件的自定义模板。有关详细信息,请参阅 设置参考

    ADD_TEMPLATE_DIRS 设置也已添加,以便运营商可以将 clouds.yaml 的自定义模板放置在部署特定的路径中。

  • 添加了一个 upgrade_check 管理命令,该命令检查配置文件中任何可能在下一个版本中存在问题的设置。该命令可用作 ./manage.py upgrade_check

  • 增加了将登录重定向到身份提供商的可能性。为此,添加了以下变量,WEBSSO_DEFAULT_REDIRECTWEBSSO_DEFAULT_REDIRECT_PROTOCOLWEBSSO_DEFAULT_REDIRECT_REGIONWEBSSO_DEFAULT_REDIRECT_LOGOUT

升级说明

  • 为了允许某些视图在处理敏感数据时选择性地禁用分析跟踪,请不要使用 custom_head_js 块,或现在已弃用的模板 horizon/_custom_head_js.html 用于分析跟踪。请阅读 customizing 文档,而是使用专用的 custom_analytics 块,以便 Horizon 或其插件可以在需要时禁用给定视图上的跟踪。

  • PKI 令牌支持已从 horizon 中删除。PKI 令牌已在 Ocata 版本中从 keystone 中删除,该版本发布于两年前。现在是删除其支持的好时机。

    OPENSTACK_TOKEN_HASH_ALGORITHM 设置已被删除,因为它仅用于 PKI 令牌检查。除非您在升级之前使用 PKI 令牌,否则不会产生影响,并且可以安全地将其从 local_settings.py 中删除。

  • SESSION_TIMEOUT 现在默认情况下充当空闲超时时间,而不是硬超时限制。如果您希望保留旧的硬超时功能,请将 SESSION_REFRESH 设置为 False

  • Cinder、Keystone Neutron 和 Nova 的 policy.json 文件根据 策略文件维护 生成。Keystone 对 策略规则 <https://docs.openstack.org/releasenotes/keystone/stein.html#prelude>__ 的更改与 Horizon 不兼容,因此 keystone_policy.json 未更新。请确保新的 Keystone 策略与您的部署兼容,然后再同步它们。

  • 默认会话引擎的值已更改为 django.contrib.sessions.backends.cache,以便使用基于缓存的会话后端。

    默认缓存后端设置为 memcached 后端 django.core.cache.backends.memcached.MemcachedCache,考虑到多进程 Web 服务器部署,而不是内存后端。

    这些是 horizon 长期以来推荐但尚未默认使用的设置。

    如果您的部署使用签名 cookie 作为会话引擎,请确保在升级 horizon 到 Stein 版本之前将 SESSION_ENGINE 配置为 django.contrib.sessions.backends.signed_cookies。如果您的部署使用缓存会话引擎,并且您的缓存后端依赖于 horizon 默认设置,请确保将 CACHES 设置为使用内存后端。

  • 默认值 SHOW_KEYSTONE_V2_RC 设置已更改为 False,以支持 horizon 中弃用 keystone v2 API 的支持。

弃用说明

  • 自定义覆盖模板已被弃用,以支持在您的主题中使用递归继承。以下模板已被弃用,并计划在 U 版本中删除:* _footer.html' * _login_footer.html * _login_form_footer.html * horizon/_custom_head_js.html * horizon/_custom_meta.html

  • horizon 中的 Keystone v2 API 支持将在 Train 版本中删除。它已在 Queens 版本中从 keystone 中删除。

  • Cinder 一致性组支持将在 Train 版本或更高版本中从 horizon 中删除。它在 Pike 版本中在 Cinder 中被弃用,并被通用组功能取代。Horizon 从 Rocky 版本开始支持通用组。

  • Volume v2 API 支持现在已被弃用。该 API 已在 cinder 中标记为已弃用,以支持 volume v3 API。Horizon 将在 cinder 停止支持它时删除 volume v2 API 支持。

  • Glance v1 API 支持现在已被弃用,最早将在 Train 版本中删除。它已在 Rokcy 版本中从 glance 中删除。

  • Nova-network 支持将在 Train 版本中完全删除。Horizon 在 Queens 版本中删除了 nova-network 浮动 IP 和安全组支持,但我们仍然支持在 nova-network 上创建的服务器实例上的操作。此弃用意味着对此支持将在不久的将来删除,horizon 将假定已部署 neutron。

  • SHOW_KEYSTONE_V2_RC 设置已被弃用,以支持 horizon 中弃用 keystone v2 API 的支持。

错误修复

  • 修复了一个错误,该错误导致非管理员用户在 Identity 面板下列出的用户中看到“更改密码”按钮。

  • [bug:1544703] 添加一个新的可选 WEBSSO_KEYSTONE_URL 属性,以方便 WEBSSO 部署,其中网络分段用于安全要求。在这种情况下,控制器无法从公共网络访问。因此,用户的浏览器将无法访问 OPENSTACK_KEYSTONE_URL,如果将其设置为内部端点。