From 53dec1f1410c33fcd311f0cbab585d38e756c237 Mon Sep 17 00:00:00 2001 From: Mario Carvalho Date: Mon, 25 Mar 2013 23:27:32 -0300 Subject: [PATCH 1/3] * added create_snapshot * added delete_snapshot * updated _volume_not_present --- zol.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/zol.py b/zol.py index 86ff056..60afebd 100644 --- a/zol.py +++ b/zol.py @@ -100,6 +100,23 @@ def _execute(self, *cmd, **kwargs): command = ' '.join(cmd) return self._run_ssh(command, check_exit_code) + def create_snapshot(self, snapshot): + """Creates a snapshot.""" + zfs_poolname = self._build_zfs_poolname(snapshot['volume_name']) + snap_path = "%s@%s" % (zfs_poolname, snapshot['name']) + self._execute(self.ZFSCMD, 'snapshot', snap_path, + run_as_root=True) + + def delete_snapshot(self, snapshot): + """Deletes a snapshot.""" + zfs_poolname = self._build_zfs_poolname(snapshot['volume_name']) + snap_path = "%s@%s" % (zfs_poolname, snapshot['name']) + if self._volume_not_present(zfs_poolname): + # If the snapshot isn't present, then don't attempt to delete + return True + self._execute(self.ZFSCMD, 'destroy', snap_path, + run_as_root=True) + def _create_volume(self, volume_name, sizestr): zfs_poolname = self._build_zfs_poolname(volume_name) @@ -112,11 +129,10 @@ def _create_volume(self, volume_name, sizestr): self._execute(*cmd, run_as_root=True) def _volume_not_present(self, volume_name): - zfs_poolname = self._build_zfs_poolname(volume_name) try: out, err = self._execute(self.ZFSCMD, 'list', '-H', - zfs_poolname, run_as_root=True) - if out.startswith(zfs_poolname): + volume_name, run_as_root=True) + if out.startswith(volume_name): return False except Exception as e: # If the volume isn't present From 7d32cbae78d0ae14761086f26baf1e9656777926 Mon Sep 17 00:00:00 2001 From: Mario Carvalho Date: Tue, 26 Mar 2013 13:19:48 -0300 Subject: [PATCH 2/3] * fixed bug in volume verification * minor fixed in snapshot create/delete --- zol.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/zol.py b/zol.py index 60afebd..f9a5bde 100644 --- a/zol.py +++ b/zol.py @@ -110,9 +110,10 @@ def create_snapshot(self, snapshot): def delete_snapshot(self, snapshot): """Deletes a snapshot.""" zfs_poolname = self._build_zfs_poolname(snapshot['volume_name']) - snap_path = "%s@%s" % (zfs_poolname, snapshot['name']) - if self._volume_not_present(zfs_poolname): + snap_path = "%s@%s" % (zfs_poolname, snapshot['name']) + if self._volume_not_present(snapshot['volume_name']): # If the snapshot isn't present, then don't attempt to delete + LOG.debug("NAO ACHEI SNAP %s",(snap_path)) return True self._execute(self.ZFSCMD, 'destroy', snap_path, run_as_root=True) @@ -129,10 +130,13 @@ def _create_volume(self, volume_name, sizestr): self._execute(*cmd, run_as_root=True) def _volume_not_present(self, volume_name): + zfs_poolname = self._build_zfs_poolname(volume_name) + LOG.debug("ZFS_POOLNAME (%s)" % (zfs_poolname)) + try: out, err = self._execute(self.ZFSCMD, 'list', '-H', - volume_name, run_as_root=True) - if out.startswith(volume_name): + zfs_poolname, run_as_root=True) + if out.startswith(zfs_poolname): return False except Exception as e: # If the volume isn't present @@ -151,6 +155,7 @@ def delete_volume(self, volume): """Deletes a volume.""" if self._volume_not_present(volume['name']): # If the volume isn't present, then don't attempt to delete + LOG.debug("NAO ACHEI (%s)" % (volume['name'])) return True zfs_poolname = self._build_zfs_poolname(volume['name']) self._execute(self.ZFSCMD, 'destroy', zfs_poolname, run_as_root=True) From dad3151424092a8b0b997881e9760ca1130fccab Mon Sep 17 00:00:00 2001 From: Mario Carvalho Date: Mon, 22 Sep 2014 18:38:39 -0300 Subject: [PATCH 3/3] Translating from portuguese Translating log message from portuguese to english, as requested. --- zol.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zol.py b/zol.py index f9a5bde..ef636c1 100644 --- a/zol.py +++ b/zol.py @@ -113,7 +113,7 @@ def delete_snapshot(self, snapshot): snap_path = "%s@%s" % (zfs_poolname, snapshot['name']) if self._volume_not_present(snapshot['volume_name']): # If the snapshot isn't present, then don't attempt to delete - LOG.debug("NAO ACHEI SNAP %s",(snap_path)) + LOG.debug("SNAPSHOT NOT FOUND %s",(snap_path)) return True self._execute(self.ZFSCMD, 'destroy', snap_path, run_as_root=True) @@ -155,7 +155,7 @@ def delete_volume(self, volume): """Deletes a volume.""" if self._volume_not_present(volume['name']): # If the volume isn't present, then don't attempt to delete - LOG.debug("NAO ACHEI (%s)" % (volume['name'])) + LOG.debug("VOLUME NOT FOUND (%s)" % (volume['name'])) return True zfs_poolname = self._build_zfs_poolname(volume['name']) self._execute(self.ZFSCMD, 'destroy', zfs_poolname, run_as_root=True)