Trove Charm

为 Openstack 添加一项服务,以提供按需数据库。

问题描述

作为云用户,我需要能够快速、轻松地部署可扩展且可靠的数据库,而无需承担处理复杂管理任务的负担。

提议的变更

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

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

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

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

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

备选方案

juju deploy {mysql,percona-cluster,cassandra,etc}

实现

负责人

主要负责人

未知

Gerrit Topic

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

git-review -t trove

工作项

提供 Trove charm

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

  • 添加对 Trove 升级的支持

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

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

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

  • 添加对 SSL 端点的支持

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

Mojo 规范部署和测试 Trove

  • 编写 Mojo 规范,以高可用性配置部署 Trove 并测试数据库的创建。

仓库

Trove charm 需要一个新的 git 仓库

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

文档

Trove charm 应包含一个 README,其中包含有关部署 charm 的说明。 博客文章是可选的,但将是一个有用的补充。

安全性

没有额外的安全问题。

测试

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

依赖项

  • 提供 rabbitmq 接口层

  • 提供 mysql-shared 接口层

  • 提供 pgsql 接口层

  • 提供 keystone 接口层

  • 提供 hacluster 接口层

  • 提供 nrpe-external-master 接口层

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

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

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

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