Ceph iSCSI 网关与 Operator Framework¶
这项工作的目标是制作一个基于 Operator Framework 的 Ceph iSCSI 网关 charm。
问题描述¶
目前没有 charmed 机制为无法直接挂载 rbd 设备的客户端提供 Ceph 支持的块设备。 此外,一个新的 charm 框架正在开发中,这个 charm 是一个测试它以编写 OpenStack charms 的机会。
提议的变更¶
使用 Operator Framework 编写 ceph-iscsi charm。 该 charm 将被标记为预览 charm,但应具有与使用 reactive 框架编写的相应 OpenStack charm 相同的功能。
ceph-iscsi charm 应通过 Operator Framework 与 Juju 环境交互。 这意味着应避免调用 charmhelpers.core.hookenv 等库。 这适用于 charm 的所有方面,包括接口。
受影响或要求的操作系统版本是什么? Focal 或 Bionic + HWE Kernel
需要什么版本的 Juju? 2.7+
备选方案¶
使用 classic 还是 reactive 框架编写 charm。
实现¶
负责人¶
- 主要负责人
Liam Young <lp:gnuoy>
Gerrit Topic¶
对于与此规范相关的所有补丁,请使用 Gerrit 主题“<topic_name>”。
git-review -t ceph-iscsi
工作项¶
实现包括以下项目
验证 Ubuntu ceph-iscsi 包在 Focal 上是否正常工作
规划 charm 接口、支持模块等
确定如何处理依赖项(pip、git 子模块等)
确定在开发和发布期间如何固定框架和依赖项的版本。
编写基本的 charm 以部署和配置网关服务。
编写功能测试以执行 multipath 挂载 iscsi 卷。
编写 README
Certificates 接口
安全检查清单
添加暂停和恢复
实现 ceph-iscsi api 安全性(admin_password、trusted_ips 等)
zaza 测试,用于创建和挂载 target,执行基本的 i/o 和 initiator 重连测试。
添加 iscsi target 创建 action
确保更新状态检测到缺失或不完整的关系。
添加系列升级
仓库¶
这几乎肯定会改变,但
文档¶
任何额外的文档都将被考虑用于 charm-deployment-guide。
安全性¶
网关 api 将使用密码进行保护,并且访问将限制为其他网关的 IP 地址。
Certificates 接口也将被实现以加密 api 端点。
测试¶
该 charm 将具有标准的 lint、单元和功能测试。 功能测试将用 zaza 编写。
依赖项¶
Operator Framework 具有足够的成熟度。
确定了一种重用现有代码的方法。 添加第三个版本的通用函数可能无法接受。