[karbor] karbor 0.3.0 (pike)
We are satisfied to announce the release of: karbor 0.3.0: Application Data Protection as a Service for OpenStack This release is part of the pike release series. The source is available from: https://git.openstack.org/cgit/openstack/karbor Download the package from: https://tarballs.openstack.org/karbor/ Please report issues through launchpad: https://bugs.launchpad.net/karbor For more details, please see below. Changes in karbor 0.2.1..0.3.0 ------------------------------ 6a549fc Add Cinder snapshot plugin implementation for karbor fd8a1da Updated from global requirements b1ddfa7 Remove unnecessary setUp function in testcase abff6c3 Updated from global requirements f048a12 Use get_rpc_transport instead of get_transport 9e7e034 Replace LOG.warn with LOG.warning c70e418 Add a fullstack test for the file system based bank 85af001 The file system based bank implementation de25529 Fix html_last_updated_fmt for Python3 ffe1b8f Add a verification about restore's parameter b8c6a56 Trivial fix typos b1255e1 Refactor resource.py/Resource b4f3e9d Updated from global requirements 78eec8b Updated from global requirements df8c9e8 Add manila share protection plugin for karbor 548bea8 Refactor volume restore function d5718bd Use uwsgi for devstack 919712f Add a verification about the protect property of plan's parameter 35e461e Updated from global requirements f80d062 Add spec for cinder volume snapshot plugins 4096296 Add requires parameter of 'restore' 174111f remove reduplicative fuction definition of 'status_poll' 994eb4e Replace assertRaisesRegexp with assertRaisesRegex e24ba1c Fix fullstack error about a share protectable test f0df704 Spec: remove Heat dca5ff0 Remove redundant ctor super calls, add missing 7731d6c Switch crontab to calendar Diffstat (except docs and test files) ------------------------------------- api-ref/source/conf.py | 3 +- .../source/v1/karbor-v1-scheduled-operations.inc | 2 +- api-ref/source/v1/karbor-v1-triggers.inc | 2 +- api-ref/source/v1/parameters.yaml | 4 +- .../source/v1/samples/trigger-create-request.json | 18 +- .../source/v1/samples/trigger-create-response.json | 20 +- .../source/v1/samples/trigger-update-request.json | 16 +- .../source/v1/samples/trigger-update-response.json | 20 +- .../source/v1/samples/triggers-list-response.json | 10 +- devstack/devstackgaterc | 4 +- devstack/plugin.sh | 70 +++-- devstack/settings | 22 +- etc/providers.d/openstack-fs-bank.conf | 12 + .../openstack-infra-volume-snapshot.conf | 18 ++ etc/providers.d/openstack-infra.conf | 1 + karbor/api/v1/plans.py | 39 ++- karbor/api/v1/protectables.py | 4 - karbor/api/v1/providers.py | 8 - karbor/api/v1/restores.py | 4 - karbor/cmd/manage.py | 9 - karbor/db/api.py | 2 +- karbor/exception.py | 15 + karbor/loadables.py | 1 + karbor/resource.py | 32 ++- karbor/rpc.py | 5 +- karbor/service.py | 2 + .../operationengine/engine/executors/base.py | 3 +- .../executors/scheduled_operation_executor.py | 3 - .../engine/triggers/timetrigger/time_trigger.py | 7 +- .../timetrigger/timeformats/crontab_time.py | 1 + .../services/operationengine/operation_manager.py | 1 + karbor/services/operationengine/operations/base.py | 1 + .../operations/protect_operation.py | 3 - .../services/operationengine/user_trust_manager.py | 1 + karbor/services/protection/bank_plugin.py | 3 + .../bank_plugins/file_system_bank_plugin.py | 190 +++++++++++++ karbor/services/protection/checkpoint.py | 1 + karbor/services/protection/clients/eisoo.py | 2 +- karbor/services/protection/flows/delete.py | 6 - karbor/services/protection/flows/protect.py | 16 +- karbor/services/protection/flows/restore.py | 16 -- karbor/services/protection/flows/worker.py | 1 + karbor/services/protection/flows/workflow.py | 3 - karbor/services/protection/graph.py | 5 +- karbor/services/protection/manager.py | 49 +++- karbor/services/protection/protectable_plugin.py | 1 + karbor/services/protection/protectable_registry.py | 12 +- karbor/services/protection/protection_plugin.py | 4 +- .../image/image_protection_plugin.py | 28 +- .../protection/protection_plugins/noop_plugin.py | 6 - .../server/nova_protection_plugin.py | 12 - .../protection_plugins/share/__init__.py | 0 .../share/share_snapshot_plugin.py | 305 ++++++++++++++++++++ .../share/share_snapshot_plugin_schemas.py | 58 ++++ .../protection/protection_plugins/utils.py | 51 ++++ .../volume/cinder_protection_plugin.py | 112 ++++---- .../volume/volume_snapshot_plugin.py | 306 +++++++++++++++++++++ .../volume/volume_snapshot_plugin_schemas.py | 64 +++++ karbor/services/protection/provider.py | 2 +- karbor/services/protection/resource_flow.py | 2 +- karbor/services/protection/restore_heat.py | 2 + .../unit/objects/test_scheduled_operation_log.py | 3 - .../unit/objects/test_scheduled_operation_state.py | 1 + .../engine/executors/test_green_thread_executor.py | 1 + .../engine/triggers/test_trigger_manager.py | 20 +- .../triggers/timetrigger/test_time_trigger.py | 89 +++--- .../timetrigger/timeformats/test_calendar_time.py | 24 +- .../timetrigger/timeformats/test_crontab_time.py | 16 +- .../operations/test_protect_operation.py | 1 + .../protection/test_cinder_protection_plugin.py | 122 ++++++-- .../test_cinder_snapshot_protection_plugin.py | 198 +++++++++++++ .../protection/test_file_system_bank_plugin.py | 82 ++++++ .../protection/test_glance_protection_plugin.py | 4 +- .../protection/test_manila_protection_plugin.py | 198 +++++++++++++ .../unit/protection/test_nova_protection_plugin.py | 7 + .../unit/protection/test_swift_bank_plugin.py | 1 + karbor/wsgi/common.py | 1 + requirements.txt | 30 +- setup.cfg | 4 + test-requirements.txt | 10 +- tools/install_venv_common.py | 1 + 102 files changed, 2592 insertions(+), 470 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 13fbd1d..a72c273 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ croniter>=0.3.4 # MIT License -eventlet!=0.18.3,<0.21.0,>=0.18.2 # MIT +eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT @@ -11 +11 @@ icalendar>=3.10 # BSD -keystoneauth1>=2.20.0 # Apache-2.0 +keystoneauth1>=2.21.0 # Apache-2.0 @@ -14 +14 @@ python-manilaclient>=1.12.0 # Apache-2.0 -oslo.config>=3.22.0 # Apache-2.0 +oslo.config>=4.0.0 # Apache-2.0 @@ -16,2 +16,2 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.context>=2.12.0 # Apache-2.0 -oslo.db>=4.19.0 # Apache-2.0 +oslo.context>=2.14.0 # Apache-2.0 +oslo.db>=4.21.1 # Apache-2.0 @@ -19,3 +19,3 @@ oslo.log>=3.22.0 # Apache-2.0 -oslo.messaging>=5.19.0 # Apache-2.0 -oslo.middleware>=3.10.0 # Apache-2.0 -oslo.policy>=1.17.0 # Apache-2.0 +oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 +oslo.middleware>=3.27.0 # Apache-2.0 +oslo.policy>=1.23.0 # Apache-2.0 @@ -27,4 +27,4 @@ PasteDeploy>=1.5.0 # MIT -python-glanceclient>=2.5.0 # Apache-2.0 -python-novaclient>=7.1.0 # Apache-2.0 -python-cinderclient>=2.0.1 # Apache-2.0 -requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0 +python-glanceclient>=2.7.0 # Apache-2.0 +python-novaclient>=9.0.0 # Apache-2.0 +python-cinderclient>=2.1.0 # Apache-2.0 +requests>=2.14.2 # Apache-2.0 @@ -32 +32 @@ Routes>=2.3.1 # MIT -python-neutronclient>=5.1.0 # Apache-2.0 +python-neutronclient>=6.3.0 # Apache-2.0 @@ -35 +35 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT -sqlalchemy-migrate>=0.9.6 # Apache-2.0 +sqlalchemy-migrate>=0.11.0 # Apache-2.0 @@ -39 +39 @@ WebOb>=1.7.1 # MIT -oslo.i18n>=2.1.0 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 1b97655..34ff33c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -17,3 +17,3 @@ python-swiftclient>=3.2.0 # Apache-2.0 -python-glanceclient>=2.5.0 # Apache-2.0 -python-novaclient>=7.1.0 # Apache-2.0 -python-cinderclient>=2.0.1 # Apache-2.0 +python-glanceclient>=2.7.0 # Apache-2.0 +python-novaclient>=9.0.0 # Apache-2.0 +python-cinderclient>=2.1.0 # Apache-2.0 @@ -21 +21 @@ python-karborclient>=0.2.0 # Apache-2.0 -python-neutronclient>=5.1.0 # Apache-2.0 +python-neutronclient>=6.3.0 # Apache-2.0 @@ -23 +23 @@ python-heatclient>=1.6.1 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +reno!=2.3.1,>=1.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org