cloudkitty/cloudkitty
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
..
api Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
backend Trivial: add the missing period 2017-01-16 15:44:30 +08:00
cli Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
collector Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
common Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
db Remove deprecated APIs and method in cloudkitty 2017-11-29 09:50:18 +00:00
fetcher Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
hacking Update log translation hacking rule 2017-07-04 05:10:09 -04:00
rating Add no_group parameter to hashmap "list_*" calls 2018-04-17 13:15:16 +00:00
storage Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
storage_state Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
tests Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
transformer Improve metrics configuration 2018-06-28 11:19:51 +00:00
writer Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
__init__.py Removed version information from setup.cfg 2015-10-19 17:27:02 +02:00
config.py Moving to Liberty cycle (0.5) 2015-08-28 16:51:03 +02:00
extension_manager.py Renaming billing to rating 2015-04-08 16:07:25 +02:00
i18n.py Remove log translations 2017-04-28 08:46:10 +08:00
messaging.py Remove deprecated oslo_messaging.get_transport 2017-12-06 08:58:37 +00:00
orchestrator.py Adding a v2 storage backend 2018-08-22 12:11:25 +02:00
service.py Remove help message about ZeroMQ driver 2018-07-12 02:39:16 +00:00
state.py Add wrapper for decimal.Decimal objects in json.dumps() 2016-12-05 14:12:21 +01:00
utils.py Add Prometheus Collector 2018-08-21 19:51:56 +02:00
version.py Improve the rpc module 2016-08-24 15:20:13 +00:00
write_orchestrator.py Adding a v2 storage backend 2018-08-22 12:11:25 +02:00