diff options
| author | Rafi Khardalian <rafi@metacloud.com> | 2012-09-05 16:09:45 +0000 |
|---|---|---|
| committer | Rafi Khardalian <rafi@metacloud.com> | 2012-09-17 20:36:09 +0000 |
| commit | d05637f99271e081f9579b69cf77de1969839561 (patch) | |
| tree | cc5b250a7c8a528a7b3e84659674af85d033313d /nova/volume | |
| parent | 725c99b2a9a05c905b6ff9455d47917c39be9f57 (diff) | |
| download | nova-d05637f99271e081f9579b69cf77de1969839561.tar.gz nova-d05637f99271e081f9579b69cf77de1969839561.tar.xz nova-d05637f99271e081f9579b69cf77de1969839561.zip | |
Fix volume deletion when device mapper is used
Call dmsetup remove if there is a /dev/mapper/nova--volumes-
element present.
Resolves bug 979020
Change-Id: Iddaaed411a77dda4bd32f9a97687ff17744119eb
Diffstat (limited to 'nova/volume')
| -rw-r--r-- | nova/volume/driver.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/nova/volume/driver.py b/nova/volume/driver.py index f7cd9fb57..bb80d9f93 100644 --- a/nova/volume/driver.py +++ b/nova/volume/driver.py @@ -142,6 +142,10 @@ class VolumeDriver(object): # zero out old volumes to prevent data leaking between users # TODO(ja): reclaiming space should be done lazy and low priority self._copy_volume('/dev/zero', self.local_path(volume), size_in_g) + dev_path = self.local_path(volume) + if os.path.exists(dev_path): + self._try_execute('dmsetup', 'remove', '-f', dev_path, + run_as_root=True) self._try_execute('lvremove', '-f', "%s/%s" % (FLAGS.volume_group, self._escape_snapshot(volume['name'])), |
