We are glad to announce the release of: cloudkitty 20.0.0: Rating as a Service component for OpenStack This release is part of the caracal release series. The source is available from: https://opendev.org/openstack/cloudkitty Download the package from: https://pypi.org/project/cloudkitty Please report issues through: https://storyboard.openstack.org/#!/project/openstack/cloudkitty For more details, please see below. Changes in cloudkitty 19.0.0..20.0.0 ------------------------------------ 2a0904d Set Elastic/OpenSearch jobs as voting in Zuul 3114c3f Add grenade tests f2c1035 Replace usage of LegacyEngineFacade 101a410 Add support to InfluxDB v2 as storage backend 9797989 Add requests to requirements b46dcd8 Removal of Monasca fetcher and collector 25a7306 Fix devstack runprocess for cloudkitty api 6414edc reno: Update master for unmaintained/yoga 9b2d97c Update python classifier in setup.cfg 3aa31f8 Add description option to a rating metric definition 964c670 Add OpenSearch as a v2 storage backend 45f5e72 Add groupby options by different timeframes 12347e1 Fix retrieval of reprocessing tasks 5c2f9e7 Optimize CloudKitty reprocessing process b796efd Patch for `use_all_resource_revisions` option a37dda5 Use correct metadata for metrics gathered from gnocchi a89aa44 Remove the manual patch for WSME 0451df0 Fix a concurrency issue when locking reprocessing tasks fe1d03c Clean up release note 5a45386 Remove cloudkitty.conf.sample from docs 9b2e90d Update master for stable/2023.2 10a9482 Optimizing SQL queries that filter on a time range Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 70 +- api-ref/source/v2/summary/summary_parameters.yml | 14 +- cloudkitty/api/v2/task/reprocess.py | 8 +- cloudkitty/collector/__init__.py | 31 +- cloudkitty/collector/gnocchi.py | 153 ++- cloudkitty/collector/monasca.py | 241 ---- cloudkitty/collector/prometheus.py | 12 +- cloudkitty/common/config.py | 6 +- cloudkitty/common/db/alembic/env.py | 15 +- cloudkitty/common/monasca_client.py | 61 - cloudkitty/dataframe.py | 5 +- cloudkitty/db/__init__.py | 24 +- cloudkitty/db/sqlalchemy/api.py | 153 +-- cloudkitty/fetcher/monasca.py | 71 - cloudkitty/orchestrator.py | 47 +- .../models/f8c799db4aa0_fix_unnamed_constraints.py | 8 +- cloudkitty/rating/hash/db/sqlalchemy/api.py | 432 +++--- cloudkitty/rating/hash/db/sqlalchemy/models.py | 8 +- cloudkitty/rating/pyscripts/db/sqlalchemy/api.py | 72 +- .../rating/pyscripts/db/sqlalchemy/models.py | 8 +- cloudkitty/storage/__init__.py | 3 + cloudkitty/storage/v1/hybrid/__init__.py | 53 +- cloudkitty/storage/v1/sqlalchemy/__init__.py | 189 ++- cloudkitty/storage/v2/__init__.py | 38 + cloudkitty/storage/v2/elasticsearch/__init__.py | 4 +- cloudkitty/storage/v2/elasticsearch/client.py | 1 + cloudkitty/storage/v2/influx.py | 519 ++++++- cloudkitty/storage/v2/opensearch/__init__.py | 202 +++ cloudkitty/storage/v2/opensearch/client.py | 412 ++++++ cloudkitty/storage/v2/opensearch/exceptions.py | 32 + cloudkitty/storage_state/__init__.py | 243 ++-- devstack/plugin.sh | 133 +- devstack/settings | 5 + devstack/upgrade/resources.sh | 76 ++ devstack/upgrade/settings | 2 + devstack/upgrade/shutdown.sh | 27 + devstack/upgrade/upgrade.sh | 71 + ...cription-option-to-rating-671430ac73c0315b.yaml | 5 + ...rch-as-v2-storage-backend-ff4080d6d32d8a2a.yaml | 7 + ...fluxdb-v2-storage-backend-f94df79f9e5276a8.yaml | 4 + ...regarding_gnocchi_version-99d5213c35950e39.yaml | 14 + ...batch-delete-reprocessing-d46df15b078a42a5.yaml | 5 + .../optimizing-sql-queries-939f48fff1805389.yaml | 4 + .../patch-use-all-revision-0325eeb0f7871c35.yaml | 5 + .../notes/remove-monasca-429122691d0e5d52.yaml | 5 + .../notes/reprocess-get-fix-f2bd1f2f9e2d640e.yaml | 5 + ...essing-concurrency-issues-2a71f4d86a93c507.yaml | 4 + ...pport-group-by-timeframes-1247aa336916f3b6.yaml | 10 + releasenotes/source/2023.2.rst | 6 + releasenotes/source/index.rst | 1 + releasenotes/source/yoga.rst | 2 +- requirements.txt | 3 +- setup.cfg | 9 +- tox.ini | 6 - 79 files changed, 3442 insertions(+), 2849 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 2eabcfe..636b7f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +12,0 @@ gnocchiclient>=7.0.6 # Apache-2.0 -python-monascaclient>=2.2.1 # Apache-2.0 @@ -36,0 +36 @@ influxdb>=5.3.1 # MIT +influxdb-client>=1.36.0 # MIT @@ -41,0 +42 @@ datetimerange>=0.6.1 # MIT +requests>=2.14.2 # Apache-2.0