]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
long flashcopy operation may block volume service
authorAlan Jiang <ajiang@us.ibm.com>
Thu, 3 Oct 2013 22:03:09 +0000 (17:03 -0500)
committerJay S. Bryant <jsbryant@us.ibm.com>
Thu, 10 Oct 2013 16:49:50 +0000 (11:49 -0500)
commit8a2a3d691fa54c07d14b3e32558641f43b69c040
treed8bbd6357f1a66c298ee8669b4ed389a40f793f2
parentf021629df31328324ca429c29a827efab832eee0
long flashcopy operation may block volume service

Storwize family uses flashcopy for snapshot or volume clone. The
volume delete has to wait until flashcopy finishes or errors out.
The _delete_vdisk() will poll volume FlashCopy status in a loop.
This may block volume serivce heartheat since it is in the same
. The solution is to use openstack FixedIntervalLoopingCall
to run the FlashCopy status poll in a timer thread.

The cinder volume mananger will resume delete operation for those
volumes that are in the deleting state during volume service startup.
Since Storwize volume delete may wait for a long time, this can cause
volume service to have long delay before it becomes available.
A greenpool is used to offload those volume delete operations.

Change-Id: Ie01a441a327e1e318fa8da0040ae130731b7a686
Closes-Bug: #1203152
(cherry picked from commit 7aa4f65a8c17aa037deff0f5b534ed694c17e62a)
cinder/tests/test_storwize_svc.py
cinder/volume/drivers/storwize_svc.py
cinder/volume/manager.py
etc/cinder/cinder.conf.sample