指定 Charm

Charm OpenStack DNS (Designate)。

问题描述

Designate (DNSaaS) 提供了一种管理 OpenStack 虚拟机和浮动 IP 地址的 DNS 记录的方法。

提议的变更

两个新的 charm - designate 和 designate-bind - designate 提供 API/RPC 服务,bind 提供一个灵活的扩展服务,用于管理 BIND DNS 服务器;这两个 charm 之间的接口应该足够灵活,以便在以后根据需要插入不同的 DNS 后端(例如,PowerDNS charm 代替 BIND)。

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

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

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

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

备选方案

DNS 记录可以在现有的 DNS 服务器中手动管理。

实现

负责人

主要负责人

gnuoy

Gerrit Topic

使用 Gerrit 主题 “designate” 用于与此规范相关的所有补丁。

git-review -t designate

工作项

提供 Designate charm

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

  • 添加对升级 Designate 的支持

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

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

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

  • 添加对 SSL 端点的支持

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

提供 Designate Bind charm

  • 创建设计用于与 designate 集成的 bind charm。

  • 确保 charm 满足基本非功能需求,例如 HA 和工作负载状态

扩展 Designate charm

  • 添加对 Designate 与 Neutron 集成的支持,以扩展自动创建的记录信息。

Mojo 规范部署和测试 Designate

  • 编写 Mojo 规范,以高可用性配置部署 Mojo,并测试 DNS 记录的自动和手动创建。

仓库

将需要新的 git 仓库来存放 Designate 和 Designate Bind charms

https://git.openstack.org/openstack/charm-designate
https://git.openstack.org/openstack/charm-designate-bind

文档

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

安全性

没有额外的安全问题。

测试

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

依赖项

  • 提供 rabbitmq 接口层

  • 提供 mysql-shared 接口层

  • 提供 pgsql 接口层

  • 提供 keystone 接口层

  • 提供 hacluster 接口层

  • 提供 nrpe-external-master 接口层

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

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

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

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