add a spec for Panko charm
Required to provide removed ceilometer event API funtionality Change-Id: Ifa85616a1d44933e5d8d87867766e6544d82abaa
This commit is contained in:
parent
4a74a9d982
commit
e20dd9e0c2
|
@ -0,0 +1,153 @@
|
|||
..
|
||||
Copyright 2017, Canonical UK
|
||||
|
||||
This work is licensed under a Creative Commons Attribution 3.0
|
||||
Unported License.
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
..
|
||||
This template should be in ReSTructured text. Please do not delete
|
||||
any of the sections in this template. If you have nothing to say
|
||||
for a whole section, just write: "None". For help with syntax, see
|
||||
http://sphinx-doc.org/rest.html To test out your formatting, see
|
||||
http://www.tele3.cz/jbar/rest/rest.html
|
||||
|
||||
===============================
|
||||
Panko Charm
|
||||
===============================
|
||||
|
||||
Ceilometer used to provide an event API to query and store events from
|
||||
different OpenStack services. However, this functionality was deprecated
|
||||
in Newton and removed in Ocata. Event storage and querying functionality
|
||||
is now provided by a service called Panko. Use-cases of historical
|
||||
event data storage include audit logging, debugging and billing.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
Panko is an event storage service that provides an ability to store and
|
||||
query event data generated by Ceilometer with potentially other sources.
|
||||
Panko includes support for several storage options (sqlalchemy-compatible
|
||||
databases, mongodb, elasticsearch) which differ in their level of maturity.
|
||||
|
||||
At its core Panko is a regular API service with a database backend.
|
||||
|
||||
Events are published to Panko via Direct publisher in Ocata while in
|
||||
Pike Direct publisher was deprecated and will be removed. For that
|
||||
reason Panko publisher was added.
|
||||
|
||||
* Direct publisher `deprecation <https://docs.openstack.org/releasenotes/panko/unreleased.html#deprecation-notes>`__ (ceilometer/publisher/direct.py) was done under this `commit <https://git.io/vd98b>`__.
|
||||
|
||||
Another mechanism that was deprecated in Pike is dispatchers which were
|
||||
used to send data specified by publishers. So were
|
||||
{event,meter}_dispatchers options in ceilometer.conf
|
||||
|
||||
* Panko dispatcher `deprecation <https://docs.openstack.org/releasenotes/panko/unreleased.html#deprecation-notes>`__.
|
||||
* `Notes <https://docs.openstack.org/releasenotes/ceilometer/ocata.html#deprecation-notes>`__ on unneeded duplication of publishers and dispatchers.
|
||||
* A `discussion <http://lists.openstack.org/pipermail/openstack-dev/2017-April/115576.html>`__ on dispatchers vs publishers.
|
||||
|
||||
This is instead done directly by publishers in Pike and Panko publisher is
|
||||
present in Panko's repository itself, not ceilometer repository.
|
||||
|
||||
Panko first appeared in Ocata Ubuntu Cloud Archive.
|
||||
|
||||
Ceilometer is able to query Panko's presence via Keystone catalog but
|
||||
does not define a publisher for sending event data to Panko by default.
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
The new charm should include the following features:
|
||||
|
||||
- Support SQLAlchemy-compatible databases as storage backends;
|
||||
- HA support;
|
||||
- TLS support;
|
||||
- integration with Ceilometer charm.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
None for historical event data within OpenStack.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
dmitriis
|
||||
|
||||
Gerrit Topic
|
||||
------------
|
||||
|
||||
Use Gerrit topic "panko-charm" for all patches related to this spec.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git-review -t panko-charm
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
Reactive Interfaces
|
||||
+++++++++++++++++++
|
||||
|
||||
- interface: panko
|
||||
|
||||
Provide Panko charm
|
||||
+++++++++++++++++++++
|
||||
|
||||
- Create a charm layer based on openstack-api layer;
|
||||
- Add support for upgrading Panko (schema changes);
|
||||
- Add support for deploying Panko in a highly available configuration;
|
||||
- Add support for the Panko to display workload status;
|
||||
- Add support TLS endpoints;
|
||||
- Charm should have unit and functional tests.
|
||||
|
||||
Update Ceilometer Charm
|
||||
+++++++++++++++++++++++++++++++++
|
||||
|
||||
- Support for deployment with Panko (by specifying publishers correctly
|
||||
in event_pipeline.yaml for both Ocata and Pike+).
|
||||
|
||||
Mojo specification deploying and testing Panko
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
- Update HA Mojo spec for deploying Panko in an HA configuration.
|
||||
|
||||
Update telemetry bundle
|
||||
+++++++++++++++++++++++
|
||||
|
||||
- Update telemetry bundle to deploy Panko
|
||||
|
||||
Repositories
|
||||
------------
|
||||
|
||||
A new git repository will be required for the Panko charm:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git://git.openstack.org/openstack/charm-panko
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
The Panko charm should contain a README with instructions on deploying the
|
||||
charm. A blog post is optional but would be a useful addition.
|
||||
|
||||
Security
|
||||
--------
|
||||
|
||||
No additional security concerns.
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
Code changes will be covered by unit tests; functional testing will be done
|
||||
using a combination of Amulet, Bundle tester and Mojo specification.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
- No dependencies outside of this specification.
|
Loading…
Reference in New Issue