CHANGES
=======

* wsgi: use pbr wsgi binary
* add release note for sacks
* Remove oslo.utils dependency
* carbonara: rewrite lock debug statement
* Stop using oslo\_utils.netutils
* Stop using oslo\_utils.fnmatch
* redis: fix CLIENT\_LIST\_ARGS parsing
* Fix Carbonara compression with Cradox and LZ4 >= 0.9.2
* ceph: store measures in omap values
* Stop relying on dictutils
* Replace oslo\_utils.units.M by its value
* ceph: fix errno\_to\_exception
* fix workload logging
* ceph: async write new measures
* doc: move storage plan to running
* drop metric lock
* don't lock on delete
* sack-changer cli
* configurable sacks framework
* configurable hashring replicas
* implement hashring partitioning
* doc: fix typo and URL in collectd page
* s3: push to multiple sacks
* swift: push to multiple sacks
* file: push to multiple sacks
* ceph: push to multiple sacks
* redis: push to multiple sacks
* add note to clear backlog before upgrade
* push incoming into different sacks
* rest: do not duplicate non-existing resource ids
* swift: make sure to retry if the client cannot find Swift
* tempest: rework gabbi setup
* use redis as coordinator
* tests: more live verification
* rest: Extends metric list filters
* fix search by user\_id/project\_id
* ceph: remove usage of errno
* ceph: Don't fail if the container does not exists
* update aggregation workers help
* doc: Change grafana url
* tests: don't use eval for last call on pifpaf run
* Rename GNOCCHI\_SERVICE\_URL to GNOCCHI\_ENDPOINT
* coordination: use redis if available
* s3: check for consistency after write
* storage: introduce add\_measures\_batch for Ceph
* Drop usage of importutils
* utils: replace bool\_from\_string by builtin distutils strtobool
* ceph: make sure aio\_remove operations return
* doc: fix sphinx warning
* doc: override html theme for old version
* hide lock error on delete\_metric
* doc: fix deps for old version
* tox: remove useless variable declarations
* tox: factorize docs dependencies
* Switch to new Gnocchi logo
* doc: remove oslosphinx support
* json: use ujson to dumps
* Replace oslo\_serialization.jsonutils with simpler version
* Use NULL as creator in ResourceUUID conversion
* drop scheduler process
* drop single bucket partitioning
* drop ceph incoming upgrade
* redis: remove useless dep on msgpack-python
* drop \_delete\_unaggregated\_timeserie
* s3: use a single bucket for aggregate storage
* Use HostAddressOpt for opts that accept IP and hostnames
* doc: last release is the greatest tag
* cleanup live tests
* Modify wrong revision
* default\_aggregation\_methods configuration worked in gnocchi-upgrade
* cleanup empty test folder
* tests: Add travis configuration
* docs: default to master
* carbonara: reduce the number of array copy
* load policy from oslo.config locations
* search to oslo.config locations for api-paste
* tests: functional with tox+pifpaf
* don't raise error if unaggregated empty
* devstack: remove verbose option
* check unprocessed measures cleared on delete
* redis: drop encoding
* tempest: don't use Ceilometer's resource type
* follow redis key naming conventions
* drop delete\_unaggregated\_timeserie method
* default to v3 format
* redis: increase query limit
* redis: use hashes for aggregated storage
* Correct bad use response\_strings in live.yaml
* devstack: Change URL of grafana plugin source
* Modify outdated parameters comment
* test that storage is deleted
* fix redis storage delete
* utils: fix Epoch timestamp parsing
* redis: switch incoming to use list
* carbonara: use lz4 0.9.0 new interfaces
* file, s3, swift: create incoming buckets/containers on upgrade
* fix redis report
* Using fixtures.MockPatch instead of mockpatch.Patch
* cleanup unused var
* Remove upgrade code from 2.2 and 3.0
* Test upgrade from 3.1 instead of 3.0
* carbonara: remove numpy warning
* storage: Add redis driver
* use bytes for coordination
* simplify swift report
* Mark noauth authentication as deprecated
* delete unprocessed measures on expunge
* carbonara: remove misleading comment
* Move msgpack to global requirements
* devstack: Allow to change the processing delay
* Ban alembic 0.9.0
* tests: Hide useless tests output
* indexer: fix typo
* doc: use regexp for doc version whitelisting
* ceph: Allow to configure timeout
* remove openstack link
* Document the possible locations of the config file
* Remove unused logging import
* s3: set maximum length for s3\_bucket\_prefix option
* docs: generate docs for all stable versions
* indexer: remove Ceilometer legacy resources
* devstack: do not create legacy resource type if Ceilometer is enabled
* tests: make gabbi test no rely on legacy resources types
* test non-uuid and add debug for upgrade gate
* ensure original\_resource\_id is not none
* gabbi: use history
* fix bad slash migration
* doc: various update and add architecture diagram
* s3: use a different bucket prefix for each test
* s3: fix new metric listing
* s3: fix minimum botocore version
* tests: split two kind of functional tests
* Remove obsolete comment
* Add release notes for 3.1

3.1.0
-----

* devstack: do not install gnocchiclient
* tools: make measure injector works without gnocchiclient
* paginate ceph report generation
* indexer: make sure original\_resource\_id is never NULL
* rest: string → UUID conversion for resource.id to be unique per user
* tests: specify columns to compare in resource list
* modernise gabbi tests
* supporting disabling reporting process
* fix live gabbi test
* ceph: set return limit
* tests: do not create a resource with a custom resource type in 2.2
* tests: factorize measure generation to speed up test
* sqlalchemy: factorize retry on transaction issue/table def change
* mysql: retry on table changes
* Revert "indexer: catch another mysql exception"
* carbonara: numpy 1.9 have some bug with ? for bool
* tests: use GNU sed where needed
* storage: Read incoming config correctly
* noauth: force user to be provided
* cleanup noauth path
* doc: move devstack at the end
* tests: clean upgrade variable
* Required some configuration options
* allow required=True when patching resource type
* rest,indexer: handle ResourceUUID conversion in the REST API
* sqlalchemy: use a list rather than if/elif to convert type in queries
* Revert "indexer: fix datetime with mysql >= 5.7.17"
* Update Pandas requirements to 0.18
* Add a release note about storage/incoming split
* drop gnocchi\_<id>\_container object
* indexer: catch another mysql exception
* stop validating aggregation on init
* increase timeout
* Remove redundant comma
* carbonara: resample() with scipy/numpy
* Fix error message
* carbonara: add tests for each aggregation
* carbonara: add resample() benchmark
* utils: use proper timedelta conversion
* tests: increase benchmark timeout for Carbonara
* sqlalchemy: fix compat search on created\_by\_project\_id
* serialise: simplify array format
* carbonara: add merge() benchmark
* carbonara: don't use groupby for split
* Remove non-existent -all suffix in tox targets
* Remove py{27,35} from valid tox targets
* indexer: fix datetime with mysql >= 5.7.17
* carbonara: Add benchmark for split()
* carbonara: use numpy for unserialization
* carbonara: use numpy for serialization
* carbonara: Don't use clean\_ts()
* carbonara: handle timestamps from struct with numpy
* carbonara: remove a pandas.iteritems()
* carbonara: prepare datetime for pandas.to\_datetime()
* add metricd tester for profiling
* rest: returns orignal resource id
* indexer: fix migration script "no\_more\_slash"
* Remove workaround to upgrade from 2.2.0
* utils: allow ResourceUUID to convert UUID
* cleanup invalid upgrade errors
* archive\_policy: provide a boolean storage archive policy by default
* storage: add more debug information to trace behaviour
* opts: list entry points with pkg\_resources rather than stevedore
* mysql: fix timestamp upgrade
* rest: reject / as resource id and metric name
* tests: Fix upgrade script
* ceph: enhance the documentation
* Introduce "basic" authentication mechanism
* don't override logging when loading alembic module
* upgrade: fix OS\_AUTH\_TYPE variable name
* Add sem-ver flag so pbr generates correct version
* ceph: fix data compression when oldest\_mutable\_timestamp == next(key)
* Add gnocchi-config-generator
* Remove broken script
* Fix a typo in estimated sizing per metric under archive policies
* test: remove unnused method
* Create a base exception for resource type error
* ceph: Workaround for oslo.config interpolation bug
* indexer: fix resource type update
* Tests to confirm resources are searchable
* rest: introduce auth\_helper to filter resources
* rest: add auth\_mode to pick authentication mode
* Move default policy.json away from etc/
* Ship api-paste.ini out of etc/
* rest: make sure 409 is returned when double creating resource with non-UUID
* tools: import a small tools to compute size of archive policies
* archive\_policy: lighten the default archive policies
* run-tests: use case rather than if/elif/else
* metricd: move metricd options in metricd group
* storage: remove temporary incoming setup
* Introduce new storage groups for storage
* devstack: prepare ceph keyring before using it
* Adjust testr group\_regex to not group on 'prefix'
* storage: split s3 driver
* Fix expected content-type and move CORS tests to gabbi
* [doc] Note lack of constraints is a choice
* gabbi: remove unused variable
* rest: catch create\_metric duplicate
* Revert "add mysql minimum version check"
* add mysql minimum version check
* All granularity input should be parsed as timespan
* fill series when aggregating cross metrics
* carbonara: log a message and do not fail if a file is missing
* Enable H904 hacking check
* storage: split swift driver
* doc: add a page talking about collectd support
* Enable oslo\_middleware healthcheck middleware by default
* use datetime when defining series range
* storage: split ceph driver
* storage: split file driver
* fix oslo.db 4.15.0 breakage
* rest: remove user\_id and project\_id from metric schema
* api: use egg entry\_point rather than code path
* doc: Add reference to gnocchi-nagios tool
* fix logging..
* rest: don't ignore measures of created metrics
* Modify variable's using method in Log Messages
* Fix two trivial docs errors in architecture.rst
* storage: split the storage interface
* config: only include oslo.middleware options that are shipped
* doc: remove unused links
* file: remove tmp configuration
* storage: remove \_pending\_measures\_to\_process\_count()
* storage: split process\_new\_measures()
* Remove 95pct and median from default archive policies
* rest: wait for the  thread pool executor result
* indexer: list\_metric(), skip sql if names is empty
* rest: Don't use private webob API
* rest: fix batching error handling
* rest: don't fail if the batch measure is not a dict
* Replace retry with tenacity.retry
* ceph: make computed measures read async
* utils: do not retry on any exception
* Remove usage of deprecated operatorPrecedence and remove duplicate operators
* drop pytimeparse requirement
* support pandas.to\_timedelta
* Bump hacking to 0.12
* rest: use flatten\_dict\_to\_keypairs instead of recursive\_keypairs
* carbonara: add support for Gnocchi v2 measures format
* support resampling on aggregation endpoint
* support resampling
* Use tenacity.TryAgain rather than a own-defined exception
* rest: allow to create missing metrics when sending measures in batch
* Interpolate strings using logging own methods
* metricd: retry slowly coordination connection failure
* rest: don't use is\_body\_seekable
* Allow timespan to be floating values
* rest: empty search query in resource search
* ceph: move out of xattr completely
* support consistent timestamps
* Revert "drop non-I/O threading in upgrade"
* rest: register default JSON converter using pecan.jsonify
* Don't hang with wsgiref
* Add missing granularity to base storage class
* json: remove outdated comment
* Update doc because default services are all being added to settings
* accommodate new oslo.config
* devstack: stop all gnocchi services, not just api
* Fix incorrect EXTRA\_FLAVOR in plugin.sh
* rest: using ujson to deserialize
* doc: add s3 to the list of Carbonara based drivers
* Fix typo in release note file
* Unify timestamp parsing
* rest: fix Epoch timestamp parsing
* test: rewrite test\_post\_unix\_timestamp in Gabbi
* Remove pecan\_debug option
* test: allow to pass OS\_DEBUG
* Remove unused requests dependency
* carbonara: fix SplitKey with datetime greater than 32bits value
* Revert "Remove the file named MANIFEST.in"
* Add helper for utcnow to epoch nano
* Add http\_proxy\_to\_wsgi to api-paste
* Use Cotyledon oslo config glue
* Add a S3 based storage driver
* tox: only install all storage drivers in py-$index or py-#index-all
* Remove Python 3.4 support
* doc,tests: fix reaggregate/reaggregation mispelling
* Fix oslo.log minimum requirement
* Remove the file named MANIFEST.in
* Stop adding ServiceAvailable group option
* sqlalchemy: use precise DATETIME rather than DECIMAL in MySQL
* enable threading of batched writes
* switch to stop validating batch individually
* Don't mock ceph
* upgrade tests: don't patch gnocchi 3.0
* tests: Cover resource-type modification
* Use xx=None instead of xx=[] to initialize the default value
* Fix some gabbi tests
* Add STRICT\_RESPONSE\_HEADERS check to gabbi tests
* Add upgrade targets for Gnocchi 3.0
* tox: shorter envdir name for upgrade target
* remove the pandas module in test test\_carbonara.py
* doc: include stable/3.0 release notes
* Fix typos in tests/gabbi/gabbits/resource.yaml
* Add granularity in searching for values in metrics
* Modify api startup parameters in devstack plugin
* Replace retrying with tenacity
* ceph: fix python3 issue
* Add simple upgrade tests
* compute new first\_block\_timestamp once

3.0.0
-----

* track the metric locked time
* Fix gnocchi-metricd shutdown
* resource\_type: check that min is not None before comparing with max
* cli: do not run tooz watchers in parallel
* metricd: fix a data type inconsistent bug
* ceph: rename optional extra names
* Fix PostgreSQL migration script with resource\_type\_state\_enum
* carbonara-drivers: elapsed can be zero
* Fix a typo in sqlalchemy.py
* devstack: rename werkzeug to simple
* carbonara: replace msgpack encoding with struct for new measures
* carbonara: implement compressed format for BoundTimeSerie
* devstack-gate: do not create legacy resources
* storage: increase default processing delays
* Allow to retry to delete a resource
* lower processor job polling and handle queuing
* releasenotes: fix typo in storage-engine-v3
* carbonara: retrieve unaggregated timeserie only once for upgrade
* doc: remove the rolling upgrade documentation
* ceph: Fix metricd start
* ceph: fix setup extra
* This patch is used to delete batch of resources
* Allow to pass search filter in the query string
* tox: remove useless keyword
* cleanup metricd shutdown process
* doc: reverse release note order
* reno: fix formatting in resource type patch
* gendoc: allow DELETE to have body
* swift: bump swiftclient dependency to 3.1.0 and set retries=0
* Allow to update resource-type (delete attributes)
* Allow to update resource-type (add attributes)
* cleanup carbonara - drop update method
* share groupings across aggregates
* Put the regex first
* swift: switch default auth version to 3
* tests/carbonara: use \_serialize\_v2 without mocking
* carbonara: Timeserie.aggregate
* carbonara: optimize uncompressed serialization
* carbonara: compress non padded timeseries
* carbonara: use calcsize rather than hard coded value
* storage: re-store/write read-only splits
* carbonara: write full data when the split is going read-only
* search: Fix in operator
* Put CORS middleware at the pipeline beginning
* block oslo.db 4.13.2
* Check whether the resource type attribute min is less than or equal to max
* storage: test splits existing after delete
* ceph: fix write emulation
* Pin oslo.db<=4.13.0
* Ignore EEXIST when removing measures directories
* indexer: fix retry on PostgreSQL transaction error
* test: fix a random failure with metric listing
* storage: return list of split as a set
* swift: remove retrying code
* carbonara: factorize out \_get\_unaggregated\_timeserie\_and\_unserialize
* correct the debug log info, add a blank in log info
* drop non-I/O threading in upgrade
* paginate on upgrade
* remove default=None for config options
* carbonara: avoid using futures altogether if no aggregation workers
* storage: make sure the deletion tests are synchronous
* storage: do not list metrics on each measure processing
* storage: add an intermediate verification
* carbonara: expose first\_block\_timestamp as public
* Fix Gnocchi tempest.conf generation
* ceph: fix write emulation
* Remove null drivers
* Add bindep.txt to express binary dependencies
* statsd: simplify testing code
* Update reno for stable/2.2
* doc: remove unused devstack.rst
* Add 2.2 series release note
* only look for v2 objects on upgrade
* add support to process measures on GET
* storage: remove unused mock in tests
* rest: fix status test
* swift: optimize metric reporting in detail mode
* carbonara: fix benchmark output now that compression is out
* carbonara: remove unused class
* rest: allow to specify reaggregation methods in aggregation
* rest: remove aggregation dead code
* change to 3600 point object size
* highlight pagination more prominently
* storage: allow to specify regaggregation over aggregation retrieval
* Put py34 first in the env order of tox
* ceph - write only new points
* offset serialisation
* statsd: tweak logging
* statsd+metric: make retry code common

2.2.0
-----

* drop v1.3 to v2.x migration, drop TimeSerieArchive
* sqlalchemy: increase the number of max\_retries
* test: fix race condition in update testing
* add support for coordination
* tests: extend the test timeout to 120s for migration sync testing
* Add home-page in setup.cfg
* carbonara: embed a benchmark tool
* carbonara: do not use oslo\_log
* indexer: put extend\_existing in \_\_tables\_args\_\_
* improve task distribution
* sqlalchemy: simplify kwarg of retry
* Add iso8601 to requirements
* metricd: cleanup logging message for progress
* sqlalchemy: remove deprecated kwargs retry\_on\_request
* sqlalchemy: fix PostgreSQL transaction aborted in unmap\_and\_delete\_tables
* Fix list resource race
* rest: set useful default values for CORS middleware
* rest: enable CORS middleware without Paste
* truncate AggregatedTimeSerie on init
* return explicitly InvalidPagination sort key
* fix object\_exists reference
* Indicate we added a bunch of new features
* doc: Update grafana plugin documentation
* metricd: use Cotyledon lib
* devstack: Move to grafana 3.x
* add missing key param to method definition
* rest: allow to use X-Domain-Id in policy rules
* Add support for Python 3.5
* Fix CORS middleware setup
* fix tooz requirement
* ceph: uses only one ioctx
* simplify model loading
* Revert "carbonara: compress all TimeSerie classes using LZ4"
* devstack: Fix requirement typo
* Use pbr WSGI script to build gnocchi-api
* ceph: change make method names for new measures
* Expose resource type state to the API
* track resource\_type creation/deletion state
* carbonara: compress all TimeSerie classes using LZ4
* separate cleanup into own worker
* Tuneup gabbi metric.yaml file to modern standards
* Tuneup gabbi resource\_type.yaml file to modern standards
* Tuneup gabbi search\_metric.yaml file to modern standards
* Tuneup gabbi resource\_aggregation.yaml file to modern standards
* Tuneup gabbi resource.yaml file to modern standards
* sqlalchemy: fix MySQL error handling in list\_resources
* \_carbonara: use tooz heartbeat management
* \_carbonara: set default aggregation\_workers\_number to 1
* Enable CORS by default
* Rename gabbits with \_ to have - instead
* Correct concurrency of gabbi tests for gabbi 1.22.0
* tests: fix Gabbi live test to not rely on legacy resource types
* swift: force retry to 1
* swift: raise an explicit error if bulk-delete is unavailable
* Added endpoint type on swift configuration
* use async delete when remove measures
* Fix tempest tests that use SSL
* \_carbonara: fix race condition in heartbeat stop condition
* enable pagination when querying metrics
* doc: include an example with the \`like' operator
* metricd: only retry on attended errors and print error when coordinator fails
* metricd: no max wait, fix comment
* test: move root tests to their own class
* rest: report dynamic aggregation methods in capabilities in a different field
* \_carbonara: stop heartbeat thread on stop()
* tests: create common resources at class init time
* tests: remove skip\_archive\_policies\_creation
* tests: do not create legacy resources
* sqlalchemy: add missing constraint delete\_resource\_type()
* sqlalchemy: no fail if resources and type are deleted under our feet
* sqlalchemy: retry on PostgreSQL catalog errors too
* sqlalchemy: retry on deadlock in delete\_resource\_type()
* Enable releasenotes documentation
* Tuneup gabbi transformedids.yaml file to modern standards
* Tuneup gabbi search.yaml file to modern standards
* Tuneup gabbi pagination.yaml file to modern standards
* Tuneup gabbi metric\_granularity.yaml file to modern standards
* raise NoSuchMetric when deleting metric already marked deleted
* Tuneup gabbi history.yaml file to modern standards
* Tuneup gabbi batch\_measures.yaml file to modern standards
* Tuneup gabbi base.yaml file to modern standards
* Tuneup gabbi async.yaml file to modern standards
* Tuneup gabbi archive.yaml file to modern standards
* Tuneup gabbi archive\_rule.yaml file to modern standards
* Tuneup gabbi aggregation.yaml file to modern standards
* fix some typos in doc, comment & code
* add unit column for metric
* devstack: ensure grafana plugin for 2.6 is installed
* Revert "tests: protect database upgrade for gabbi tests"
* Make tempest tests compatible with keystone v3
* sqlalchemy: retry on deadlock for create\_resource\_type()
* sqlalchemy: retry on deadlocks in get\_resource()
* sqlalchemy: avoid deadlock on list\_metrics()
* sqlalchemy: retry on deadlock for create\_metric()
* sqlalchemy: retry on deadlock for create\_resource()
* sqlalchemy: add retry on deadlock for delete\_resource()
* sqlalchemy: set max\_retries & all when retrying
* tests: move custom agg setup code in the tests using it
* tests: protect database upgrade for gabbi tests
* fix details filter for measures report
* gate: remove old job conf
* devstack: remove support for old devstack ceph plugin
* Backlog status not accurate when batching
* sql: default to pymysql
* support shrinking/extending policy timespan
* doc: add a glossary
* rest: catch InvalidResourceAttributeName when creating resource type
* doc: fix the number of points for 30 days
* rest: return a better error message when history is not found
* Fixed typo in documentation
* remove verbose option in devstack plugin
* Update hacking to 0.11
* doc: fix the number of storage drivers
* gate: work with old and new devstack ceph plugin
* [alembic] delete a blank line from script.py.mako
* Fix uuidgen not installed in some ubuntu installs
* Remove annoying debug log
* Replace logging with oslo\_log
* use thread safe fnmatch
* fix resource\_type tablename for instance\_net\_int
* tests: Add more integration tests coverage
* Drop useless enum
* Don't delete archive policy used by ap rule
* Reduce length of some foreign keys
* Fix foreignkey names of host/host\_history table
* doc: add resource history in features
* doc: remove legacy resource types listing
* Fix broken ceilometer resources migration script
* tests: fix a fuzzy test for archive policy rules
* doc: rely on oslo-config-generator to generate the config file
* Don't encode exception message in ascii
* Remove unused requirement PrettyTable

2.1.0
-----

* rest: fix typo in metric list filtering for non-admin
* Fix dependency from tempest-lib to os-testr
* tests: tempest plugin
* doc/ap: document default archive policies and tweak them
* carbonara: print out the speed of measures/s
* indexer: teach SQL query compiler numeric and string types
* Use pifpaf rather than overtest
* carbonara: add a processing speed in debug logs
* ceph: Don't fetch useless omap attributes
* Revert "Use pbr WSGI feature to build gnocchi-api"
* Use pbr WSGI feature to build gnocchi-api
* dict.iteritems() method is not available in py3
* carbonara: catch LockAcquireFailed exception
* devstack: rename UWSGI file
* fix resource\_type table migration
* ceph: make requirements clearer
* devstack: remove useless ceph permission
* devstack: Allow to use devstack-plugin-ceph
* Fix --version string on all command line tools
* resample only data affected by new measures
* cleanup split function
* remove timeserie\_filter param
* InfluxDB: drop support
* devstack: allow gnocchi-api to run on different host from keystone
* Add some resource types tests
* Don't create Ceilometer resource types by default
* Move legacy Ceilometer resource into indexer
* Implements resource attribute bool
* Implements resource attribute number
* Implements resource attribute uuid
* Implements resource attribute string
* Implements resource type CRUD
* (Really) Remove sqlalchemy warning
* Use omap insteads of xattr
* clean up doc phrasing
* devstack: allow uwsgi deployments
* tools: Add tools to quickly add measurements
* Fix an IN-predicate SAWarning
* Added docs about new snmp related resource types
* Revert "Log retrieve/store data speed in Carbonara based drivers"
* workaround to \_strptime import issue on py2
* Add note to the docs regarding archive-policy deletion
* Replace deprecated LOG.warn with LOG.warning
* doc: fix link to config generator conf file
* disable swift retry
* Create default archive policies out of the box
* Increase partitioning logic period
* fix swift measure reporting
* [doc] update configuration for WSGI pipeline
* fix swift bulk-delete
* Fixed typo on "series"
* rest: None is not a valid timestamp
* rest: make sure all timestamps are after Epoch
* swift: use bulk deletes
* carbonara: raises an error if timestamp before Epoch is sent
* Move resource type into their own sql table
* carbonara: aggregation method should be mandatory
* Make the content of PKG-INFO can be decoded
* Pass aggregation when create AggregatedTimeSerie
* ensure timeseries has unique index
* Allow to pass the ceph secret
* ceph: fix help string
* optimise timeseries
* close queues
* synchronously delete archives
* fix migration from v1.3 to v2.0
* Added new resource types for snmp metrics
* fix partitioning

2.0.0
-----

* Use '#flake8: noqa' to skip file check
* storage: make sure we delete old measures respecting archive policy
* rest: implement groupby in resource/metric aggregation
* indexer: replace get\_metrics() by list\_metrics()
* partition unprocessed measures across workers
* Allows to use cradox with ceph storage
* Log retrieve/store data speed in Carbonara based drivers
* shrink test length
* storage: autoconfigure coordination\_url
* carbonara: compress AggregatedTimeSerie using LZ4
* minimise calls when generating report
* Update configuration document
* storage: fix typo in Metric.\_\_eq\_\_
* Rework the handling of the resource ID
* carbonara: make sampling mandatory in AggregatedTimeSerie
* ceph: remove useless code
* genconfig: do not fail to install if unable to build configuration file
* carbonara: make sure we hearbeat our coordination driver
* Don't use time.timezone
* ceph: delete measures asynchronously
* grab less data when adding measures
* KEYSTONE\_CATALOG\_BACKEND is deprecated
* Extend measures batching to named metrics
* minimise swift processing metric size
* carbonara: compute sampling at init time
* carbonara: remove carbonara-dump
* Fixes routing of aggregation endpoint
* Simply how to get keystone url
* Don't require trollius on Python 3.4 and newer
* carbonara: implement full listing for new measures
* Remove useless indexes
* devstack: fix type when keystone is absent
* Renable lint for WebTest
* Added original\_resource\_id field into resource
* Bypass the auth when listing Gnocchi versions
* setup: build config file at build time
* storage: run expunge\_metric in sync mode
* swift, ceph: take smaller batch of new measures to process
* tests: remove measures reporting test
* devstack: support publicURL retrieval in both keystone v2/v3 format
* fix metricd workers
* storage: fix typo in exception formatting
* devstack: fix publicURL retrieval
* Disable rados thread system
* Bump tooz version in requirements
* Remove custom api-paste.ini for testing
* rest: fix metric access for linked projects
* storage/carbonara: store TimeSerieAggregated in splits
* Skip already processed measurements
* ceph, swift: do not fail if unprocess measures already deleted
* Convert user and project IDs from UUIDs to Strings
* plugin cleanup
* homogenise resource type not found exceptions
* tox: fix py27-gabbi dependencies
* sqlalchemy: switch to new oslo.db facade
* rest: fix timestamp parsing for aggregates
* storage,rest: add support for granularity in aggregation
* Use overtest to setup InfluxDB
* Handle all resources type with one controller
* Generate configuration file in sdist
* Resource list filtered by project\_id or created\_by user\_id and project\_id
* influxdb: do not try to create a database
* devstack: remove Ceilometer support
* devstack: remove Aodh support
* indexer: always order the result returned by list\_metrics()
* Fix the wrong datetime format in \_store\_measures method
* ceph: fix the metric list to process with new measures
* Do not enable Keystone by default
* Fix the typos in the \_\_init\_\_.py
* Use keystone middleware fixture
* Replace the redundant code with the utility function
* Fix gnocchi resource update without change
* rest: add batch/measures support
* Use overtest to setup PostgreSQL and MySQL in tests
* indexer: fix a possible test failure due to a race condition
* statsd: Use archive policy rule
* doc: add granularity argument for measure retrieval
* carbonara: allow to split AggregatedTimeSerie
* carbonara: allow to create TimeSerie from existing ts
* storage: round back from\_timestamp in get\_measures()
* carbonara: serialize time period in seconds
* carbonara: deprecate TimeSerieArchive
* doc: add Grafana support
* doc: add a note about client
* doc: complete index, architecture and running
* doc: move init/upgrade to install
* doc: fix some markups
* doc: split out running
* Upgrade Grafana and its Gnocchi plugins
* indexer: read from environment variable
* tests: read config file if GABBI\_LIVE is set
* sqlalchemy: fix metric expunge
* Miscellaneous minor docco corrections
* Fix the typos in the Gnocchi
* rest: fix revision creation
* swift: fix typo in unprocessed measures deletion
* Change LOG.warn to LOG.warning
* Replace LOG.warn with LOG.warning
* indexer: do not store useless revision
* test: avoid loading default config file via Keystone middleware
* Fix the typos in the gnocchi
* doc: fix markup
* doc: split config out of install
* doc: split out architecture
* Make README points to main doc
* remove python 2.6 trove classifier
* rest: remove dead code
* tests: do not read default config files
* Make gnocchi.xyz doc output in a sane directory
* avoid metric join on resource delete
* metric: make sure start/stop can be used with timezone
* storage/carbonara: create an executor on each call
* swift: make sure we retrieve full listing in containers
* Switch to RTD theme for gnocchi.xyz
* tox: create a target for each indexer
* Allow the volume display\_name field to be null
* storage/carbonara: simplify tooz locking
* tests: block when acquiring processing lock
* storage: fix expunge\_metric
* Resolving use of deprecated dispatcher configuration
* devstack: add gnocchi-statsd
* statsd have some required configuration options
* tox: exclude .eggs in flake8
* influxdb: avoid running first query if unnecessary
* Correlate correctly the needed\_overlap
* Adds some docs about aggregation across metrics
* Checks percent\_of\_overlap when one boundary is set
* Adds aggregation across metrics tests
* carbonara: move aggregated() to AggregatedTimeSerie
* storage: make exception inherits from StorageError
* storage: retry to delete metric on failure
* ceph: delete unaggregated timeserie when deleting metric
* tests: improve fake Swift client delete\_container
* Remove keystonemiddleware workaround
* Make the wheel universal
* fix expunge\_metrics method
* remove duplicate test
* statsd: fix flush() scheduling
* retrieve resource with metric only when needed
* only get details when required
* fix pecan \_lookup usage
* allow image\_ref equals none when creating resource
* MySQL: fix testing with MySQL >= 5.7.9
* change DB, allow image\_ref to be null
* fix error in alembic when upgrade postgresql
* Split requirements in smaller part
* typos in rest.j2
* increase number of wsgi threads
* clean up integration test urls
* carbonara: add a \_\_repr\_\_ for AggregatedTimeSerie
* carbonara: implement an integer sampling attribute
* carbonara: make offset conversion consistent
* archive\_policy: enforce types
* \_carbonara: dedicated methods to store raw timeserie
* cli: allow to upgrade in 2 passes
* storage: support storage upgrade
* Rename dbsync to upgrade
* Add missing PrettyTable dependency
* ceph: fix computation of read offset
* Ensure file basepath exists
* Use oslo\_config new type PortOpt for port options
* carbonara: optimize \_first\_block\_timestamp
* Add host and port config opts to statsd
* copyright Openstack should be OpenStack
* set indexer url as required
* Remove unused logging
* tests: move storage/test\_carbonara to storage
* influxdb: skip Carbonara specific test
* influxdb: update to 0.9.4.2
* Make swift timeout configurable
* devstack: install PostgreSQL development headers
* remove default=None for config options
* Fix metricd TypeError's due to bad method signature
* Remove Ceilometer test dependency
* Replace pytz by iso8601
* carbonara: fix exception when creating metric
* carbonara: remove unused prototype

1.3.0
-----

* rest: remove outdated comments
* storage,rest: allow to retrieve one granularity only
* archive\_policy: make sure points/granularity > 0
* archive\_policy: disallow to have identical granularities
* rest: add\_measures never raises MetricDoesNotExist
* rest: do not store empty measure set
* Fix minimum Pandas required version
* carbonara: handle empty update
* Depend on oslo.middleware, add CORS default conf
* api: use Paste to deploy WSGI server
* Don't need to expose direct entry of statsd service in statsd.py
* docs: add some ceph driver notes
* rest: deserialize directly with file descriptor
* devstack: remove unused utf8 argument
* Use mod\_wsgi for SWIFT
* Add README file for Devstack plugin
* Use config file for oslo-config-generator instead of generate-config-file.sh
* Make sure that swift doesn't block gnocchi startup
* Use ListOpt for default\_aggregation\_methods option
* carbonara: replace sort() by sort\_values()
* Use lighter validation to post measurements
* docs: add some notes about tooz
* ceph: Fix tooz coordinator connection leaks
* sqlalchemy: use retry\_on\_deadlock in update\_resource()
* doc: improve the layout and gnocchi.xyz
* indexer: fix exception text
* Use a capital letter in the project name
* Don't fail when data are unreadable
* rest: Always return complete exceptions
* aggregates: normalize timestamp
* devstack: create a default archive policy rule
* Removing ceph locking system
* tests: Allow more postgres connection
* carbonara: add more debug info on measures processing
* match archive policy rule based on longest match
* rest: use a fork friendly app with werkzeug
* add api controller for instance\_disk and network\_interface resources
* devstack: stop using USE\_CONSTRAINTS and setup\_package
* devstack: use gnocchiclient to create default archive policies
* devstack: install gnocchiclient from pip
* carbonara: optimize resampling
* indexer: change to lower case when appropriate
* sqlalchemy: fix metric status migration
* Remove unused file
* carbonara: drop empty points from resample before combine
* carbonara: only resample on the last point
* cli: fix reporter
* cli: fix reported values
* Use the testr from os-testr env
* rest: export overall status
* storage: remove index from measures\_report()
* Create signature of measures\_report in base class
* Make metric deletion async
* Mark InfluxDB driver as experimental
* tox: fix too much test running in specific envs
* Fix InfluxDB template in tox
* Don't hide module with local variable
* Add some reporting to metricd
* rest: respect RBAC rules when deleting archive policy rules
* rest: respect RBAC rules when deleting archive policies
* devstack: only tail Apache error and access log
* devstack: install gnocchiclient
* gate: use port 8041
* Remove useless code
* Ensure needed\_overlap is a number
* tox: Allow to pass some OS\_\* variables

1.2.0
-----

* storage: fix potential race condition in Ceph and file drivers
* tox: factor default py{27,34} target
* tox: use factor feature to simplify layout
* tox: remove unused hacking exceptions
* tox: remove install commands
* alembic: make migration template PEP8 compliant
* Use influxdb 0.9.4
* tests: fix InfluxDB config
* improve the influxdb-python version
* Make metricd use a collection of Process not Pool
* At line 24 of install.rst, the word 'command' is missing
* doc: remove details option
* rest: remove the Web interface
* devstack: fix Keystone CORS configuration
* devstack: umount grafana datasource plugins on unstack
* Add support for Grafana installation
* Remove $GNOCCHI\_USE\_KEYSTONE and check that Keystone is enabled
* indexer: remove details on create\_metric()
* carbonara: fix % of overlap when no point match
* devstack: enable debug if asked
* carbonara: add some logging
* doc: add metricd service in devstack
* Add posting measures to live gabbi test
* Add reason for MetricUnaggregatable
* devstack: update to latest stable version of influxdb
* sqlalchemy: catch invalid datetime conversion in search
* sqlalchemy: convert UUID correctly before doing a search
* Add two new resources
* move keystonemiddleware to requirements.txt
* devstack: remove ceilometer from service list
* Use new location of subunit2html
* metricd: fix method name typo
* devstack: explicit path in run\_process calls
* Turn on influxdb in gate\_hook
* In test\_rest run process\_measures after a request
* Only exclude Alembic 0.8.1
* Create conf directory during install phase
* archive policy rule: make them available on all metric creations
* rest: remove convert\_metric()
* file: use \_get\_tempfile() in metric storage
* file: store measures atomically
* rest: implements /resource/generic/UUID/history
* Exclude Alembic>=0.8.1
* Introduce a resource id translation shim
* rest: Pass the project name to middleware config
* Rudimentary support for influxdb in devstack plugin
* file: fix potential race condition in storing measure
* storage: remove create\_metric()
* devstack: fix gnocchi url with aodh
* indexer: raise an error if deleting a non-existent metric
* Make pagination gabbi test no longer xfail
* gabbi: fix a typo in name of a test
* Add to influx command's $PATH
* InfluxDB storage driver

1.1.0
-----

* Some clarification of install and config procedures
* indexer: remove wrong FK catch
* sqlalchemy: use DBReferenceError to generate the correct exception
* storage/carbonara: add timestamp as measure suffix
* archive\_policy: validate agg methods values
* rest: fix archive policy controller
* rest: return metrics for ../<resource\_id>/metric
* rest: Add links to /v1 endpoint
* Implements list\_resources limit/ordering
* devstack: use $API\_WORKERS to set the number of Apache WSGI workers
* indexer: always eagerly load archive\_policy
* rest: directly pass metric to search\_value()
* rest: validate timestamp in metric value search query
* Drop downgrade field in alembic script.py.mako
* Declare some options as secret
* gate: fixup gabbi live tests
* Don't update resource if nothing has changed
* Unify requirements
* opts: use new min= in IntOpt from oslo.config
* Disable global constraints in devstack
* rest: improves NamedMetricController errors
* file: do not raise if dir is created in the meantime
* Increase gabbi poll length in two tests
* sqlalchemy: expunge objects before returning them
* statsd: stop mocking indexer.get\_metrics in tests
* Don't allow duplicate timestamps in carbonara series
* Remove special configuration of heat plugin
* metricd: allow to be killed by SIGTERM
* In devstack use our own install redis command
* Tail the correct apache log files in devstack
* Cleanup handling of metricd and its logs in devstack
* Use a settings file for the devstack plugin
* Remove ceilometer dispatcher
* fix broken devstack storage logic
* carbonara: stop storing full res timeserie in archives
* rest: returns 404 when controller does not exists
* ceph: make the driver asynchronous
* sqlalchemy: fix lazy-loading of attributes
* Fix gnocchi-metricd start
* Make devstack use Keystone API v3 for user/project creation
* Update pytimeparse to 1.1.5
* Fix abstract \`process\_measures\` method signature
* Allow gnocchi API at /metric
* Ensure location header urls account for script\_name
* Don't reclone the repo we already did
* Ensure live gabbi tests run in gate
* carbonara: add a serializable mixin
* archive\_policy: add max\_block\_size property
* Use a more unique postgresql port
* metricd: start several processes to process more metric
* Make test\_rest keystone cache work with keystonemiddleware 2.0
* utils: replace utcnow() by new oslo.utils version
* Introduce gnocchi-metricd
* Use indexer RDBMS as tooz coordinators
* perf tools: remove deprecated API
* Make measures processing asynchronously
* carbonara: add an option to ignore too old points
* devstack: move all logs to /var/log/gnocchi
* perf tools: Don't fail if result directory exists
* rest: return 202 when posting measures
* Avoid conflicts with ceilometer.conf in dispatcher tests
* Remove upper cap on oslo libs
* Remove pypy tox target
* Stop using TZ unaware datetime and isotime()
* Require pecan 0.9, gaining 405 and unicode fixes
* Handle indexer connections more cleanly in tests
* Use pg\_ctl for initdb
* Raise the PostgreSQL connections to 200 + Remove AvoidDictInterface
* dispatcher:fix func of \_match\_metric
* Switch to PyMySQL and enable MySQL on py34
* indexer: enable MySQL schema migration test
* Move SQL backends to requirements
* Add missing License file
* Add more tests for archive policy rule
* Remove redundant metric tests from test\_rest
* pass LANG into testing environment
* Run functional tests using virtualenvs in devstack
* Remove redundancy in ArchivePoliciesController tests
* Change the type of flavor\_id from int to string
* Remove unreachable return statement
* Add more gabbi test coverage for metrics
* Ensure the indexer is disconnected in gabbi fixtures
* tests: start/stop coord before using it
* Sync requirements between Python and Python 3
* Cover and correct unicode handling in mod\_wsgi setup
* Install redis-server if needed
* indexer: use binary UUIDType
* sqlalchemy: use RDBMS check constraint where available
* Add Alembic support
* sqlalchemy: name FK constraints
* sqlalchemy: resource\_history.id is not nullable
* sqlalchemy: remove 'metric' from enum type
* Create a project long description in README file
* Add gabbi tests for the NamedMetricController
* Handle a 404 when posting a new named metric
* Add a gabbi check for valid user and project uuid
* Remove usage of dict for gnocchi object
* Generate configuration file in default tox target
* Filter more swift metrics
* Load archive\_policy named resource metric
* Add html rendering for measurements of aggregation
* ceilometer: Use http session in dispatcher
* devstack: Change default backend to file
* Fix the minimum required tooz version
* Correct use of phases in devstack plugin
* Install the gnocchi heat plugin
* Fix minimum version for keystonemiddleware
* Remove version constraints for oslo.db dependency

1.0.0rc1
--------

* rest: add a test for measures with no mean agg method in AP
* Fix resources rendering in web browsers
* rest: fix access to metric for owned resources
* Fix gnocchi-statsd can't start by flush\_delay
* doc: fix typo about duration/lifespan
* doc: create metrics when creating a resource
* Update doc about storage/indexer drivers
* Fix value for default\_archive\_policy
* Include Ceilometer dispatcher YAML file in tarball
* Adds missed history param into IndexerDriver list\_resource method
* Return detailed metric info on create
* Use Archive Policy Rule in create metric api
* Fix typo in policy name
* Use lazy loading of gnocchi project to filterout
* Use project instead of user for activity filter
* devstack: Fix the creation of archive policy
* return 404 on not-existing resource
* Let WebOb read the body of a PATCH when creating docs
* Add support for ArchivePolicy Rule Endpoints
* devstack: sync the apache template
* Fixes the setup of the keystonemiddleware
* Remove an xfail test that is now handled by another test
* doc: fixes a few typos and update some data
* Correctly enable keystone middleware
* Documentation typo
* Implements ETag for resource
* Keep history of updated resource attributes
* indexer: add support for filtering by duration
* Allow comparison of timestamp field to None
* Move JSON encoding routing in its own module
* Avoid query metric object twice from indexer
* Don't touch the sqla orm object
* gabbi: merge metric and metrics test files
* rest: pass the whole metric to aggregation
* rest: do not use expect\_error in tests
* rest: enhance metric retrieval in controllers
* Adding Gabbi Tests to Metric(s) API
* indexer: return resource objects rather than dict
* indexer: return objects rather than dict
* rest: allow to search for metric value
* Move common resource attributes into a mixin
* Add gabbi tests to cover the ArchivePoliciesController
* Adjust ResourcesController to provide get\_all()
* Update resource.yaml to reflect recent fixes
* rest: Add list of resources types URL on /v1/resource
* Only query metrics by uuid if we have uuids
* rest: encode all timestamps with timezone
* Bump to oslo.serialization 1.4.0
* Use modern versions of the oslo packages
* Don't use static host string in dispatcher test
* Fix gnocchi repository url
* Update .gitreview for project rename
* storage: pass query rather than predicate in value\_search
* rest: add more operators in complex queries
* swift: retry if content length is 0
* tests: drop testscenarios usage for storage
* Correct handling of fixtures and server in gate tests
* rest: validate metric format before using it in indexer
* Put gnocchi meters in prefixed swift containers
* rest: validate UUID before sending it to indexer
* carbonara: stop caring about other less precise points
* Adds resource description in doc
* Improves resource class names in rest
* Add dist to gitignore
* Generate the testr results html format
* Add support for per metric Archive Policy
* Make '/' URL return meaningful information about API versions

1.0.0a1
-------

* storage: add a test for delete inexistent metric
* sqlalchemy: enhance QueryTransformer
* Remvoe version, add URL and other fields
* Add 'image' resource support
* Add 'stack' resource
* Enforce policy before request validation
* Add ipmi resource
* Add identity resource
* Add network resource
* Add ceph\_account resource
* refactor indexer.sqlalchemy
* Remove useless cachetools
* Use six.text\_type() to convert exceptions
* test: Use gabbi tests on live gnocchi-api
* Add AggregationDoesNotExist exception
* Don't use MultiStrOpt
* devstack: set the gnocchi url for ceilometer-alarm
* fix wrong quote format in doc/devstack.rst
* storage: add measure query class
* rest: fix exception JSON encoding
* ceph: ensure object name are str
* rest: uses search query to filter on metric aggregation
* rest: change metric aggregation URL
* test: remove useless variable
* test: move a test\_capabilities out of scenarios
* rest: remove PATCH schemas
* storage: add support for value research
* devstack: fix creation of the swift reseller admin
* tests: copy archive policy before modifying it
* default pecan debug to false
* Remove direct usage of iso8601
* Remove ceilometer alarm stuffs
* tests: make authtoken less verbose
* tests: stop generating scenarios for all indexer
* rest: return a correct error code if NotImplemented
* Switch to oslo.policy
* Stop using global cfg.CONF object
* Remove Python 3.3 from tox
* rest: run the tests with no auth
* rest: replace list+filter by search mechanism
* Add a chart for each metric when viewing a resource in a browser
* Add HTML rendering for "/v1/resource/generic/<resource\_id>" URL
* indexer: allow created\_by\_{user,project}\_id to be null
* gabbi: add "" around some strings
* Fix uuid format of post resource
* carbonara: percentile must be a float
* Add the nova shiny test output
* Cover the basic resource API with gabbi tests
* ceph: don't rely on a particular agg. method
* Remove a redundant existence check in resource PATCH
* Add a py27-cover tox target
* Move oslotest from requirements to test-requirements
* service: validate default values
* archive\_policy: have a sane default list of agg methods
* Base infrastructure to support gabbi tests
* rest: implement complex query for resource listing
* Put dbname in the path section of postgresql URL
* Start statsd service correctly
* Move and fix statsd option
* Fix statsd documentation file extension
* Add volume resource
* devstack: fix plugin with rename of get\_or\_add\_user\_role
* storage: pass the archive policy in various methods
* Initial statsd daemon implementation
* tests: add a missing random metric name
* tests: randomize metric name
* devstack-gate: fix gate hooks
* Use werkzeug to run the developement API server
* devstack: change Gnocchi service type to metric
* tests: do not set debug mode
* devstack-gate: allow to configure drivers
* Add some instance metrics
* remove hacking exception gettextutils
* carbonara: implement nanosecond support
* rest: add support for percentile as aggregation method
* carbonara: add support for percentile
* Fix aggregation race when no timeserie exists
* Fix devstack setup when swift is not installed
* Fix gnocchi alarm validation
* Add ceilometer alarm rule and evaluator
* Update oslo-incubator
* rest: allow aggregation against any metrics
* Add capabilities documentation
* Detect the left/right boundary of an aggregate
* Add gate hook that test the devstack setup
* rest: cascade delete on metrics from resources
* Declare method static where needed
* Use --no-defaults with mysql database creation
* carbonara: use dropna() rather than ~isnull()
* carbonara: clean up useless code
* carbonara: add serialize\_to\_file()
* carbonara: do not iterate over values
* carbonara: set all values at once
* Add Carbonara CLI tools
* Add capabilities API
* rest: allow to specify the list of aggregation methods
* indexer: store aggregation methods in archive policies
* Duration performance test
* tests: fix relative test failing sometimes
* Partially revert database tests patches
* Fix order of arguments in assertEqual
* storage/carbonara: stop using pandas
* rest: allow to use relative timestamps
* Remove useless requirements
* Devstack plugin for Gnocchi
* Fix ResourceSchema to allow None user\_id and project\_id
* Improve database handling in tests
* Adds missing argument in function call
* Switch to file:// coordination by default
* tox: fix doc8 command in py27
* rest, indexer: make the JSON encoder UUID aware
* ceph: use ceph instead of tooz for locking
* Add ceph as storage driver
* duplicate UUID method
* Switch to oslo.log
* rest: allow to render measures in HTML
* indexer: use ArchivePolicy in create\_archive\_policy()
* Allows cross-metric-aggreg. with missing points
* Use oslo.serialization.jsonutils to serialize JSON
* Upgrade to hacking 0.10
* Store aggregation\_methods in ArchivePolicy
* Fix ceilometer dispacher to conform to the new name
* tests: fix AP retrieval
* storage: change create\_metric() to accept ArchivePolicy as argument
* Create an archive\_policy module
* indexer: only load metrics on explicit demand
* Check RBAC policy on aggregated metric access
* rest: do not retrieve the metric twice in get\_all()
* Allow to retrieve several metrics at once from the indexer
* rest: fix typo in metric policy
* Disallow linking resources and metrics from different users
* rest: allow to filter metrics listing by user/project
* carbonara: store timestamps as integer, not string
* Remove py33-postgresql
* Update oslo-incubator
* tests: use non-admin user by default in test
* indexer: do not delete metric on resource delete
* policy: fix creator rule
* rest: convert UUID in token to correct format
* rest: enhance enforce context
* Fix executor using in \_carbonara
* rest: allow timespans to be integers
* rest: return 404 on not found instead of 400
* \_carbonara: fix futures import
* Update futures from global requirements
* storage: switch default driver to file
* opts: add missing oslo-incubator options
* rest: check that the Content-Type is JSON
* indexer: simplify resource ↔ metric relationship
* rest: allow to delete archive policies
* indexer: add delete\_archive\_policy
* indexer, rest: simplify metric model
* rest: allow to list metrics via GET /v1/metric
* Remove sphinx from Python 3 requirements
* aggregates: added moving average
* docs: generate HTTP request from real data
* Remove useless dependencies
* Allows to get aggregated measurements of metrics
* Remove mox from import exceptions
* rest: add policy to list all resource
* rest: add policy for resources
* rest: add policy check for archive policy creation
* rest: add policy for archive policies listing
* rest: add policy enforcement for archive policy retrieval
* Fix Ceilometer dispatcher after i18n transition
* Use oslotest as base class for unittests
* rest: return 400 when creating resource with invalid metric
* rest: return 404 if metric id is empty
* rest: return 404 on non existent archive policy
* tests: use SQL scripts to setup env and run any command
* Fix doc8 errors
* extension for moving aggregates
* indexer: fix typo in docstring
* rest, indexer: allow the {user,project}\_id to be empty
* rest: implement policy check for create entity
* rest: add policy support for get entity
* rest: add policy for delete entity
* policy: change default rules
* Rename Entity to Metric
* ceilometer: remove useless variables from dispatcher
* Add keystone support to ceilometer dispatcher
* rest: add and expose back\_window attribute of archive policies
* Allows to filter out the gnocchi generated samples
* Add a gnocchi dispatcher for ceilometer
* Allow to run any version of Pecan, except 0.8
* rest, indexer: store creators of the resources
* rest: remove Carbonara exception leak
* rest: add policy for get measures
* rest: implement policy checks for post measures
* Switch posix\_ipc dependency to sysv\_ipc
* Import policy from oslo-incubator
* Update oslo-incubator
* Fix and test the NullStorage driver
* storage: merge coordination and carbonara
* doc: fix typo in resource type type
* Add get\_entity method in indexer
* rest: allow to have infinite retention in policies
* Minor readability improvements to carbonara
* storage: do not include to\_timestamp in the range
* Remove custom 204 response code setting
* rest: validate archive policies definitions
* carbonara: fix the default fetch() behavior
* carbonara: fix archive back window
* Remove assertEqual when request method has params for it
* Move oslosphinx to requirements
* storage: multi-thread add\_measure in Carbonara based drivers
* storage: factorize carbonara based drivers
* Add '?details=true' to GET '/v1/entity/<entity\_id>' route
* postgresql: redirect logs to /dev/null
* Add 'GET' routes to retrieve Entity informations
* Import documentation
* Use 'pg\_ctl' instead of 'postgres' utility to start and stop database
* Allow to filter resources on NULL values
* Empty gnocchi/tests/\_\_init\_\_.py
* Ensure Location header are string
* Limit Pecan version, fix Pandas usage
* rest: granularity is also a Timespan
* rest: allow to use timespan to define archive policy
* Don't raise 500 on carbonara NoDeloreanAvailable
* rest: add a test on GETing a non existent archive policy
* Set a minimal version for oslo.utils
* Use basepython instead of baseversion
* Fix python3 gate issue
* Keep gnocchi/\_\_init\_\_.py empty
* Fix typo in gnocchi wsgi script
* Add server\_group to instance resource
* Don't try to load empty middleware
* rest: enable Keystone auth\_token middleware by default
* Add config generator support
* Update oslo-incubator
* rest: add support for create/get archive policies
* indexer: remove entities from Entity
* tests: fix race condition on archive policies
* sqlalchemy: remove with\_for\_update()
* indexer: store archive policies
* Fix pep8 errors
* Switch user\_id and project\_id to be UUID
* Update to latest oslo-incubator
* Allows to append entities to a resource
* Ensures ipc semaphore are released in our tests
* Add swift\_account resource
* Fix and re-renable Python 3 testing
* Stop using oslo-incubator lockutils
* storage: switch to ipc:// coordinator by default
* Remove outdated option
* Provide the gnocchi wsgi script
* rest: store archive\_policy and export entities as resources
* Connect to database before upgrading it
* Return 404 if patched resource doesn't exists
* Stop using standard NotImplementedError to skip tests
* sqlalchemy: use new DBReferenceError from oslo.db
* indexer: make entities be resources
* storage: implement archiving policy
* Add support for mysqld not in $PATH
* indexer: use sqlalchemy-utils for UUID type
* Fix tests with latest releases of testtools
* Work toward Python 3.4 support and testing
* Added file storage backend
* Remove pandas version limitation
* swift: avoid doing a HEAD to check container presence
* Switch to tooz 0.3
* rest: returns 404 on entity not found rather than 400
* Use oslo new libraries
* rest: allow to access named entities via resources
* tests: explicitly close index connections
* Allow up to 100 connections in PG for tests
* Switch to oslo.db
* api: allow to retrieve resources details when listing
* indexer: allow to retrieve details on resources
* swift: remove compression
* carbonara: change time serie aggregation implementation
* tests: fix MySQL tests
* Update hacking
* Update oslo-incubator
* Import oslo units module
* Fix test with pecan>=0.6
* carbonara: remove useless method
* Avoid 409 Conflict on entity deletion
* Add upper bound on pecan dependency
* rest: verify that archives values are > 0
* Allow more than 2 measurements per entity to be stored
* Fix up examples in README.rst
* Fix typo
* Remove debug code
* rest: factorize resource\_class
* rest: allow to PATCH instance attributes
* tests: factorize patchable attribute testing
* Remove architecture attribute from instance
* rest: returns 409 when trying to recreate a resource
* Set project name when parsing configuration
* tests: run on MySQL too
* indexer: allow to update any attribute
* indexer, rest: allow to filter on any resource attribute
* rest: allow to use project\_id to filter projects
* Fixed ReST syntax errors
* Adds install instructions to Gnocchi README
* Imposed string length limit in sqlalchemy.py
* indexer: allow to filter by project\_id
* sqlalchemy, tests: fix table creation race condition
* sqlalchemy: fix ended\_before
* rest: allow to filter via user\_id
* indexer: allow to filter by user\_id
* Limit pandas version
* Ignore pbr generated files
* indexer, rest: add support for ended\_before
* Port to Python 3
* Add gnocchi-dbsync command
* Rename integ to PostrgeSQL
* Add .gitreview file, do not run integ tests by default
* rest: allow to pass started\_after in listing requests
* indexer: allow to retrieve resources with started\_after
* rest: add resource listing
* indexer: implements list\_resources()
* rest: properly handle already existing resource
* rest: support instance CRUD
* Store resource type in SQL
* Factorize resource\_type
* Allow to retrieve instances
* Factorize more code
* Rename 'resource' to 'generic'
* Move generic resources under /generic
* Factorize resource to dict return
* Allow to create instances in the indexer
* Add support for Unix timestamps in API
* Fix timestamp issues + use transactions
* Handle patching of ended\_at
* Fix voluptuous validation/conversion
* indexer: allow to update resource ended\_at
* Handle patch with non existent entity
* Correctly handle PATCH on non-existent resource
* Use PATCH to modify entities
* Force user/project to be set
* Allow to specify start/stop timestamp when creating resources
* Return user/project in resources
* Store start/end timestamps in resources
* Actually allow to update entities only
* Add user\_id and project\_id to resources
* Allow to GET resources
* Allow to update resources
* Fix indent
* Fix pep8 errors
* Allow to delete resources
* Allow to create entities with a resource
* Allow to create resources via the REST API
* Rename entity name attribute to id in REST
* Add a name to entities linking
* Remove tooz from external/unverified
* indexer: store entity as UIDs
* rest: do not allow to specify the entity name
* Import
