def deleteImage(self, sdUUID, imgUUID, volsImgs): currImgDir = self.getImagePath(imgUUID) toDelDir = self.getDeletedImagePath(imgUUID) self.log.info("Renaming dir %s to %s", currImgDir, toDelDir) try: self.oop.os.rename(currImgDir, toDelDir) except OSError as e: self.log.error("image: %s can't be moved", currImgDir) raise se.ImageDeleteError("%s %s" % (imgUUID, str(e)))
def purgeImage(self, sdUUID, imgUUID, volsImgs): self.log.debug("Purging image %s", imgUUID) toDelDir = self.getDeletedImagePath(imgUUID) for volUUID in volsImgs: volPath = os.path.join(toDelDir, volUUID) self._deleteVolumeFile(volPath) self._deleteVolumeFile(volPath + fileVolume.META_FILEEXT) if self.hasVolumeLeases(): self._deleteVolumeFile(volPath + LEASE_FILEEXT) self.log.debug("Removing directory: %s", toDelDir) try: self.oop.os.rmdir(toDelDir) except OSError as e: self.log.error("removed image dir: %s can't be removed", toDelDir) raise se.ImageDeleteError("%s %s" % (imgUUID, str(e)))
def purgeImage(self, sdUUID, imgUUID, volsImgs, discard): self.log.debug("Purging image %s", imgUUID) if discard: raise se.DiscardIsNotSupported(sdUUID, "file storage domain") toDelDir = self.getDeletedImagePath(imgUUID) for volUUID in volsImgs: volPath = os.path.join(toDelDir, volUUID) self._deleteVolumeFile(volPath) self._deleteVolumeFile(volPath + fileVolume.META_FILEEXT) if self.hasVolumeLeases(): self._deleteVolumeFile(volPath + LEASE_FILEEXT) self.log.info("Removing directory: %s", toDelDir) try: self.oop.os.rmdir(toDelDir) except OSError as e: if e.errno == errno.ENOENT: self.log.warning("removed image dir: %s no longer exists", toDelDir) else: self.log.error("removed image dir: %s can't be removed", toDelDir) raise se.ImageDeleteError("%s %s" % (imgUUID, str(e)))