We are gleeful to announce the release of:

gnocchi 3.0.0: Metric as a Service

For more details, please see below.


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

* 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 
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

OpenStack-announce mailing list

Reply via email to