Files
cloudkitty/setup.cfg
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

90 lines
2.8 KiB
INI

[metadata]
name = cloudkitty
summary = Rating as a Service component for OpenStack
description-file =
README.rst
author = OpenStack
author-email = openstack-dev@lists.openstack.org
home-page = https://docs.openstack.org/cloudkitty/latest
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
[files]
packages =
cloudkitty
[entry_points]
console_scripts =
cloudkitty-dbsync = cloudkitty.cli.dbsync:main
cloudkitty-processor = cloudkitty.cli.processor:main
cloudkitty-storage-init = cloudkitty.cli.storage:main
cloudkitty-writer = cloudkitty.cli.writer:main
wsgi_scripts =
cloudkitty-api = cloudkitty.api.app:build_wsgi_app
oslo.policy.enforcer =
cloudkitty = cloudkitty.common.policy:get_enforcer
oslo.policy.policies =
cloudkitty = cloudkitty.common.policies:list_rules
oslo.config.opts =
cloudkitty.common.config = cloudkitty.common.config:list_opts
oslo.config.opts.defaults =
cloudkitty.common.config = cloudkitty.common.defaults:set_cors_middleware_defaults
cloudkitty.collector.backends =
fake = cloudkitty.collector.fake:CSVCollector
gnocchi = cloudkitty.collector.gnocchi:GnocchiCollector
monasca = cloudkitty.collector.monasca:MonascaCollector
meta = cloudkitty.collector.meta:MetaCollector
prometheus = cloudkitty.collector.prometheus:PrometheusCollector
cloudkitty.fetchers =
fake = cloudkitty.fetcher.fake:FakeFetcher
keystone = cloudkitty.fetcher.keystone:KeystoneFetcher
source = cloudkitty.fetcher.source:SourceFetcher
cloudkitty.transformers =
CloudKittyFormatTransformer = cloudkitty.transformer.format:CloudKittyFormatTransformer
GnocchiTransformer = cloudkitty.transformer.gnocchi:GnocchiTransformer
cloudkitty.rating.processors =
noop = cloudkitty.rating.noop:Noop
hashmap = cloudkitty.rating.hash:HashMap
pyscripts = cloudkitty.rating.pyscripts:PyScripts
cloudkitty.storage.v1.backends =
sqlalchemy = cloudkitty.storage.v1.sqlalchemy:SQLAlchemyStorage
hybrid = cloudkitty.storage.v1.hybrid:HybridStorage
cloudkitty.storage.v2.backends =
gnocchi = cloudkitty.storage.v2.gnocchi:GnocchiStorage
cloudkitty.storage.hybrid.backends =
gnocchi = cloudkitty.storage.v1.hybrid.backends.gnocchi:GnocchiStorage
cloudkitty.output.writers =
osrf = cloudkitty.writer.osrf:OSRFBackend
csv = cloudkitty.writer.csv_map:CSVMapped
[build_sphinx]
all_files = 1
build-dir = doc/build
source-dir = doc/source
[global]
setup-hooks =
pbr.hooks.setup_hook