Rating service for OpenStack
Go to file
Michael Krotscheck 98a13bc212 Added CORS support to CloudKitty
This adds the CORS support middleware to CloudKitty, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly.

For CloudKitty, we used the same gabbi fixtures and harnesses created for
ceilometer. A custom gabbi-paste.ini was created so that the API tests run
against the full wsgi application, and appropriate fixtures and tests were
created to correctly simulate the configuration state.

Hooks to ensure that cloudkitty's required HTTP headers are represented
both in the runtime defaults, and in the automatically generated config
file, have also been added.

OpenStack CrossProject Spec:
   http://specs.openstack.org/openstack/openstack-specs/specs/cors-support.html
Oslo_Middleware Docs:
   http://docs.openstack.org/developer/oslo.middleware/cors.html
OpenStack Cloud Admin Guide:
   http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html
DocImpact: Add link to CORS configuration in admin cloud guide.

Change-Id: I3ef96ca6c78c5e369fb09425871d0a57bf15ad8a
2016-03-25 08:50:54 +01:00
cloudkitty Added CORS support to CloudKitty 2016-03-25 08:50:54 +01:00
contrib Load wsgi app(api) with paste.deploy 2016-01-02 13:42:13 +08:00
devstack Merge "Load wsgi app(api) with paste.deploy" 2016-01-04 09:36:09 +00:00
doc Modify noop module code in arch.rst 2015-12-24 16:18:41 +08:00
etc Added CORS support to CloudKitty 2016-03-25 08:50:54 +01:00
.gitignore Add .DS_Store to .gitignore 2015-11-10 23:22:29 -06:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:00:44 +00:00
.testr.conf Added gabbi API tests 2015-09-17 08:50:13 +02:00
LICENSE Set copyright/license information in .py files 2014-06-07 09:14:06 +02:00
README.rst Updated files to the new namespace 2015-10-19 11:46:45 +02:00
requirements.txt Updated from global requirements 2016-03-25 01:14:12 +01:00
rtd-requirements.txt Removes unused posix_ipc requirement 2016-02-11 08:44:54 -08:00
setup.cfg Added CORS support to CloudKitty 2016-03-25 08:50:54 +01:00
setup.py Updated from global requirements 2016-03-25 01:14:12 +01:00
test-requirements.txt Updated from global requirements 2016-03-25 01:14:12 +01:00
tox.ini drop py33 and py26 env test 2015-12-23 17:07:07 +08:00

CloudKitty

Rating as a Service component

Goal

CloudKitty aims at filling the gap between metrics collection systems like ceilometer and a billing system.

Every metrics are collected, aggregated and processed through different rating modules. You can then query CloudKitty's storage to retrieve processed data and easily generate reports.

Most parts of CloudKitty are modular so you can easily extend the base code to address your particular use case.

You can find more information on its architecture in the documentation, architecture section.

Status

CloudKitty has been successfully deployed in production on different OpenStack systems.

You can find the latest documentation on readthedocs.

Contributing

We are welcoming new contributors, if you've got new ideas, suggestions or want to contribute contact us.

You can reach us thought IRC (#cloudkitty @freenode.net), or on the official OpenStack mailing list openstack-dev@lists.openstack.org.

A launchpad is available if you need to report bugs.

Additional components

We're providing an OpenStack dashboard (Horizon) integration, you can find the files in the cloudkitty-dashboard repository.

A CLI is available too in the python-cloudkittyclient repository.

Trying it

CloudKitty can be deployed with devstack, more information can be found in the devstack section of the documentation.

Deploying it in production

CloudKitty can be deployed in production on OpenStack Kilo environments, for more information check the installation section of the documentation. Due to oslo libraires new namespace backward compatibility is not possible. If you want to install it on an older system, use a virtualenv.