]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Refactor reschedule in exception handling of volume manager
authorZhiteng Huang <zhithuang@ebay.com>
Fri, 5 Jul 2013 08:46:34 +0000 (01:46 -0700)
committerZhiteng Huang <zhithuang@ebay.com>
Mon, 8 Jul 2013 22:45:10 +0000 (15:45 -0700)
commit40aef764bb24330221b03bafc0e6d85fa493e383
treeeab5938d5e4720cc6824ad55392516f75ce3cb8d
parente95839466898e5606263721887633b2f66a360c0
Refactor reschedule in exception handling of volume manager

Previous exception handling has a pitfall that may potentially clear
the sys.exc_info() (by calling SQLalchmey to update db). This patch
refactors some part of exception handling in create_volume() to make
sure sys.exc_info() is retrieved so that we can log and reraise it;
also we make sure exception be reraised at the end of exception handling
no matter the request is rescheduled or not.

As a side effect, we fixed a bug in unittest which didn't provide
correct argument to db API but previously this exception has been wrongly
consumed by volume manager's exception handling (not reraise exception
when request is rescheduled).

fix bug: 1197648

Change-Id: Idce5d06f8be1fb6018012503ec7f844898a21b25
cinder/tests/test_volume.py
cinder/volume/manager.py