Warning: This document is for the development version of Gnocchi. The main version is stable/4.0.

3.1 Series Release Notes

3.1.0

New Features

  • Allow to search for values in metrics by using one or more granularities.
  • A new archive policy named bool is provided by default. It provides a cheap and easy way to store boolean measures (0 and 1).
  • The REST API authentication mechanism is now pluggable. You can write your own plugin to specify how segregation and policy should be enforced.
  • Add support to backfill timestamps with missing points in a subset of timeseries when computing aggregation across multiple metrics. User can specify fill value with either a float or null value. A granularity must be specified in addition to fill.
  • When sending measures in batch for resources, it is now possible to pass create_metric=true to the query parameters so missing metrics are created. This only works if an archive policy rule matching those named metrics matches.
  • Add resample parameter to support resampling stored time-series to another granularity not necessarily in existing archive policy. If both resampling and reaggregation parameters are specified, resampling will occur prior to reaggregation.
  • The gnocchi-config-generator program can now generates a default configuration file, usable as a template for custom tweaking.
  • A healthcheck endpoint is provided by default at /healthcheck. It leverages oslo_middleware healthcheck middleware. It allows to retrieve information about the health of the API service.
  • gnocchi-metricd now uses the cotyledon/oslo.config helper to handle configuration file reloading. You can dynamically change the number of workers by changing the configuration file and sending SIGHUP to the metricd master process.
  • When updating a resource attribute, it’s now possible to pass the option ‘fill’ for each attribute to fill existing resources.
  • required=True is now supported when updating resource type. This requires the option ‘fill’ to be set.
  • New storage driver for AWS S3. This new driver works in the same way that the Swift driver, expect that it leverages the Amazon Web Services S3 object storage API.
  • The storage of new measures that ought to be processed by metricd can now be stored using different storage drivers. By default, the driver used is still the regular storage driver configured. See the [incoming] section in the configuration file.

Known Issues

  • The conversion mechanism provided by the API to convert non-UUID resource id to UUID is now also based on the user creating/accessing the resource. This makes sure that the conversion generates a unique UUID for the user and that several users can use the same string as original_resource_id.

Upgrade Notes

  • The new auth_type option specifies which authentication system to use for the REST API. Its default is still noauth.
  • Ceph driver has moved the storage of measures metadata from xattr to omap API. Already created measures are migrated during gnocchi-upgrade run.
  • The auth_type option has a new default value set to “basic”. This mode does not do any segregation and uses the standard HTTP Authorization header for authentication. The old “noauth” authentication mechanism based on the Keystone headers (X-User-Id, X-Creator-Id and X-Roles) and the Keystone segregation rules, which was the default up to Gnocchi 3.0, is still available.
  • The api.pecan_debug has been removed.
  • Since original_resource_id is now unique per creator, that means users cannot refer to resource by using the original_resource_id if the resource was not created by them.

Deprecation Notes

  • The created_by_user_id and created_by_project_id field are now deprecated and being merged into a unique creator field. The old fields are still returned and managed by the API for now.

Bug Fixes

  • ‘/’ in resource id and metric name have been accepted by mistake, because they can be POSTed but not GETed/PATCHed/DELETEd. Now this char is forbidden in resource id and metric name, REST api will return 400 if it presents. Metric name and resource id already present with a ‘/’ have their ‘/’ replaced by ‘_’.

Other Notes

  • ceph driver now uses the rados async api to retrieve measurements to process in parallel.
  • The default archive policies “low” and “medium” are now storing less data than they used to be. They are only using respectively 1 and 2 definition of archiving policy, which speeds up by 66% and 33% their computing speed.
  • Gnocchi now leverages microseconds timestamps available since MySQL 5.6.4, meaning it is now the minimum required version of MySQL.
  • The noauth authentication mode now requires that the X-User-Id and/or X-Project-Id to be present.
  • The default archive policies list does not contain the 95pct and median aggregation methods by default. These are the least used methods and should make gnocchi-metricd faster by more than 25% in the default scenario.