[release-announce] freezer-api 7.0.0 (stein)

no-reply at openstack.org no-reply at openstack.org
Mon Dec 10 04:57:04 UTC 2018


We are happy to announce the release of:

freezer-api 7.0.0: OpenStack Backup and Restore API Service

This release is part of the stein release series.

Download the package from:

    https://tarballs.openstack.org/freezer-api/

For more details, please see below.

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!

Changes in freezer-api 7.0.0.0b1..7.0.0
---------------------------------------

a73b804 Support search otion and limit, offset for sqlalchemy
c480fa5 Change openstack-dev to openstack-discuss
cdd34ec Add search option for list query
75d07f6 Add search_client unit test for search option from client cmd
95da463 Add search_client unit test for search option from client api
7b55e1b Add client search for sql
1cc79e1 Add search_session unit test for search option from client cmd
6cfcf2c Add search_action unit test for search option from client cmd
7927579 Add search_session unit test for search option
4862eb0 Add search_action unit test for search option from client api
11977ba Add backup search for sql
f75a21c Add search_job unit test for search option from freezer client cmd
cfcb707 Add search_job unit test for search option from freezer agent
1492a5e Support search in search_action for sqlalchemy
b0b18bb Support search in search_session for sqlalchemy
2d5a483 Freezer scheduler search jobs error for sqlalchemy
57835be Add client search unit test for sql
8a351cc Add client delete unit test for sql
51b1e8e Add backup search unit test for sql
25376c4 Add session search unit test for sqlalchemy
3aa1b1d Add job search unit test for sqlalchemy
8f4a306 Add job replace unit test for sqlalchemy
15ef824 Add session replace unit test for sqlalchemy
df2993f Add backup delete unit test for sql
e3b5353 Add action search unit test
08e22ad Add session update unit test for sqlalchemy
d9007cf Add job update unit test for sqlalchemy
c084016 Add action replace unit test for sql
c0f3449 Add action update unit test for sql
ee85197 Add session delete unit test for sqlalchemy
3ec01e7 Add backup unit test for sql
bf682fa Add job delete unit test for sqlalchemy
38c4a0b Add unit test for session table in sqlalchemy
18d0df6 Add client add and get unit test for sql
758830a Correct session_tag field type error
320b357 Add action delete unit test for sql
54c0e5c Add unit test for job table in sqlalchemy
421cb41 Add Action unit test for sql
0c23230 Update freezer-tempest-basic-salqlchemy job as a voting job
463c13a Add freezer-tempest-basic-sqlalchemy job in freezer-api
944e16b Fix tempest failure in sqlalchemy driver
ab7d385 Add unit test framework for sqlalchemy driver
50f65ae Refactor sql driver api
9aa9028 Update jobs(v2) api-def
27403cc Don't quote {posargs} in tox.ini
75c1b64 Update min tox version to 2.0
6925ba2 modify document for api version v1 support for sql driver
d1a5e93 Correct errors about freezer-api supporting for V1 and V2 api
fc701f9 add api version v1 support for sql driver
4cf9e1c Upgrade Checkers : spelling correction
ca1c830 Update tox.ini
bffde58 Add devstack sqlalchemy support for freezer
cb83529 Update clients(v2) api-ref
63927a3 set enable_v1_api=false in config sample
1130896 Update backups(v2) api-ref
25a9065 Modify driver for bp add-mysql-support-for-freezer
88ce38c Add freezer-manager-status upgrade check command framework
48ea1e4 Fix a typo in delete job api
d79df98 Update  actions-v2 api-ref
cee24d3 Update  Backup Service api-ref
60b1cb7 Add jobs api for bp add-mysql-support-for-freezer
83fb412 Add backup api for bp add-mysql-support-for-freezer
aacbe8a Add backup table for bp add-mysql-support-for-freezer
796c41a Add jobs table for bp add-mysql-support-for-freezer
6064f9f Add session api for bp add-mysql-support-for-freezer
83d1996 Add session table for bp add-mysql-support-for-freezer
d2e1c19 Release the notes about Sqlalchemy driver for freezer-api
4f68595 Add action api for bp add-mysql-support-for-freezer
8c63de5 Add action table for bp add-mysql-support-for-freezer
9db61ba Add clients api for bp add-mysql-support-for-freezer
93a000a Change config_id to client_id in clients table
522e55a Add clients table for bp add-mysql-support-for-freezer
1937caa Add sqlalchemy migration in v2 for bp add-mysql-support-for-freezer
45f06cb There are errors in executing session-add-job in v2 interface
4db4a6c Add freezer_api.api.v2.homedoc unit test cases
3bded47 Add gate/check test job
b76b4bc Fix freezer_api.api.v2.sessions bug: doc.items() is not a iter object
1178086 Add freezer_api.api.v2.jobs unit test cases
ef24c92 Add freezer_api.api.v2.clients unit test cases
4aa9702 Add unit test cases of v2 interfaces: backup
023616a when installing from pip python plugin is embedded in the binary
5fbb03d Add unit test cases of v2 interfaces: action.
339bff2 Adjust unit test directory.
45b9bc9 Modifying code comments errors.  "v1" modified to "v2",and add new parameter {project_id}
fc08821 Remove ababdoned code.
2b45672 python3.6 expects 'encoding' as keyword argument.
1424395 add python 3.6 unit test job
e6fdd0b switch release job to python 3
d1f713e import zuul job settings from project-config
32ac17c fix bug link in readme
2c2e604 fix request mock object due to change in oslo.policy
85b8aee fix tox python3 overrides
fc4fb5a update pylint to 1.9.2
db4b507 Add py36 testenv
8e6f9c7 fix pep8 error under python 3
67e5953 Rework AseertEqual params order in freezer-api from (got, expected) to (expected, got)
a4a68b3 Delete request for non-existent ID will be 404.


Diffstat (except docs and test files)
-------------------------------------

.zuul.yaml                                         |   48 +
README.rst                                         |    2 +-
api-ref/source/v1/actions-v1.inc                   |    9 +-
api-ref/source/v1/backups-v1.inc                   |    7 +
api-ref/source/v1/clients-v1.inc                   |    7 +
api-ref/source/v1/index.rst                        |    6 +-
api-ref/source/v1/jobs-v1.inc                      |    7 +
api-ref/source/v1/parameters.yaml                  |    9 +
.../source/v1/samples/actions-list-request.json    |   12 +
api-ref/source/v1/samples/backup-list-request.json |   12 +
.../source/v1/samples/clients-list-request.json    |   12 +
api-ref/source/v1/samples/jobs-list-request.json   |   12 +
.../source/v1/samples/sessions-list-request.json   |   12 +
api-ref/source/v1/sessions-v1.inc                  |    7 +
api-ref/source/v2/actions-v2.inc                   |  252 +++++
api-ref/source/v2/backups-v2.inc                   |   91 +-
api-ref/source/v2/clients-v2.inc                   |  186 ++++
api-ref/source/v2/index.rst                        |    6 +-
api-ref/source/v2/jobs-v2.inc                      |  183 +++-
api-ref/source/v2/parameters.yaml                  |  239 ++++-
.../source/v2/samples/actions-create-request.json  |   15 +
.../source/v2/samples/actions-create-response.json |    4 +
.../source/v2/samples/actions-get-response.json    |   19 +
.../source/v2/samples/actions-list-request.json    |   12 +
.../source/v2/samples/actions-list-response.json   |   44 +
.../source/v2/samples/actions-update-request.json  |   15 +
.../source/v2/samples/actions-update-response.json |    5 +
api-ref/source/v2/samples/backup-get-response.json |   39 +
api-ref/source/v2/samples/backup-list-request.json |   12 +
.../source/v2/samples/backup-list-response.json    |    2 +
api-ref/source/v2/samples/client-get-response.json |   11 +
.../source/v2/samples/clients-create-request.json  |    8 +
.../source/v2/samples/clients-create-response.json |    1 +
.../source/v2/samples/clients-list-request.json    |   12 +
.../source/v2/samples/clients-list-response.json   |   26 +
api-ref/source/v2/samples/job-create-request.json  |    2 -
api-ref/source/v2/samples/job-get-response.json    |   41 +
api-ref/source/v2/samples/job-update-request.json  |   25 +
api-ref/source/v2/samples/job-update-response.json |    1 +
api-ref/source/v2/samples/jobs-list-request.json   |   12 +
api-ref/source/v2/samples/jobs-list-response.json  |    6 +-
.../source/v2/samples/session-start-request.json   |    6 +
.../source/v2/samples/session-start-response.json  |    4 +
.../source/v2/samples/sessions-create-request.json |   10 +
.../v2/samples/sessions-create-response.json       |    4 +
.../source/v2/samples/sessions-get-response.json   |   16 +
.../v2/samples/sessions-get-with-job-response.json |   26 +
.../source/v2/samples/sessions-list-request.json   |   12 +
.../source/v2/samples/sessions-list-response.json  |   30 +
.../source/v2/samples/sessions-update-request.json |   10 +
.../v2/samples/sessions-update-response.json       |    5 +
api-ref/source/v2/sessions-v2.inc                  |  353 +++++++
devstack/README.rst                                |    5 +
devstack/lib/freezer-api                           |   57 +-
etc/freezer/freezer-api.conf.sample                |   48 +-
etc/freezer/freezer-paste.ini                      |    3 -
freezer_api/api/common/resource.py                 |    2 +-
freezer_api/api/common/utils.py                    |   10 +
freezer_api/api/v1/actions.py                      |   13 +-
freezer_api/api/v1/backups.py                      |   15 +-
freezer_api/api/v1/clients.py                      |   15 +-
freezer_api/api/v1/jobs.py                         |   12 +-
freezer_api/api/v1/sessions.py                     |   13 +-
freezer_api/api/v2/actions.py                      |   20 +-
freezer_api/api/v2/backups.py                      |   13 +-
freezer_api/api/v2/clients.py                      |   11 +-
freezer_api/api/v2/jobs.py                         |   21 +-
freezer_api/api/v2/sessions.py                     |   33 +-
freezer_api/api/versions.py                        |    3 +-
freezer_api/cmd/manage.py                          |    2 +-
freezer_api/cmd/status.py                          |   52 +
freezer_api/common/config.py                       |   50 +-
freezer_api/db/base.py                             |    1 +
freezer_api/db/elasticsearch/driver.py             |   11 +-
freezer_api/db/sqlalchemy/api.py                   | 1002 ++++++++++++++++++++
freezer_api/db/sqlalchemy/driver.py                |   39 +-
freezer_api/db/sqlalchemy/migrate_repo/__init__.py |    0
freezer_api/db/sqlalchemy/migrate_repo/migrate.cfg |   20 +
.../migrate_repo/versions/001_freezer_api_init.py  |  170 ++++
.../sqlalchemy/migrate_repo/versions/__init__.py   |    0
freezer_api/db/sqlalchemy/models.py                |  155 ++-
freezer_api/service.py                             |   13 +-
lower-constraints.txt                              |   45 +-
...l-support-for-freezer-api-e226f59425a2183c.yaml |   13 +
...s-upgrade-check-framework-f3d73fc7ee4c4b20.yaml |   13 +
requirements.txt                                   |    3 +-
setup.cfg                                          |    5 +-
test-requirements.txt                              |    4 +-
tox.ini                                            |   37 +-
128 files changed, 8738 insertions(+), 1861 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 8f6a80d..3d9337a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-elasticsearch<=3.0.0,>=2.0.0 # Apache-2.0
+elasticsearch<3.0.0,>=2.0.0 # Apache-2.0
@@ -16,0 +17 @@ oslo.policy>=1.30.0 # Apache-2.0
+oslo.upgradecheck>=0.1.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 82a56fd..9b95872 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-astroid<1.4.0 # LGPLv2.1 # breaks pylint 1.4.4
+astroid==1.6.5 # LGPLv2.1
@@ -6 +6 @@ flake8<2.6.0,>=2.5.4 # MIT
-pylint==1.4.5 # GPLv2
+pylint==1.9.2 # GPLv2






More information about the Release-announce mailing list