允许同时创建多个集群¶
https://blueprints.launchpad.net/sahara/+spec/simultaneously-creating-multiple-clusters
我们希望通过允许用户同时创建多个集群来改善用户体验。
问题描述¶
在创建新集群时,用户只能选择启动单个集群。在某些情况下,例如处理研究时,用户需要具有给定模板的多个集群。为了减少创建集群然后返回创建第二个集群等等的工作量,我们希望通过添加集群数量选项来包含同时创建多个集群的选项。
提议的变更¶
我们希望引入一个选项,让用户选择将生成多少个集群。在创建多个集群时,我们将向给定的集群名称添加一个顺序编号(hadoop-cluster1、hadoop-cluster2、…)。
创建流程如下
用户将使用如下所示的主体通过 POST v1.1/<project_id>/clusters/multiple 请求创建多个集群。
此调用的返回值将是集群 ID 的列表
最后,用户将能够使用这些 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 文件
依赖项¶
无。
测试¶
我们将实现单元测试。
文档影响¶
需要更新文档,详细说明新的选项。
参考资料¶
无。