diff --git a/specs/queens/approved/charm-panko.rst b/specs/queens/approved/charm-panko.rst new file mode 100644 index 0000000..f09536e --- /dev/null +++ b/specs/queens/approved/charm-panko.rst @@ -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 `__ (ceilometer/publisher/direct.py) was done under this `commit `__. + +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 `__. +* `Notes `__ on unneeded duplication of publishers and dispatchers. +* A `discussion `__ 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.