Folsom 系列发布说明

发布概述

Folsom 版本周期为 Horizon 的用户体验带来了多项重大改进,同时也将 Quantum 网络重新引入 OpenStack Dashboard 的核心部分。

亮点

网络 (Quantum)

由于 Quantum 是 Folsom 版本的一个核心项目,我们与 Quantum 团队紧密合作,将网络支持带回 Horizon。这主要体现在两个地方:项目和管理仪表板中的“网络”面板,以及“启动实例”工作流中的“网络”选项卡。随着 Quantum 的不断成熟和更多用户采用这种虚拟网络管理模式,预计这些方面将进一步改进。

用户体验

工作流

Folsom 版本中最大的 UI/UX 变化是引入了程序化工作流。这些组件允许开发人员创建简洁的交互,将跨多个服务和资源的离散任务组合在一起,以用户友好的方式进行操作,并使用最少的样板代码。在工作流中,相关对象也可以动态创建,因此当用户意识到他们想要的项目当前不可用时,不会丢失他们的位置。请在“启动实例”、“关联浮动 IP”和“创建/编辑项目”中查找这些工作流的示例。

资源浏览器

另一个很酷的新组件是一个专为“浏览”嵌套在父资源下的资源而设计的界面。对象存储 (Swift) 是一个很好的例子。现在,“浏览器”左侧窗格提供了一个一致的顶级导航,用于容器,而右侧窗格允许您在这些容器和子文件夹中进行浏览。

用户体验改进

  • 现在启用了时区支持。您可以在“用户设置”面板中选择首选时区。

社区

  • 希望在 Horizon 上构建的第三方开发人员可以使用新的仪表板和面板模板更快地入门。有关更多信息,请参阅有关 创建仪表板创建面板 的文档。

  • 现在提供了一套 全面的文档,供开发人员了解如何对 OpenStack 项目进行国际化、本地化和翻译。

底层

  • 现在在底层使用了 python-swiftclient 库和 python-cinderclient 库,分别代替了 cloudfiles 和 python-novaclient 库。

  • 现在可以对客户端 JavaScript 进行国际化,除了服务器端 Python 代码之外。

  • Keystone 身份验证现在由一个合适的、可插拔的 Django 身份验证后端处理,为 Horizon 提供更佳、更可靠的安全保障。

其他改进和修复

一些普遍的改进领域包括

  • 现在可以通过提供 URL 来添加 Glance 中的镜像,以便 Glance 从该 URL 下载镜像数据。

  • 现在可以在项目仪表板中动态显示配额。

  • 现在在 OpenStack RC 文件面板上显示 API 端点,以便最终用户可以有机地发现它们。

  • DataTables 现在支持在表格底部添加求和行。

  • 更好的跨浏览器支持(特别是 Safari 和 IE)。

  • 减少了对 OpenStack 端点的 API 调用(提高了性能)。

  • 更好地验证何时允许执行哪些操作。

  • 改进了错误处理和错误消息。

已知问题和限制

浮动 IP 和 Quantum

由于 Quantum 中浮动 IP 支持的添加时间非常晚,Nova 的集成存在缺陷,因此当您的 OpenStack 部署使用 Quantum 进行网络管理时,对 Nova 的浮动 IP 相关 API 调用将失败。这意味着 Horizon 操作(例如“分配”和“关联”浮动 IP)也将无法工作,因为它们依赖于底层的 API。

分页

许多“索引”页面尚未完全与 API 分页一起工作,导致它们仅显示 API 返回的第一部分结果。这个数字通常是 1000(如 novaclient 结果中的情况),但会略有变化。

同时删除大量资源

使用“全选”复选框通过 API 删除大量资源可能会导致网络超时(具体取决于配置)。这是因为 API 本身不支持批量删除,因此 Horizon 必须在后台发送请求以单独删除每个资源。

向后兼容性

Folsom Horizon 版本应与 OpenStack 核心项目的 Folsom 和 Essex 版本(Nova、Swift 等)完全兼容。虽然由于底层服务中的错误修复等原因,某些功能在使用完全 Folsom 堆栈时效果更好,但不应限制任何功能。

在为扩展 Horizon 提供的 API 方面,进行了一些不兼容的更改

  • 模板过滤器 can_hazcan_haz_list 已分别重命名为 has_permissionshas_permissions_on_list

  • 仪表板特定的 base.html 模板(例如 nova/base.htmlsyspanel/base.html 等)已被删除,取而代之的是单个 base.html 模板。

  • 与上一项结合,仪表板特定的模板块(例如 nova_mainsyspanel_main 等)已被删除,取而代之的是单个 main 模板块。

总的来说,已经尽了很大的努力来保持与可能已经构建在 Horizon 上的第三方开发人员的兼容性。