OpenStack Block Storage (Cinder)
Go to file
xing-yang 763dd8cdc5 Fix backup using temp snapshot code path
- Non-disruptive backup using a temp snapshot works in Liberty
but was broken in Mitaka.
- Backup a snapshot directly without creating a temp volume
worked when the feature was first added in Mitaka but was broken
later in Mitaka.

This patch provides a fix as follows:
1. It checks an existing config option backup_use_same_host.
   By default, this option is False.
2. When the backup service starts, it checks the above option. If
   the option is True, the backup service will find volume manager
   on the current node and get volume backends.
3. If the option is True and backup_use_temp_snapshot returns True,
   volume service returns the snapshot to the backup service in
   get_backup_device and backup will be performed using the snapshot.
   Otherwise, the volume will be returned as the backup device and
   the backup will be performed using the volume.

This fix is a Mitaka backport candidate. After this is merged,
we will provide a more complete fix which allows backup using
temp snapshot to happen on a remote node as well and we will
also clean up the code to get volume backends on the backup node.

The unit test test_backup_volume_inuse_temp_snapshot in test_volume.py
is removed. This test was testing backup_volume in
cinder/volume/driver.py, but this code path is not used any more.
Backup now starts in create_backup in backup/manager.py which calls
_run_backup which calls _attach_snapshot in volume/driver.py. The new
test test_create_backup_with_temp_snapshot in test_backup.py tests
the new code path.

Change-Id: I2e0c115e1dacf9eea73803cdbb1452bfeb56d87c
Closes-Bug: #1578034
Closes-Bug: #1575886
2016-05-17 18:15:53 -04:00
api-ref WADL to RST migration in cinder tree 2016-05-12 19:07:30 +00:00
cinder Fix backup using temp snapshot code path 2016-05-17 18:15:53 -04:00
doc Make api_microversion_dev more explicit 2016-05-17 07:28:26 -06:00
etc/cinder gpfs: Add changed options for 'find' command in rootwrap filters 2016-05-27 16:01:58 +05:30
rally-jobs Disable Rally backup-related scenarios 2016-02-15 20:44:52 +02:00
releasenotes Merge "Specify a user-agent in Pure volume drivers" 2016-05-25 22:10:17 +00:00
tools Pylint: refactor ignored message lists 2016-04-04 16:39:49 -04:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:25:22 +00:00
.gitignore WADL to RST migration in cinder tree 2016-05-12 19:07:30 +00:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.testr.conf Move integrated tests to 'functional' directory 2016-02-09 23:28:27 +02:00
CONTRIBUTING.rst Update CONTRIBUTING.md to CONTRIBUTING.rst 2015-11-10 23:10:38 +08:00
HACKING.rst Revert "Add hacking check to prevent assert_called_once" 2016-05-24 12:36:22 -04:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
README.rst Use openstack.org URLs in README 2016-03-02 14:33:25 -05:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
pylintrc Use six to fix imports on Python 3 2015-06-11 17:19:19 +02:00
requirements.txt Updated from global requirements 2016-05-30 00:32:34 +00:00
run_tests.sh Remove remaining oslo-incubator code from Cinder 2016-03-09 10:49:18 -06:00
setup.cfg Move and rename tempest_tests to cinder/tests/tempest 2016-05-03 17:55:20 +00:00
setup.py Updated from global requirements 2015-09-18 16:37:17 +00:00
test-requirements.txt Updated from global requirements 2016-05-30 20:39:17 +00:00
tox.ini Whitelist 'rm' in api-ref tox environment 2016-05-14 11:36:19 +02:00

README.rst

CINDER

You have come across a storage service for an open cloud computing service. It has identified itself as Cinder. It was abstracted from the Nova project.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://git.openstack.org/openstack/cinder.git

For developer information please see HACKING.rst

You can raise bugs here http://bugs.launchpad.net/cinder

Python client

https://git.openstack.org/cgit/openstack/python-cinderclient