为 Gnocchi 启用 S3 存储后端

问题描述

gnocchi charm 是一个多租户时间序列、指标和资源数据库。目前它仅支持连接到 Ceph 存储后端。对于使用 S3 存储后端的人来说,这是一个问题。

提议的变更

建议的解决方案是将存储后端的选择作为配置选项。gnocchi 和 ceph-mon 之间的关系将成为一个可选关系,只有在选择 Ceph 作为后端时才会被激活。

Gnocchi 的上游文档提到,S3 存储后端得到支持,以及其他后端,例如 Swift、Redis 和 Ceph (https://gnocchi.xyz/install.html)。此新功能将在 OpenStack Stein(及更高版本)的 Ubuntu 18.04 LTS 上得到支持。

备选方案

无。

实现

负责人

主要负责人:camille.rodriguez

Gerrit Topic

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

git-review -t s3-storage

工作项

  • 添加一个 charm 选项以选择 S3

  • 在配置文件中添加 S3 选项

    • S3 端点 URL

    • S3 区域名称

    • S3 访问密钥 ID

    • S3 秘密访问密钥

    • 用于命名指标存储桶的前缀:s3_bucket_prefix = gnocchi

    • 写入 S3 时检查数据一致性时,最大等待时间:s3_check_consistency_timeout = 60

    • 要在连接池中保持的最大连接数:s3_max_pool_connections = 50

  • 使 Ceph 关系和配置成为可选的,取决于 charm 选项

  • 实现 S3 的 https 端点

时间表

目标是在 OpenstStack Charms 20.08 版本中实现此更改。此版本的冻结日期为 2020 年 7 月 24 日,发布日期为 8 月 5 日(请参阅发布计划)。此更改应至少在冻结前两周提出合并,因此理想情况下应在 2020 年 7 月 10 日之前提交。

仓库

更改将被推送到现有的 gnocchi charm 存储库

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

文档

  • 更新 charm 选项

  • 更新 charm README

安全性

没有额外的安全问题。该功能将与 HTTPS 端点兼容,以允许加密。

测试

代码更改将由单元测试覆盖。功能测试需要 S3 存储硬件或软件模拟。这可以通过 Swift 部署或使用 RADOS Gateway 来实现。具有 S3 功能的存储后端部署将独立于 OpenStack 包,以代表真实场景。

依赖项

除了此规范之外,没有其他依赖项。