2025.1 Series Release Notes

22.0.0-3

New Features

  • A new module, cloudkitty.wsgi, has been added as a place to gather WSGI application objects. This is intended to ease deployment by providing a consistent location for these objects. For example, if using uWSGI then instead of:

    [uwsgi]
    wsgi-file = /bin/cloudkitty-api
    

    You can now use:

    [uwsgi]
    module = cloudkitty.wsgi.api:application
    

    This also simplifies deployment with other WSGI servers that expect module paths such as gunicorn.

Upgrade Notes

  • The WSGI script cloudkitty-api has been removed. Deployment tooling should instead reference the Python module path for the wsgi module in CloudKitty, cloudkitty.wsgi.api:application if their chosen WSGI server supports this (gunicorn, uWSGI, etc.) or implement a .wsgi script themselves if not (mod_wsgi).

22.0.0

New Features

  • Adds support to the OpenSearch and Elasticsearch v2 storage backends for using datastreams, rather than indices. These are useful when a cluster has multiple storage types, as data can be rotated from hot to cold storage when not in active use. The option use_datastream can be set under either [storage_elasticsearch] or [storage_opensearch].

  • The CloudKitty policies implemented the scope concept and new default roles (admin, member, and reader) provided by keystone.

  • Support for using Elasticsearch as a storage backend is not deprecated anymore. The Elasticsearch storage backend was deprecated in the Antelope release in favour of OpenSearch. The removal of the deprecation is made following licensing changes and demand from CloudKitty users.

Upgrade Notes

  • The storage_state.set_state method has been removed in favor of the storage_state.set_last_processed_timestamp method.

  • Python 3.8 support has been removed. The minimum python version supported is 3.9.

  • All the policies implement the scope_type and new defaults.

    • Scope

      Each policy is protected with project scope_type.

    • New Defaults (Admin, Member and Reader)

      Policies are default to Admin, Member and Reader roles. Old roles are also supported. There is no change in the legacy admin access.

Bug Fixes

  • Changes the metric collector exception handling to raise an exception instead of killing the processor when an error happens in the metric collect, so the problematic scope will be skipped till next collection and the other scopes will be processed normally.