summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMORITA Kazutaka <morita.kazutaka@gmail.com>2011-04-19 20:50:10 +0900
committerIsaku Yamahata <yamahata@valinux.co.jp>2011-04-19 20:50:10 +0900
commitf76f2ee50f2407155a0aaefac3224e6af14e7d26 (patch)
treeea0fb2a1ad9295c67a38642a9ad41e88c9c2e9d5
parent0ba085928c75f2fc27fb03eaa3aaeff6618e8875 (diff)
Add support for creating a Sheepdog snapshot.
-rw-r--r--nova/volume/driver.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 31998e307..ba0a7efef 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -620,6 +620,16 @@ class SheepdogDriver(VolumeDriver):
"""Deletes a logical volume"""
self._try_execute('collie', 'vdi', 'delete', volume['name'])
+ def create_snapshot(self, snapshot):
+ """Creates a sheepdog snapshot"""
+ self._try_execute('qemu-img', 'snapshot', '-c', snapshot['name'],
+ "sheepdog:%s" % snapshot['volume_name'])
+
+ def delete_snapshot(self, snapshot):
+ """Deletes a sheepdog snapshot"""
+ self._try_execute('collie', 'vdi', 'delete', snapshot['volume_name'],
+ '-s', snapshot['name'])
+
def local_path(self, volume):
return "sheepdog:%s" % volume['name']