本作品采用知识共享署名 3.0 未移植许可协议授权。

为实体点击操作添加操作列表面板

启动板蓝图的URL

https://blueprints.launchpad.net/vitrage/+spec/add-action-list-panel

问题描述

Vitrage Dashboard 的实体图为用户提供了视觉上的便利。因此,云管理员或 Vitrage 用户可以轻松识别每个实体不同的情况。然而,实体图目前仅提供视觉功能,可执行的上下文操作范围仍然较小。

提议的变更

对于当前实体图中的每个实体,用户可以通过点击操作查看有关该实体的信息。我们将添加一个操作列表面板,通过现有的点击操作向用户提供多个操作。用户可以点击一个实体,以查看下拉菜单中的可用操作列表。下拉菜单位于现有的信息面板底部,并根据设置文件配置操作列表。用户可以选择这些操作列表中的一个,并通过额外的 UI 输入执行该操作所需的特定参数。

可以提供的操作示例

  • 执行 Mistral:如果用户选择 Mistral,一个新的 UI 中包含的下拉菜单将显示当前存储在 Mistral 中的工作流列表。当用户从列表中选择一个工作流时,用户可以输入各种参数值(例如,Workflow_name、Workflow_input、params)。然后,请求从 Mistral 服务器向 API 运行该工作流。Mistral 的功能范围将在未来扩展。

  • 性能测试:用户可以通过点击实体图显示的新星(Nova)、中子(Neutron)等实体来执行测试。与 Mistral 类似,用户可以在新的 UI 中查看测试场景列表,输入各种测试参数值,然后通过 Openstack Rally API 请求性能测试。此功能的性能支持范围将在未来扩展。

  • 启动监控工具的网页:显示监控虚拟机或物理节点实体的监控工具的网页。

  • 打开其他项目的相关 UI:如果用户通过操作列表面板从其他项目请求操作,可以通过其他项目的 UI 检查操作请求的结果(例如,执行工作流、性能测试)。因此,此操作将在新标签页中打开与该操作相关的其他项目的 UI(例如,Mistral 的“工作流执行”面板),以查看请求结果。

整体流程如下

+-----------------------+
|   Vitrage Dashboard   |
|                       |
| +------------------+  |
| |                  |  |
| |   Entity Click   |  |        +-----------------------+
| |                  |  |        |                       |
| +---------+--------+  |        |    Other Project's    |
|           |           |        |                       |
+-----------------------+        +-----------^-----------+
            |                                |
         (1)|                                |(3)
            |                                |
+-----------v-----------+        +-----------+-----------+
|                       |        |                       |
|   Action list Panel   +-------->  Action Parameter UI  |
|                       |   (2)  |                       |
+-----------+-----------+        +-----------------------+
            |
         (4)|
            |
+-----------v-----------+
|                       |
|  Other Project's UI   |
|                       |
+-----------------------+
  1. 用户可以点击一个实体,以查看可以通过信息面板底部的下拉菜单执行的操作列表。操作列表由用户配置的设置文件组成。这意味着操作列表取决于用户的环境。此外,根据实体类型,操作可能会受到限制。

  2. 当用户从操作列表中选择一个操作时,将显示详细的操作列表(例如,工作流列表、测试场景列表)和输入参数的 UI。然后,用户可以在相应的 UI 中选择详细的操作并输入参数。

  3. 在参数 UI 中输入所有参数并按“确定”按钮,从其他项目请求(例如,Mistral、Rally)。

  4. 可以在包含相关项目 UI 的新标签页中查看用户请求的结果。

下面显示了一个示例配置文件

[ACTION_LIST]
mistral = [Mistral Endpoint]
rally = [Rally Endpoint]
monitor_url = [Monitoring Tool URL]

如果用户未在上述设置文件中为特定操作输入信息,则操作列表将不包含相应操作。这决定了是否安装了项目以请求操作。因此,操作列表是根据设置文件配置的,因此如果用户想要接收操作,则用户应根据用户的环境输入信息。

备选方案

数据模型影响

REST API 影响

版本影响

其他最终用户影响

部署者影响

开发者影响

Horizon 影响

  • 当用户在实体图上点击一个实体时,会添加一个面板以显示操作列表。

  • 用户可以配置操作列表的附加操作。

  • 当用户选择一个操作时,将出现用于输入所需参数值和选择详细操作(例如,工作流列表、测试场景)的 UI。

实现

负责人

主要负责人

MinWookKim <delightwook@dcn.ssu.ac.kr>

工作项

  • 在实体图中的实体点击中添加一个新的面板。

  • 查看使用新面板的操作列表。

  • 可以从其他项目选择和请求操作列表。

  • 配置设置文件以组织操作列表。

依赖项

测试

  • 新的 UI。(操作列表 UI,参数 UI)

  • 通过操作列表面板请求 API 并检查其他项目操作。

文档影响

配置附加操作列表,应记录添加操作的使用方法。

参考资料