Pike Series Release Notes

5.0.0

Prelude

Currently freezer-api v1 doesn’t fully support multi-tenancy. In previous releases, we implemented oslo.policy to support multi-tenancy, but we need to add a new parameter to freezer-api which is the project_id. We need to modify the structure of freezer-api url so it accepts project_id parameter. Example of the old structure:: http://host_ip_address:9090/v1/jobs Example of the new structure:: http://host_ip_address:9090/v2/project_id/jobs

Currently Freezer uses Elastic Search (ES) as a database backend, which is a NoSQL database specialized for ranked query results. Elastic Search adds additional complexity to an OpenStack system. Most of the OpenStack components use a relational database management system (DBMS like MySQL or PostgreSQL) which is more common. It is more familiar how to maintain, troubleshoot and develop on top of relational databases. Also relational databases unlike ES database allow to perform rolling upgrades. Since Freezer related data turned out to be relational, it would be more convenient to use it trough the oslo.db pattern library. Using it, the database mapping would be more uniform to other OpenStack projects. It would be less challenging for new developers to contribute.

New Features

  • Added Freezer-api v2 which changes the structure of freezer-api urls to accept the newly added parameter, project_id.

    Fully support role based multi-tenancy with api v2.

  • Added support of oslo.db storage backend

Known Issues

  • It might break the backward compatibility.

Upgrade Notes

  • List upgrade notes here, or remove this section. All of the list items in this section are combined when the release notes are rendered, so the text needs to be worded so that it does not depend on any information only available in another section, such as the prelude. This may mean repeating some details.

  • oslo.db storage can be upgraded/downgraded using freezer-manage db sync command.

Deprecation Notes

  • Freezer api v1 will be deprecated with Pike release. It will be supported for another release, then will be removed completely.