Mistral Charm

为 Openstack 添加一项服务,以便设置和管理多个机器上的计划任务。

问题描述

作为云管理员,我有一些需要在云上运行的维护任务。我希望能够设置和管理多个机器上的计划任务。我希望有一个单一的控制点来管理它们的计划。

作为 DevOps 工程师,我希望能够指定部署由多个虚拟机和应用程序组成的所需工作流程。

作为业务流程执行者,我希望能够请求运行一个复杂的、多步骤的业务流程,并且该流程具有容错能力,以便如果执行在某个节点上崩溃,则系统中的另一个活动节点可以自动接管并在停止的精确位置继续执行。

作为数据分析师,我需要一个数据抓取工具。例如,我希望能够以图形的形式表达准备财务报告所需的关联任务。

提议的变更

一个全新的 charm - Mistral,以及相应的测试和 QA CI/设置。

新的 Mistral charm 至少应包含以下功能

  • 可以部署为高可用性配置

  • 允许客户端和服务使用 SSL 加密进行交互

  • 通过工作负载状态显示 charm 进度

备选方案

作业可以通过每台机器上的 cron 手动调度。

实现

负责人

主要负责人

未知

Gerrit Topic

使用 Gerrit topic “mistral” 用于与此规范相关的所有补丁。

git-review -t mistral

工作项

提供 Mistral charm

  • 基于 OpenStack 基础层和可用的接口层创建 charm 骨架层,以部署 Mistral。

  • 添加对 Mistral 升级的支持

  • 添加配置选项和配套的通过 action-managed-upgrade 进行升级的支持。

  • 添加对以高可用性配置部署 Mistral 的支持

  • 添加对 Mistral 显示工作负载状态的支持

  • 添加对 SSL 端点的支持

  • Charm 应该具有单元测试和功能测试。

Mojo 规范部署和测试 Mistral

  • 编写 Mojo 规范,用于以 HA 配置部署 Mojo 并测试作业的创建。

仓库

将需要一个新的 git 存储库用于 Mistral charm

https://git.openstack.org/openstack/charm-mistral

文档

Mistral charm 应该包含一个 README,其中包含有关部署 charm 的说明。一篇博文是可选的,但会是一个有用的补充。

安全性

没有额外的安全问题。

测试

代码更改将由单元测试覆盖;功能测试将使用 Amulet、Bundle tester 和 Mojo 规范的组合进行。

依赖项

  • 提供 rabbitmq 接口层

  • 提供 mysql-shared 接口层

  • 提供 pgsql 接口层

  • 提供 keystone 接口层

  • 提供 hacluster 接口层

  • 提供 nrpe-external-master 接口层

  • 提供 OpenStack 基础层,其中包含所有未由接口层覆盖的通用 hook 代码。

  • 提供 OpenStack 基础层,支持 HA 部署

  • 提供 OpenStack 基础层,支持 SSL 通信

  • 提供 OpenStack 基础层,支持工作负载状态