cinder/cinder
Vincent Hou 21bc0537e0 Volume status management during migration
This patch proposes a new implementation for the status and
the migration_status for volumes.

* The initial migration_status is None, meaning no migration has been
done; Migration_status 'error' means the previous migration failed.
Migration_status 'success' means the previous migration succeeded.

* If the key 'lock_volume' is set to True from the request, the volume
status should be set to 'maintenance' during migration and goes
back to its original status after migration. Otherwise, if the
key 'lock_volume' is set to False, the volume status will remain the
same as its original status. The default value for lock_volume is
False and it applies to the available volume.

* From the REST's perspectives, all the create, update and delete
actions are not allowed if the volume is in 'maintenance', because
it means the volume is out of service. If it is not in maintenance
mode, the migration can be interrupted if other requests are
issued, e.g. attach. For the termination of migration, another
patch will target to resolve it.

DocImpact
APIImpact The key 'lock_volume' has been added into the API,
telling the volume to change the status to 'maintenance' or not.
The migration_status has been added into results returned
from volume list command, if the request is from an admin.

Change-Id: Ia86421f2d6fce61dcfeb073f8e7b9c9dde517373
Partial-implements: blueprint migration-improvement
2015-08-28 09:54:28 +08:00
..
api Volume status management during migration 2015-08-28 09:54:28 +08:00
backup Merge "Fix backup list all_tenants=0 filtering for admin" 2015-08-26 12:46:56 +00:00
brick Efficient image transfer for Glance cinder store 2015-08-25 10:40:25 -04:00
cmd Merge "Enable cinder-manage to remove services" 2015-08-14 18:09:30 +00:00
common Use min and max on IntOpt option types 2015-08-16 15:48:24 -07:00
compute Cleaning up CONF.register_opts() in compute/__init__.py 2015-08-21 14:17:25 -05:00
consistencygroup Cleanup for cinder tests with ConsistencyGroups 2015-08-17 14:29:37 +02:00
db Volume status management during migration 2015-08-28 09:54:28 +08:00
hacking Remove useless logging from unit tests 2015-07-13 17:39:44 +00:00
image Efficient image transfer for Glance cinder store 2015-08-25 10:40:25 -04:00
keymgr Fix multi-line docstrings to meet hacking rules 2015-07-30 11:34:16 -05:00
locale Imported Translations from Transifex 2015-03-26 06:08:06 +00:00
objects Add pagination to snapshots 2015-08-25 22:07:46 +02:00
openstack Switch to the oslo_utils.fileutils 2015-08-20 07:47:48 +00:00
replication Use oslo.log instead of oslo-incubator 2015-03-11 21:45:04 -05:00
scheduler Volume status management during migration 2015-08-28 09:54:28 +08:00
testing
tests Volume status management during migration 2015-08-28 09:54:28 +08:00
transfer Notify the transfer volume action in cinder 2015-07-07 17:14:34 +08:00
volume Volume status management during migration 2015-08-28 09:54:28 +08:00
wsgi Add Cinder API wsgi application 2015-08-25 13:48:03 +03:00
zonemanager Use min and max on IntOpt option types 2015-08-16 15:48:24 -07:00
__init__.py
context.py adds user_id to check_is_admin 2015-08-25 04:46:18 -07:00
exception.py Merge "Remove StorPool Driver" 2015-08-10 17:02:38 +00:00
flow_utils.py Refactoring of manager's create_volume flow 2015-07-24 11:19:09 +02:00
i18n.py Change leftover oslo.* to oslo_* 2015-03-23 19:52:42 +00:00
manager.py Remove unused context parameter 2015-07-27 02:03:53 -07:00
policy.py adds user_id to check_is_admin 2015-08-25 04:46:18 -07:00
quota.py Merge "Fix get default quota values for subprojects" 2015-08-03 20:36:34 +00:00
quota_utils.py Logging not using oslo.i18n guidelines 2015-03-19 12:28:12 -05:00
rpc.py Move oslo.messaging to the oslo_messaging namespace 2015-03-03 09:21:25 -06:00
service.py Merge "Add Cinder API wsgi application" 2015-08-27 02:29:12 +00:00
ssh_utils.py Fix Python 3 issues in utils 2015-06-15 10:29:22 +02:00
test.py Remove unit test migration logging 2015-08-06 16:46:27 -05:00
utils.py Volume status management during migration 2015-08-28 09:54:28 +08:00
version.py