Panko Charm

Ceilometer 曾经提供一个事件 API 用于查询和存储来自不同 OpenStack 服务的事件。然而,此功能在 Newton 中已被弃用,并在 Ocata 中移除。事件存储和查询功能现在由一个名为 Panko 的服务提供。历史事件数据的用例包括审计日志记录、调试和计费。

问题描述

Panko 是一个事件存储服务,它提供了一种存储和查询由 Ceilometer 生成的事件数据,以及潜在的其他来源数据的能力。Panko 包含对几种存储选项的支持(与 sqlalchemy 兼容的数据库、mongodb、elasticsearch),这些选项在成熟度方面有所不同。

从本质上讲,Panko 是一个具有数据库后端的常规 API 服务。

在 Ocata 中,事件通过 Direct publisher 发布到 Panko,而在 Pike 中 Direct publisher 已被弃用并将被移除。因此,添加了 Panko publisher。

  • Direct publisher 弃用 (ceilometer/publisher/direct.py) 是在本次 提交 中完成的。

另一个在 Pike 中被弃用的机制是调度器,它们用于发送发布者指定的数据。因此,ceilometer.conf 中的 {event,meter}_dispatchers 选项也被弃用了。

  • Panko dispatcher 弃用

  • 说明 关于发布者和调度器的不必要重复。

  • 关于调度器与发布者的 讨论

这现在由 Pike 中的发布者直接完成,而 Panko publisher 位于 Panko 的仓库中,而不是 ceilometer 仓库中。

Panko 首次出现在 Ocata Ubuntu Cloud Archive 中。

Ceilometer 能够通过 Keystone 目录查询 Panko 的存在,但默认情况下不定义用于将事件数据发送到 Panko 的发布者。

提议的变更

新的 charm 应该包含以下特性

  • 支持与 SQLAlchemy 兼容的数据库作为存储后端;

  • HA 支持;

  • TLS 支持;

  • 与 Ceilometer charm 集成。

备选方案

对于 OpenStack 中的历史事件数据,目前没有。

实现

负责人

主要负责人

dmitriis

Gerrit Topic

对于与此规范相关的所有补丁,请使用 Gerrit topic “panko-charm”。

git-review -t panko-charm

工作项

Reactive 接口

  • interface: panko

提供 Panko charm

  • 基于 openstack-api 层创建一个 charm 层;

  • 添加对升级 Panko (模式更改) 的支持;

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

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

  • 添加对 TLS 端点的支持;

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

更新 Ceilometer Charm

  • 支持与 Panko 部署 (通过为 Ocata 和 Pike+ 在 event_pipeline.yaml 中正确指定发布者)。

Mojo 规范部署和测试 Panko

  • 更新 HA Mojo 规范,以高可用性配置部署 Panko。

更新遥测包

  • 更新遥测包以部署 Panko

仓库

需要一个新的 git 仓库来用于 Panko charm

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

文档

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

安全性

没有额外的安全问题。

测试

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

依赖项

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