projects
/
snf-image-creator
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump version to 0.5.1
[snf-image-creator]
/
image_creator
/
bundle_volume.py
diff --git
a/image_creator/bundle_volume.py
b/image_creator/bundle_volume.py
index
40acf53
..
772e504
100644
(file)
--- a/
image_creator/bundle_volume.py
+++ b/
image_creator/bundle_volume.py
@@
-1,3
+1,5
@@
+# -*- coding: utf-8 -*-
+#
# Copyright 2012 GRNET S.A. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# Copyright 2012 GRNET S.A. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
@@
-31,6
+33,11
@@
# interpreted as representing official policies, either expressed
# or implied, of GRNET S.A.
# interpreted as representing official policies, either expressed
# or implied, of GRNET S.A.
+"""This module hosts the code that performes the host bundling operation. By
+using the create_image method of the BundleVolume class the user can create an
+image out of the running system.
+"""
+
import os
import re
import tempfile
import os
import re
import tempfile
@@
-260,8
+267,11
@@
class BundleVolume(object):
name = os.path.basename(dev) + "_" + uuid.uuid4().hex
tablefd, table = tempfile.mkstemp()
try:
name = os.path.basename(dev) + "_" + uuid.uuid4().hex
tablefd, table = tempfile.mkstemp()
try:
- size = end - start + 1
- os.write(tablefd, "0 %d linear %s %d" % (size, dev, start))
+ try:
+ size = end - start + 1
+ os.write(tablefd, "0 %d linear %s %d" % (size, dev, start))
+ finally:
+ os.close(tablefd)
dmsetup('create', "%sp%d" % (name, num), table)
finally:
os.unlink(table)
dmsetup('create', "%sp%d" % (name, num), table)
finally:
os.unlink(table)
@@
-294,7
+304,7
@@
class BundleVolume(object):
mpoints = []
for entry in self._read_fstable('/proc/mounts'):
if entry.mpoint.startswith(os.path.abspath(target)):
mpoints = []
for entry in self._read_fstable('/proc/mounts'):
if entry.mpoint.startswith(os.path.abspath(target)):
- mpoints.append(entry.mpoint)
+ mpoints.append(entry.mpoint)
mpoints.sort()
for mpoint in reversed(mpoints):
mpoints.sort()
for mpoint in reversed(mpoints):
@@
-326,10
+336,9
@@
class BundleVolume(object):
continue
dirname = mpoint
continue
dirname = mpoint
- basename = ''
found_ancestor = False
while dirname != '/':
found_ancestor = False
while dirname != '/':
- (dirname, basename) = os.path.split(dirname)
+ (dirname, _) = os.path.split(dirname)
if dirname in excluded:
found_ancestor = True
break
if dirname in excluded:
found_ancestor = True
break
@@
-413,7
+422,7
@@
class BundleVolume(object):
mopts = filter(
lambda p: p.startswith('Default mount options:'),
tune2fs('-l', orig_dev[i]).splitlines()
mopts = filter(
lambda p: p.startswith('Default mount options:'),
tune2fs('-l', orig_dev[i]).splitlines()
- )[0].split(':')[1].strip().split()
+ )[0].split(':')[1].strip().split()
if not (len(mopts) == 1 and mopts[0] == '(none)'):
for opt in mopts:
if not (len(mopts) == 1 and mopts[0] == '(none)'):
for opt in mopts: