2023.1 Series Release Notes

10.0.0

Upgrade Notes

  • The default value of [oslo_policy] policy_file config option has been changed from policy.json to policy.yaml. Operators who are utilizing customized or previously generated static policy JSON files (which are not needed by default), should generate new policy files or convert them in YAML format. Use the oslopolicy-convert-json-to-yaml tool to convert a JSON to YAML formatted policy file in backward compatible way.

Deprecation Notes

  • Use of JSON policy files was deprecated by the oslo.policy library during the Victoria development cycle. As a result, this deprecation is being noted in the Wallaby cycle with an anticipated future removal of support by oslo.policy. As such operators will need to convert to YAML policy files. Please see the upgrade notes for details on migration of any custom policy files.

8.0.0

Upgrade Notes

  • Python 2.7 support has been dropped. Last release of freezer-api to support py2.7 is OpenStack Train. The minimum version of Python now supported by freezer-api is Python 3.6.

7.0.0

Prelude

Added new tool freezer-manager-status upgrade check.

Currently freezer-api v1 is the default api version to be used in different freezer components. Freezer-api v1 doesn’t support multi-tenancy and will be a blocker to support sqlalchemy. Freezer-api v2 was already implement and was being use as experimental. Freezer api v1 will be disabled by default in gate jobs

Currently freezer-api supports only elasticsearch as database engine. Elasticsearch is adding complexity in deploying and running freezer, the need and planning to move to sqlalchemy has been a moving target since Pike. Now freezer-api should be able to support sqlalchemy, it’s still under development, so not fully supported yet. There is work in progress to unify the database api so freezer can support more than one database driver at the same time.

New Features

  • Completely support sqlalchemy driver for freezer-api. The previous version only implemented part one. In this patch, sqlalchemy driver has been completely implemented for freezer-api. See links in detail: https://storyboard.openstack.org/#!/story/2004132 The configuration example is as follows: [database] connection = mysql+pymysql://root:stack@127.0.0.1/freezer?charset=utf8 [storage] backend = sqlalchemy driver = sqlalchemy

  • New framework for freezer-manager-status upgrade check command is added. This framework allows adding various checks which can be run before a Freezer API upgrade to ensure if the upgrade can be performed safely.

  • Fixed some minor bugs in freezer-api v2. Set freezer-api version 2 to stable and use it as the current version. The default behaviour of freezer now is to support multi-tenancy! All tempest tests are running against freezer api v2

  • Freezer support for sqlalchemy in development. freezer-manage fully supports sqlalchemy database now!

Known Issues

  • No Backward compitibility support!

  • No Backward compitibility support! sqlalchemy will be only supported for freezer api version 2

Upgrade Notes

  • Operator can now use new CLI tool freezer-manager-status upgrade check to check if Freezer API deployment can be safely upgraded from N-1 to N release.

Deprecation Notes

  • Freezer api version 1 is deprecated and will be out of support end of Rocky release, to be removed in future releases!.

Critical Issues

  • All Freezer mappings needs to be upgraded to reflect project_id. Now smooth upgrade facility is provided!

  • Freezer api version 1 is broken and won’t be supported!

Bug Fixes

  • Delete Backups using freezer-api v2

  • Fixed remove mappings in freezer-manage as elasticsearch removed this feature, so now we have to delete the index not individual mappings!

6.0.0

New Features

  • Freezer now support policy in code, which means if users didn’t modify any of policy rules, they can remove or comment out all of rules in policy file or even not deploy it at all. Because from now, Freezer keeps all default policies under freezer-api/common/policies module. Users can still modify/generate policy.yaml file which will override policy rules in code if those rules show in policy.yaml file.

Other Notes

  • Default policy.json file is now removed as Freezer now generate the default policies in code. Please be aware that when using that file in your environment.

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.