Rating service for OpenStack
Go to file
Luka Peschke 3ab4774f66 Adding a v2 storage backend
This adds a v2 storage interface as well as a gnocchi backend for it to
cloudkitty. This new interface will allow us to implement the v2 API, which will
be more metric-oriented.

This new storage uses the new dataframe format ('desc' is now split up into
'groupby' and 'metadata', following the collect logic); and supports grouping,
filters and pagination.

Modifications:

  * The tenant/scope state management isn't handled by the storage backend
    anymore. A StateManager object has been added.

  * All internal interactions with the storage backend use the v2 interface.
    An adapter class has been added to ensure retrocompatibility with the
    v1 interface.

  * A base class for functional tests testing the v2 storage interface has been
    added. It contains generic tests, which should allow easier testing for new
    v2 backends.

  * Some developer documentation explaining how to implement a v2 storage
    backend has been added. User documentation will be updated once the v2
    storage backend is considered stable.

The v1 is still the default storage version. Note that this new version is
considered unstable and should only be used for upstream development.

Change-Id: I5e9b95c79292582fab3017289d35ee310e35ffea
Story: 2001372
Task: 6585
Task: 14361
Task: 24535
2018-08-22 12:11:25 +02:00
cloudkitty Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
contrib Remove Ceilometer collector and transformer 2018-03-07 09:14:02 +00:00
devstack Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
doc Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
etc Improve metrics configuration 2018-06-28 11:19:51 +00:00
playbooks/cloudkitty-tempest-full Add a tempest plugin gate job 2017-11-18 13:30:54 +01:00
releasenotes Improve metrics configuration 2018-06-28 11:19:51 +00:00
.gitignore Switch to stestr 2018-07-18 08:00:06 +07:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:00:44 +00:00
.stestr.conf Switch to stestr 2018-07-18 08:00:06 +07:00
.zuul.yaml Zuul: Remove project name 2018-01-28 17:26:08 -08:00
HACKING.rst Update and replace http with https for doc links in cloudkitty 2017-11-07 08:07:49 +00:00
LICENSE Set copyright/license information in .py files 2014-06-07 09:14:06 +02:00
README.rst add release notes to README.rst 2018-06-20 17:59:42 +08:00
requirements.txt Improve metrics configuration 2018-06-28 11:19:51 +00:00
rtd-requirements.txt Bump the openstackdocstheme extension to 1.20 2018-08-21 13:54:06 +00:00
setup.cfg Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
setup.py Updated from global requirements 2016-03-25 01:14:12 +01:00
test-requirements.txt Bump the openstackdocstheme extension to 1.20 2018-08-21 13:54:06 +00:00
tox.ini Adding a v2 storage backend 2018-08-22 12:11:25 +02:00

README.rst

Team and repository tags

image

CloudKitty

cloudkitty

Rating as a Service component

Goal

CloudKitty aims at filling the gap between metrics collection systems like ceilometer and a billing system.

Every metrics are collected, aggregated and processed through different rating modules. You can then query CloudKitty's storage to retrieve processed data and easily generate reports.

Most parts of CloudKitty are modular so you can easily extend the base code to address your particular use case.

You can find more information on its architecture in the documentation, architecture section.

Status

CloudKitty has been successfully deployed in production on different OpenStack systems.

You can find the latest documentation on readthedocs.

Contributing

We are welcoming new contributors, if you've got new ideas, suggestions or want to contribute contact us.

You can reach us thought IRC (#cloudkitty @freenode.net), or on the official OpenStack mailing list openstack-dev@lists.openstack.org.

A storyboard is available if you need to report bugs.

Additional components

We're providing an OpenStack dashboard (Horizon) integration, you can find the files in the cloudkitty-dashboard repository.

A CLI is available too in the python-cloudkittyclient repository.

Trying it

CloudKitty can be deployed with devstack, more information can be found in the devstack section of the documentation.

Deploying it in production

CloudKitty can be deployed in production on OpenStack Kilo environments, for more information check the installation section of the documentation. Due to oslo libraries new namespace backward compatibility is not possible. If you want to install it on an older system, use a virtualenv.

Getting release notes

Release notes can be found in the release notes section of the documentation.