]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix cinder concurrency issues on rtstool
authorGorka Eguileor <geguileo@redhat.com>
Mon, 1 Jun 2015 16:30:01 +0000 (18:30 +0200)
committerGorka Eguileor <geguileo@redhat.com>
Mon, 1 Jun 2015 17:07:15 +0000 (19:07 +0200)
commit45c282afb442aec80cf24d226bef5ebb46963026
tree848af41b1aa8cf84d11c53481cb965f2129281e0
parent8ae4bdc8f3d04e47a839f8187dbd955ab2528189
Fix cinder concurrency issues on rtstool

Since there's no synchronized access to configfs in rtslib it can happen
that rtstool or rtslib access an element that no longer exists because
it has been removed just in the middle of a loop by another Cinder
request.

This results in quite a different number of exceptions:
- .dump()
- KeyError
- IOError
- RTSLibError on storage_object

This patch synchronizes access to all rtstool calls that access or
modify configfs using utils.synchronized decorator.

Change-Id: I341a10da54ab01be68a0cae843f35e5c841c6d81
Closes-Bug: #1460692
cinder/tests/unit/targets/test_lio_driver.py
cinder/volume/targets/lio.py