X-Git-Url: https://git.siccegge.de//index.cgi?p=forks%2Fvmdebootstrap.git;a=blobdiff_plain;f=vmdebootstrap;h=a8126fd99f881bc0a833eaa9542a0e91af886649;hp=a6d43acf1bf21fb3286684ba65c6f25d11b81573;hb=d1bb4c91882c4b2c8e25ae04dc75b62f78898d8e;hpb=6383730002ec59cdb3d3629a21741e348e808620 diff --git a/vmdebootstrap b/vmdebootstrap index a6d43ac..a8126fd 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -23,6 +23,7 @@ import re import shutil import subprocess import tempfile +import time __version__ = '0.2' @@ -469,10 +470,15 @@ append initrd=%(initrd)s root=UUID=%(uuid)s ro %(kserial)s if self.settings['image']: for i in xrange(len(self.mount_points) - 1, -1, -1): mount_point = self.mount_points[i] - self.runcmd(['umount', mount_point], ignore_fail=True) + try: + self.runcmd(['umount', mount_point], ignore_fail=False) + except cliapp.AppException: + logging.debug("umount failed, sleeping and trying again") + time.sleep(5) + self.runcmd(['umount', mount_point], ignore_fail=False) self.runcmd(['kpartx', '-d', self.settings['image']], ignore_fail=True) - + for dirname in self.remove_dirs: shutil.rmtree(dirname)