Queens 系列发布说明

13.0.3-9

升级说明

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

安全问题

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

错误修复

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

13.0.3

错误修复

  • 修复在 Angularized 面板中更改镜像描述字段时出现的错误 [:bug: 1779879]

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

13.0.0

新特性

  • [蓝图:neutron-trunk-ui] 现在支持 Neutron trunk 功能。它在项目和管理仪表板中都受支持。如果 Neutron API 扩展 ‘trunk’ 可用,则会显示该面板。它显示关于 trunk 的信息。每个 trunk 的详细页面还显示该 trunk 的子端口信息。

  • [蓝图 ng-keypairs] 添加了基于 AngularJS 的密钥对面板。旧面板中的功能已完全实现。密钥对面板现在可以配置为使用旧版或基于 AngularJS 的代码。ANGULAR_FEATURES 设置现在允许使用 key_pairs_panel。如果设置为 True,则将使用基于 AngularJS 的密钥对面板,如果设置为 False,则将使用 Django 版本。key_pairs_panel 的默认值为 True。

  • 添加了一种在将其附加到实例时指定接口的方法。可以通过网络和固定 IP 地址(可选)或端口来指定。

  • 现在默认使用 Cinder API v3。它是在 Mitaka 版本中引入的,并且具有 API v2 的所有功能。

  • keystone v3 API 现在成为默认的 keystone API 版本。

  • 浮动 IP 地址具有一个描述字段,现在在仪表板中公开。在分配浮动 IP 时也可以设置描述。

  • horizon 中的策略框架现在支持每个服务的策略目录。这对应于 “oslo.policy” 库中的 policy_dirs 配置选项。引入了新的设置 POLICY_DIRS。该设置允许为每个服务定义多个策略目录。例如,对于多个项目提供策略文件(如 neutron stadium 项目)的情况非常有用。有关详细信息,请参阅 horizon 设置参考

  • 支持运营商和用户针对网络端口关联安全组。请注意,当前实现仅支持从网络详细页面中的端口表中编辑 neutron 端口的安全组(计划进行进一步改进)。

已知问题

  • [bug:1746706] 重新加载或直接打开基于 Angular 的详细页面时,导航菜单和面包屑列表无法正确恢复,并且焦点位于第一个面板上。 [bug:1746709] 当我们尝试打开不存在的基于 Angular 的详细页面时,未显示“未找到” (404) 页面。仅显示带有导航菜单的空白页面。

升级说明

  • 如果您的部署没有 Cinder API v3 端点,例如 volumev3,您应该创建新的端点或通过在 OpenStack Dashboard (Horizon) 配置文件中设置 OPENSTACK_API_VERSIONS[‘volume’] = 2 来使用 Cinder API v2。

  • 默认 keystone API 版本切换到 v3。如果您仍然默认使用 keystone v2.0 API,则需要配置 OPENSTACK_API_VERSIONSOPENSTACK_KEYSTONE_URL 以指向 keystone v2.0 API。

  • Heat 仪表板现在被拆分为一个单独的项目 heat-dashboard。从现在开始,所有新功能和维护都由新项目提供。新项目提供了过去版本中 Horizon 中可用的所有功能。要继续使用 heat 仪表板,请安装 heat-dashboard 并设置 horizon 插件配置文件中的 enabled 目录。有关更多信息,请参阅 heat-dashboard 文档 https://docs.openstack.org/heat-dashboard/2025.2/

  • [蓝图:merge-openstack-auth] django_openstack_auth 已合并到主 horizon 存储库中。确保在升级到 Queens 之前卸载 django-openstack-auth python 包。

弃用说明

  • 删除为 Angularized 操作过时弃用的 initScope() 函数。而是使用 initAction() 并从 perform() 函数的第二个参数获取作用域。

错误修复

  • [bug:1337473] 新项目的 neutron 资源默认配额不再从当前项目的配额中获取。Neutron 没有提供一种检索默认配额的方法,horizon 使用当前项目的配额作为新项目的默认配额作为一种解决方法。Neutron 从 newton 开始实现了一个 API 来检索默认配额,horizon 现在使用它。

  • [bug:1681627] 已经修复了一个基于 Angular 的详细页面(ngdetail 页面)无法重新加载或通过直接 URL 打开的问题。请注意,在 已知问题 部分中描述了一些已知问题。

  • 引入了一个新的设置 OPENSTACK_INSTANCE_RETRIEVE_IP_ADDRESSES 来控制是否从 neutron 中检索项目实例表中的服务器 IP 地址。为了减轻大型部署中的性能问题,引入了此设置,并将此设置为 False 会跳过对 neutron 的查询。对于没有浮动 IP 支持的部署,可以将此设置设置为 False 以获得更好的性能。有关详细信息,请参阅 [bug:1722417]。

其他说明

  • horizon 的 Queens 版本依赖于 Django 1.8 到 1.11,但 Django 1.8 到 1.10 支持将在下一个版本 (Rocky) 中停止。

  • (对于 Horizon 插件开发者) transfer 表的 AVAIL_CHANGED 事件已被删除。它已被 TABLES_CHANGED 事件取代。AVAIL_CHANGED 的名称具有误导性,因为它隐式且不受控制地更新了已分配的表。新的事件允许独立更新所有四个表。我们认为删除 AVAIL_CHANGED 是安全的,而无需弃用,因为它的实现包含一个必须在有人使用它之前发现的错误。无论如何,建议所有可能的非树插件维护者使用新的事件,即使您的插件依赖于 AVAIL_CHANGED 的错误行为。