允许同时创建多个集群

https://blueprints.launchpad.net/sahara/+spec/simultaneously-creating-multiple-clusters

我们希望通过允许用户同时创建多个集群来改善用户体验。

问题描述

在创建新集群时,用户只能选择启动单个集群。在某些情况下,例如处理研究时,用户需要具有给定模板的多个集群。为了减少创建集群然后返回创建第二个集群等等的工作量,我们希望通过添加集群数量选项来包含同时创建多个集群的选项。

提议的变更

我们希望引入一个选项,让用户选择将生成多少个集群。在创建多个集群时,我们将向给定的集群名称添加一个顺序编号(hadoop-cluster1、hadoop-cluster2、…)。

创建流程如下

    1. 用户将使用如下所示的主体通过 POST v1.1/<project_id>/clusters/multiple 请求创建多个集群。

    1. 此调用的返回值将是集群 ID 的列表

    1. 最后,用户将能够使用这些 ID 跟踪集群状态。

替代方案

用户一次创建一个集群。

数据模型影响

无。

REST API 影响

我们需要创建一个新的 API 调用 (create_multiple_clusters()),以便通过传递一个新参数来允许创建多个集群,该参数指定将创建的集群数量。

POST v1.1/<project_id>/clusters/multiple

其他最终用户影响

我们还需要更改 python-saharaclient 以允许创建多个集群。

  • 请求

{

“plugin_name”: “vanilla”, “hadoop_version”: “2.4.1”, “cluster_template_id”: “1beae95b-fd20-47c0-a745-5125dccbd560”, “default_image_id”: “be23ce84-68cb-490a-b50e-e4f3e340d5d7”, “user_keypair_id”: “doc-keypair”, “name”: “doc-cluster”, “count”: 2, “cluster_configs”: {}

}

  • 响应

{clusters: [“c8c3fee5-075a-4969-875b-9a00bb9c7c6c”,

“d393kjj2-973b-3811-846c-9g33qq4c9a9f”]

}

部署者影响

无。

开发者影响

无。

Sahara-image-elements impact

无。

Sahara-dashboard / Horizon 影响

我们需要添加一个框,允许用户插入将创建的集群数量(默认设置为 1)。

实现

负责人

主要负责人

tellesmvn

工作项

  • 实现创建多个集群的后端

  • 实现 API 变更

  • 实现单元测试

  • 实现对 python-saharaclient 的更改

  • 实现对 UI 的更改

  • 更新 api-site 仓库中的 WADL 文件

依赖项

无。

测试

我们将实现单元测试。

文档影响

需要更新文档,详细说明新的选项。

参考资料

无。