]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix lvm manage existing volume
authorAnton Arefiev <aarefiev@mirantis.com>
Wed, 18 Feb 2015 10:44:09 +0000 (12:44 +0200)
committerAnton Arefiev <aarefiev@mirantis.com>
Mon, 27 Jul 2015 16:20:31 +0000 (19:20 +0300)
commiteee9edd479e0e1d7b6f497e40d4eba59f31449b7
tree2e12b87230d8bb6e0a9142d314843718e5bcdc1e
parenta1e4ad9ff2e9366a5f41b176b5a88d451079557c
Fix lvm manage existing volume

When trying to manage command to a volume that is already managed by
Cinder, the operation does not fail and you will end up in an unexpected
state. The operation will succeed, the backend storage will be renamed,
and there will be two Cinder volumes in the available state with only
one of them being valid.

This change adds volume check on driver level (since we don't know
source-name, source-id or anything else used as ref for volume, each
driver should be responsible for figuring out what to do with specified
volume ref). Check method looking for possible existing volume in db
to avoid managing already managed volume.

Change-Id: I0d8d7a3cb2afce90529cd1142b413aca9ac69d4c
Partial-Bug: #1364550
cinder/tests/unit/test_volume.py
cinder/tests/unit/test_volume_utils.py
cinder/volume/drivers/lvm.py
cinder/volume/utils.py