Cinder 下属 charm cinder-nimblestorage

问题描述

Cinder 拥有大量用于不同后端驱动程序。 几乎所有当前可用的商业存储阵列和许多其他软件解决方案都提供驱动程序,如果尚未在 upstream cinder 项目中,则可以作为可安装的软件包启用 cinder 并使用额外的驱动程序。

由于存在如此多的可能性,因此开发了一种模型,即部署一个单独的从属 charm 来处理驱动程序的具体细节,并通过关系将配置传递给主 cinder charm,以便 cinder 可以写入自己的配置文件。

提议的变更

与其修改 cinder charm,本提案旨在为 nimblestorage 驱动程序创建一个单独的下属 charm。 此 cinder 安装将启用对 Nimblestorage 设备的访问。 以下几点对于此下属 charm 的开发至关重要

  • 新的实现不应与当前实现冲突。 两者应尽可能共存,甚至在同一部署中。

  • 新的 charm 应实现 cinder charm 中当前所有与 nimblestorage 功能相关的特性。

请注意,由于 Nimblestorage 驱动程序是 cinder-common 包的一部分,因此此 charm 无需安装任何额外的软件包即可工作。

此 charm 将在 Openstack 的 Ussuri 版本及更高版本中得到支持。

备选方案

在撰写本文时,尚不存在替代方案。

实现

负责人

主要负责人

Gustavo Sanchez <gustavo.sanchez@canonical.com> - LP ID: gustavosr98

二级分配人

Luciano Lo Giudice <luciano.logiudice@canonical.com> - LP ID: lmlogiudice

Gerrit Topic

对于与此规范相关的所有补丁,请使用 Gerrit 主题“charm-cinder-nimblestorage”。

git-review -t charm-cinder-nimblestorage

工作项

如上所述的 charm。 此外,将编写单元测试和功能测试。

仓库

目前,以下存储库托管 charm 代码

https://opendev.org/openstack/charm-cinder-nimblestorage

文档

一旦此 charm 完成,charm-guide 将更新以引用它。

安全性

与当前解决方案相比,不会改变任何安全方面。

测试

代码更改将通过单元测试和功能测试进行覆盖。 功能测试需要 Nimblestorage 硬件。

依赖项

除了当前解决方案中已有的依赖项之外,没有其他依赖项。