[new][telemetry] gnocchi 3.0.0 release
We are gleeful to announce the release of: gnocchi 3.0.0: Metric as a Service For more details, please see below. 3.0.0 ^^^^^ New Features ************ * A new REST API endpoint have been added to be able to update a resource-type: "PATCH /v1/resource-type/foobar". The expected payload is in RFC6902 format. Some examples can be found in the documentation. * The Carbonara based storage engine has been updated and greatly improved. It now features fast write for Ceph (no change for file and Swift based drivers) by using an append method. It also features on the fly data compression (using LZ4) of the aggregated time serie, reducing the data space usage by at least 50 %. * Swift now supports authentication with Keystone v3 API. Upgrade Notes ************* * gnocchi-upgrade must be run before running the new version of gnocchi-metricd and the HTTP REST API in order to upgrade from version 2 of the Carbonara storage engine to version 3. It will read all metrics and convert them to new version 3 serialization format (compressing the data), which might take some time. Changes in gnocchi 2.2.0..3.0.0 ------------------------------- 252e7bf track the metric locked time d28daa2 Fix gnocchi-metricd shutdown 39ee599 resource_type: check that min is not None before comparing with max d66b6ef cli: do not run tooz watchers in parallel 51a0950 metricd: fix a data type inconsistent bug 72fb45f ceph: rename optional extra names aa3d0ae Fix PostgreSQL migration script with resource_type_state_enum 96dd4ed carbonara-drivers: elapsed can be zero f22cacc Fix a typo in sqlalchemy.py 12affbb devstack: rename werkzeug to simple ec055f5 carbonara: replace msgpack encoding with struct for new measures f067210 carbonara: implement compressed format for BoundTimeSerie 52f4e5e devstack-gate: do not create legacy resources dc0de1d storage: increase default processing delays 1a85b4c Allow to retry to delete a resource c4f6b6e lower processor job polling and handle queuing 85b6854 releasenotes: fix typo in storage-engine-v3 e8dc20a carbonara: retrieve unaggregated timeserie only once for upgrade db37885 doc: remove the rolling upgrade documentation f89f404 ceph: Fix metricd start fccda01 ceph: fix setup extra db2afd1 This patch is used to delete batch of resources 2338948 tox: remove useless keyword 230bda7 cleanup metricd shutdown process b7619c5 doc: reverse release note order d0406db reno: fix formatting in resource type patch 9cec107 gendoc: allow DELETE to have body d327620 swift: bump swiftclient dependency to 3.1.0 and set retries=0 593fd45 Allow to update resource-type (delete attributes) 6163dfb Allow to update resource-type (add attributes) 7acd3b5 cleanup carbonara - drop update method 8abc05b share groupings across aggregates e326a06 Put the regex first 5474eae swift: switch default auth version to 3 cf413a4 tests/carbonara: use _serialize_v2 without mocking 0b50825 carbonara: Timeserie.aggregate c6e7751 carbonara: optimize uncompressed serialization c74c5c9 carbonara: compress non padded timeseries 1a42586 carbonara: use calcsize rather than hard coded value 452a238 storage: re-store/write read-only splits 187304c carbonara: write full data when the split is going read-only 0ca090c search: Fix in operator ab0d2a5 Put CORS middleware at the pipeline beginning b2d64d2 block oslo.db 4.13.2 6a8054c Check whether the resource type attribute min is less than or equal to max 0903b5c storage: test splits existing after delete 5ab6cf3 ceph: fix write emulation c062916 Pin oslo.db<=4.13.0 10fd269 Ignore EEXIST when removing measures directories 8b3b780 indexer: fix retry on PostgreSQL transaction error 2576d30 test: fix a random failure with metric listing 30050ee storage: return list of split as a set a373a9a swift: remove retrying code c19bd9e carbonara: factorize out _get_unaggregated_timeserie_and_unserialize 8ca82d9 correct the debug log info, add a blank in log info 84443ca drop non-I/O threading in upgrade 21e57ad paginate on upgrade 73ed979 remove default=None for config options f916f43 carbonara: avoid using futures altogether if no aggregation workers 039e8db storage: make sure the deletion tests are synchronous 96b9aa6 storage: do not list metrics on each measure processing c27b8b7 storage: add an intermediate verification ec2ef51 carbonara: expose first_block_timestamp as public b8366fd Fix Gnocchi tempest.conf generation fc38382 ceph: fix write emulation 9c0a918 Remove null drivers abcd34c Add bindep.txt to express binary dependencies f1f81c5 statsd: simplify testing code b8e9d91 Merge documentation and release notes ccfe751 Update reno for stable/2.2 313f033 doc: remove unused devstack.rst a8c8260 Add 2.2 series release note 0798a1e only look for v2 objects on upgrade 72a2091 add support to process measures on GET f25e1a4 storage: remove unused mock in tests c5a8465 rest: fix status test 4390238 swift: optimize metric reporting in detail mode fec094a carbonara: fix benchmark output now that compression is out 5f9e39b carbonara: remove unused class 82509d7 rest: allow to specify reaggregation methods in aggregation d012a60 rest: remove aggregation dead code 9bc426d change to 3600 point object size cf34b97 highlight pagination more prominently c13a21a storage: allow to specify regaggregation over aggregation retrieval 8a8f19e Put py34 first in the env order of tox b6bc670 ceph - write only new points 970aa60 offset serialisation 1c64f5e statsd: tweak logging a59c759 statsd+metric: make retry code common 2bf39a5 drop v1.3 to v2.x migration, drop TimeSerieArchive Diffstat (except docs and test files) ------------------------------------- bindep.txt | 6 + devstack/gate/post_test_hook.sh | 5 +- devstack/plugin.sh | 8 +- devstack/settings | 2 +- .../source => doc/source/releasenotes}/2.1.rst | 0 .../source/releasenotes}/unreleased.rst | 0 etc/gnocchi/policy.json | 2 + gnocchi/carbonara.py | 618 ++++++++++++--------- gnocchi/cli.py | 79 +-- gnocchi/gendoc.py | 10 + gnocchi/indexer/__init__.py | 5 + ...d2a1d205ff_add_updating_resource_type_states.py | 89 +++ gnocchi/indexer/null.py | 20 - gnocchi/indexer/sqlalchemy.py | 189 +++++-- gnocchi/indexer/sqlalchemy_base.py | 11 +- gnocchi/resource_type.py | 18 +- gnocchi/rest/__init__.py | 332 +++++++---- gnocchi/rest/app.py | 8 +- gnocchi/statsd.py | 7 +- gnocchi/storage/__init__.py | 12 +- gnocchi/storage/_carbonara.py | 489 +++++++++++----- gnocchi/storage/ceph.py | 91 +-- gnocchi/storage/file.py | 99 ++-- gnocchi/storage/null.py | 20 - gnocchi/storage/swift.py | 130 ++--- gnocchi/tempest/plugin.py | 3 +- gnocchi/utils.py | 18 +- .../notes/delete-resources-f10d21fc02f53f16.yaml | 3 + .../resource-type-patch-8b6a85009db0671c.yaml | 6 + .../notes/storage-engine-v3-b34bd0723abf292f.yaml | 13 + .../notes/swift_keystone_v3-606da8228fc13a32.yaml | 3 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 274 --------- releasenotes/source/index.rst | 18 - requirements.txt | 1 + setup.cfg | 12 +- tools/measures_injector.py | 6 +- tox.ini | 24 +- 62 files changed, 3132 insertions(+), 1676 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 88ef618..23cf70d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,0 +14 @@ futures +jsonpatch
participants (1)
-
doug@doughellmann.com