pvl.backup.rsync: also accept lvm:vg/lv
authorTero Marttila <terom@paivola.fi>
Sun, 22 Apr 2012 13:45:44 +0300
changeset 49 0a329ac17083
parent 48 c8aea2558f16
child 50 d23cba8064fe
pvl.backup.rsync: also accept lvm:vg/lv
pvl/backup/rsync.py
--- a/pvl/backup/rsync.py	Sun Apr 22 13:42:42 2012 +0300
+++ b/pvl/backup/rsync.py	Sun Apr 22 13:45:44 2012 +0300
@@ -264,12 +264,23 @@
         return RSyncFSServer(path)
 
     elif path.startswith('lvm:') :
+        _, lvm = path.split(':', 1)
+
         # LVM LV
         try :
-            lvm, vg, lv = path.split(':')
+            if ':' in lvm :
+                vg, lv = lvm.split(':', 1)
+
+                log.warn("old lvm: syntax: lvm:%s; use: lvm:%s/%s", path, vg, lv)
+
+            elif '/' in lvm:
+                vg, lv = lvm.split('/', 1)
+
+            else :
+                raise RSyncCommandFormatError("Invalid lvm pseudo-path: {lvm}: unrecognized vg/lv separator".format(lvm=lvm))
 
         except ValueError, e:
-            raise RSyncCommandFormatError("Invalid lvm pseudo-path: {error}".format(error=e))
+            raise RSyncCommandFormatError("Invalid lvm pseudo-path: {lvm}: {error}".format(lvm=lvm, error=e))
         
         # XXX: validate?
         log.info("LVM: %s/%s", vg, lv)