[release][cloudkitty] cloudkitty 0.5.0 release (mitaka)
We are delighted to announce the release of: cloudkitty 0.5.0: Rating as a Service component for OpenStack This release is part of the mitaka release series. For more details, please see below. Changes in cloudkitty 0.4.1..0.5.0 ---------------------------------- 563b69f Added support for an hybrid gnocchi storage f7641aa Added gnocchi collector 9fe4552 Migrate from keystoneclient to keystoneauth 32f1645 policy: fix the roles setup in the requests context 1a9c279 Fixed devstack not creating folder for tooz locks 72a5364 Added distributed lock fixing horizontal scaling cfd16e3 Fixed meta collector not applying mappings 98a13bc Added CORS support to CloudKitty d43a369 Use IPOpt and PortOpt d71f167 Updated from global requirements 76db98a Improve default error handling on collector d36e1cb Cleanup unused conf variables 6e13dbb Refactor keystone tenant fetcher 9d367d4 Removes unused posix_ipc requirement f9b52a9 Test: make enforce_type=True in CONF.set_override f806413 Replace deprecated LOG.warn with LOG.warning a98d3b9 Load wsgi app(api) with paste.deploy 9c949b7 remove rating no match case 4ab4ee7 remove setting for option verbose 545bf13 Modify noop module code in arch.rst 8c2b33f drop py33 and py26 env test 8c60b90 remove unused method in orchestrator 50199eb Remove iso8601 dependency 77ef166 Deprecated tox -downloadcache option removed 77c4788 Fixed random failures in storage tests 84d4489 Loading scripts in memory when load pyscripts rating model e760e7d Remove unnecessary parameter 5fd110a Put py34 first in the env order of tox e1d574c Added unit tests for storage drivers f7d272f Fixed _NO_DATA_ insertion even when data was present 819e89f The result of tenant list may be unpredictable 91b6216 Fixed Horizon static file compression in devstack 534db79 Change not found HTTP status code from 400 to 404 f331366 Move global variables to settings file 399cb5a Fix error when using keystone v3 8d7f7e3 fixes error when get quote price from rpc b03f903 modify api of report total b3cfb53 Add .DS_Store to .gitignore d27b10d Add *.swp to .gitignore 6a23e61 Fixes sample rabbitmq config in doc 3563ac0 Tenant fetcher sometimes return wrong result 57690f1 Added AuthPlugin support in devstack 2019c85 Remove useless LOG definitions 7428e4a Delegate log formatting to logging package ecaa4e6 devstack: enable cloudkitty services by default 991ce79 Added more API calls for HashMap rating module 7949185 Removed version information from setup.cfg 77347ae Fixed files to support liberty dashboard 4be901f Updated files to the new namespace 8f61fa9 Update .gitreview for new namespace 4482d7d Added new rating module PyScripts 54e3cf8 Fix the sphinx build path in .gitignore file 04a9f0c Added gabbi API tests 03d6fc7 UnconfigurableController returns 409 on all methods 2950eac Removed default values on rating modules c06aa23 Fixed None value returned by report/total c926753 Added support for dynamic rating module reloading 8525b6f Fix the README file of the DevStack integration 7dbf3ac readthedocs doesn't allow multiple files anymore b8f30fd doc: document how to install from packages 6fd60b0 install doc: install policy.json in /etc/cloudkitty f43dfe5 Added support for Keystone AuthPlugins 1039e44 Moving to Liberty cycle (0.5) Diffstat (except docs and test files) ------------------------------------- .gitignore | 4 +- .gitreview | 2 +- .testr.conf | 1 + README.rst | 4 +- cloudkitty/__init__.py | 19 + cloudkitty/api/app.py | 55 +-- cloudkitty/api/middleware.py | 9 + cloudkitty/api/root.py | 3 - cloudkitty/api/v1/controllers/billing.py | 4 - cloudkitty/api/v1/controllers/collector.py | 4 +- cloudkitty/api/v1/controllers/rating.py | 107 ++++-- cloudkitty/api/v1/controllers/report.py | 7 +- cloudkitty/api/v1/controllers/storage.py | 9 +- cloudkitty/api/v1/datamodels/rating.py | 6 +- cloudkitty/api/v1/types.py | 2 +- cloudkitty/cli/dbsync.py | 2 +- cloudkitty/cli/processor.py | 7 - cloudkitty/cli/storage.py | 2 +- cloudkitty/cli/writer.py | 2 +- cloudkitty/collector/__init__.py | 43 ++- cloudkitty/collector/ceilometer.py | 51 ++- cloudkitty/collector/fake.py | 2 +- cloudkitty/collector/gnocchi.py | 274 +++++++++++++++ cloudkitty/collector/meta.py | 48 +-- cloudkitty/common/config.py | 2 - cloudkitty/common/context.py | 3 +- cloudkitty/common/defaults.py | 46 +++ cloudkitty/common/policy.py | 2 +- cloudkitty/common/rpc.py | 6 +- cloudkitty/config.py | 9 +- cloudkitty/db/__init__.py | 4 +- cloudkitty/db/api.py | 4 +- cloudkitty/db/sqlalchemy/api.py | 8 +- cloudkitty/db/sqlalchemy/models.py | 2 +- cloudkitty/i18n.py | 2 +- cloudkitty/orchestrator.py | 136 ++++---- cloudkitty/rating/hash/__init__.py | 26 -- cloudkitty/rating/hash/controllers/field.py | 4 +- cloudkitty/rating/hash/controllers/group.py | 26 +- cloudkitty/rating/hash/controllers/mapping.py | 9 +- cloudkitty/rating/hash/controllers/service.py | 4 +- cloudkitty/rating/hash/controllers/threshold.py | 9 +- cloudkitty/rating/hash/db/api.py | 4 +- cloudkitty/rating/hash/db/sqlalchemy/api.py | 9 +- cloudkitty/rating/hash/db/sqlalchemy/models.py | 2 +- cloudkitty/rating/noop.py | 4 +- cloudkitty/rating/pyscripts/__init__.py | 86 +++++ .../rating/pyscripts/controllers/__init__.py | 0 cloudkitty/rating/pyscripts/controllers/root.py | 27 ++ cloudkitty/rating/pyscripts/controllers/script.py | 134 +++++++ cloudkitty/rating/pyscripts/datamodels/__init__.py | 0 cloudkitty/rating/pyscripts/datamodels/script.py | 60 ++++ cloudkitty/rating/pyscripts/db/__init__.py | 0 cloudkitty/rating/pyscripts/db/api.py | 102 ++++++ .../rating/pyscripts/db/sqlalchemy/__init__.py | 0 .../pyscripts/db/sqlalchemy/alembic/__init__.py | 0 .../rating/pyscripts/db/sqlalchemy/alembic/env.py | 25 ++ .../pyscripts/db/sqlalchemy/alembic/script.py.mako | 22 ++ .../versions/4f9efa4601c0_initial_migration.py | 32 ++ cloudkitty/rating/pyscripts/db/sqlalchemy/api.py | 117 +++++++ .../rating/pyscripts/db/sqlalchemy/migration.py | 47 +++ .../rating/pyscripts/db/sqlalchemy/models.py | 108 ++++++ cloudkitty/service.py | 6 +- cloudkitty/storage/__init__.py | 68 +++- cloudkitty/storage/gnocchi_hybrid/__init__.py | 69 ++++ .../storage/gnocchi_hybrid/alembic/__init__.py | 0 cloudkitty/storage/gnocchi_hybrid/alembic/env.py | 25 ++ .../storage/gnocchi_hybrid/alembic/script.py.mako | 22 ++ .../versions/4c2f20df7491_initial_migration.py | 32 ++ cloudkitty/storage/gnocchi_hybrid/migration.py | 47 +++ cloudkitty/storage/gnocchi_hybrid/models.py | 86 +++++ cloudkitty/storage/sqlalchemy/__init__.py | 128 ++++--- cloudkitty/storage/sqlalchemy/models.py | 6 +- cloudkitty/tenant_fetcher/__init__.py | 2 +- cloudkitty/tenant_fetcher/fake.py | 2 +- cloudkitty/tenant_fetcher/keystone.py | 81 +++-- .../gabbi/rating/pyscripts/gabbits/pyscripts.yaml | 131 +++++++ cloudkitty/transformer/__init__.py | 15 + cloudkitty/transformer/gnocchi.py | 72 ++++ cloudkitty/utils.py | 29 +- cloudkitty/write_orchestrator.py | 2 +- contrib/cloudkitty.spec.in | 8 +- devstack/README.rst | 28 +- devstack/plugin.sh | 119 +++---- devstack/settings | 61 ++++ etc/cloudkitty/api_paste.ini | 16 + etc/cloudkitty/cloudkitty.conf.sample | 159 ++++++--- etc/oslo-config-generator/cloudkitty.conf | 6 +- requirements.txt | 48 +-- rtd-requirements.txt | 35 ++ setup.cfg | 8 +- setup.py | 3 +- test-requirements.txt | 24 +- tox.ini | 7 +- 122 files changed, 4878 insertions(+), 657 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a4b8cb2..f43ffcd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,23 +4,25 @@ -pbr>=0.6,!=0.7,<1.0 -eventlet>=0.16.1,!=0.17.0 -keystonemiddleware>=1.5.0,<1.6.0 -python-ceilometerclient>=1.0.13,<1.1.0 -python-keystoneclient>=1.1.0,<1.4.0 -iso8601>=0.1.9 -PasteDeploy>=1.5.0 -posix_ipc -pecan>=0.8.0 -WSME>=0.6 -oslo.config>=1.9.3,<1.10.0 # Apache-2.0 -oslo.context>=0.2.0,<0.3.0 # Apache-2.0 -oslo.concurrency>=1.8.0,<1.9.0 # Apache-2.0 -oslo.db>=1.7.0,<1.8.0 # Apache-2.0 -oslo.i18n>=1.5.0,<1.6.0 # Apache-2.0 -oslo.log>=1.0.0,<1.1.0 # Apache-2.0 -oslo.messaging>=1.8.0,<1.9.0 # Apache-2.0 -oslo.middleware>=1.0.0,<1.1.0 # Apache-2.0 -oslo.policy>=0.3.1,<0.4.0 # Apache-2.0 -oslo.utils>=1.4.0,<1.5.0 # Apache-2.0 -SQLAlchemy>=0.9.7,<=0.9.99 -six>=1.9.0 -stevedore>=1.3.0,<1.4.0 # Apache-2.0 +pbr>=1.6 # Apache-2.0 +eventlet!=0.18.3,>=0.18.2 # MIT +keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 +python-ceilometerclient>=2.2.1 # Apache-2.0 +gnocchiclient>=2.1.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +keystoneauth1>=2.1.0 # Apache-2.0 +iso8601>=0.1.9 # MIT +PasteDeploy>=1.5.0 # MIT +pecan>=1.0.0 # BSD +WSME>=0.8 # MIT +oslo.config>=3.7.0 # Apache-2.0 +oslo.context>=0.2.0 # Apache-2.0 +oslo.concurrency>=3.5.0 # Apache-2.0 +oslo.db>=4.1.0 # Apache-2.0 +oslo.i18n>=2.1.0 # Apache-2.0 +oslo.log>=1.14.0 # Apache-2.0 +oslo.messaging>=4.0.0 # Apache-2.0 +oslo.middleware>=3.0.0 # Apache-2.0 +oslo.policy>=0.5.0 # Apache-2.0 +oslo.utils>=3.5.0 # Apache-2.0 +SQLAlchemy<1.1.0,>=1.0.10 # MIT +six>=1.9.0 # MIT +stevedore>=1.5.0 # Apache-2.0 +tooz>=1.28.0 # Apache-2.0 diff --git a/rtd-requirements.txt b/rtd-requirements.txt new file mode 100644 index 0000000..86b0a3d --- /dev/null +++ b/rtd-requirements.txt @@ -0,0 +1,35 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +pbr<2.0,>=1.6 +eventlet>=0.17.4 +keystonemiddleware>=2.0.0 +python-ceilometerclient>=1.0.13 +python-keystoneclient>=1.6.0 +PasteDeploy>=1.5.0 +pecan>=1.0.0 +WSME>=0.7 +oslo.config>=2.3.0 # Apache-2.0 +oslo.context>=0.2.0 # Apache-2.0 +oslo.concurrency>=2.3.0 # Apache-2.0 +oslo.db>=2.4.1 # Apache-2.0 +oslo.i18n>=1.5.0 # Apache-2.0 +oslo.log>=1.8.0 # Apache-2.0 +oslo.messaging!=1.17.0,!=1.17.1,>=1.16.0 # Apache-2.0 +oslo.middleware>=2.6.1 # Apache-2.0 +oslo.policy>=0.5.0 # Apache-2.0 +oslo.utils>=2.0.0 # Apache-2.0 +SQLAlchemy<1.1.0,>=0.9.7 +six>=1.9.0 +stevedore>=1.5.0 # Apache-2.0 +hacking<0.10,>=0.9.2 +coverage>=3.6 +discover +testscenarios>=0.4 +testrepository>=0.0.18 +mock>=1.2 +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 +oslosphinx>=2.5.0 # Apache-2.0 +oslotest>=1.10.0 # Apache-2.0 +sphinxcontrib-httpdomain +sphinxcontrib-pecanwsme>=0.8 diff --git a/test-requirements.txt b/test-requirements.txt index 769c650..b761433 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4,11 +4,13 @@ -hacking>=0.9.2,<0.10 -coverage>=3.6 -discover -testscenarios>=0.4 -testrepository>=0.0.18 -mock>=1.0 -sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 -oslosphinx>=2.5.0,<2.6.0 # Apache-2.0 -oslotest>=1.5.1,<1.6.0 # Apache-2.0 -sphinxcontrib-httpdomain -sphinxcontrib-pecanwsme>=0.8 +hacking<0.10,>=0.9.2 +coverage>=3.6 # Apache-2.0 +discover # BSD +gabbi>=1.11.0 # Apache-2.0 +mox3>=0.7.0 # Apache-2.0 +testscenarios>=0.4 # Apache-2.0/BSD +testrepository>=0.0.18 # Apache-2.0/BSD +mock>=1.2 # BSD +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +oslotest>=1.10.0 # Apache-2.0 +sphinxcontrib-httpdomain # BSD +sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
participants (1)
-
no-reply@openstack.org