CHANGES
=======

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
