summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2014-10-16 17:26:26 +0000
committerYour Name <you@example.com>2014-10-16 17:27:17 +0000
commitd154a5fd9753fcc8f2042b829d0e461a7d14b4f2 (patch)
tree89a7a793d0bede5bb7466d07583a7d5e00c33ca9
parent1852cf3b47d7e9fb70a7dc713f6862a4bb69e554 (diff)
downloadmorph-baserock/pedroalvarez/rawdisk-to-device.tar.gz
move out the rawdisk file creationbaserock/pedroalvarez/rawdisk-to-device
-rw-r--r--morphlib/writeexts.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/morphlib/writeexts.py b/morphlib/writeexts.py
index f4c6ab92..b84a8e0b 100644
--- a/morphlib/writeexts.py
+++ b/morphlib/writeexts.py
@@ -144,17 +144,12 @@ class WriteExtension(cliapp.Application):
'detected in the kernel of the machine that is running Morph.')
def create_local_system(self, temp_root, raw_disk):
- '''Create a raw system image locally.'''
- size = self.get_disk_size()
- if not size:
- raise cliapp.AppException('DISK_SIZE is not defined')
- self.create_raw_disk_image(raw_disk, size)
+ ''' Create a system somewhre mountable '''
try:
self.mkfs_btrfs(raw_disk)
mp = self.mount(raw_disk)
except BaseException:
sys.stderr.write('Error creating disk image')
- os.remove(raw_disk)
raise
try:
self.create_btrfs_system_layout(
@@ -163,11 +158,23 @@ class WriteExtension(cliapp.Application):
except BaseException, e:
sys.stderr.write('Error creating Btrfs system layout')
self.unmount(mp)
- os.remove(raw_disk)
raise
else:
self.unmount(mp)
+ def create_local_system_rawdisk(self, temp_root, raw_disk):
+ '''Create a raw system image locally.'''
+ size = self.get_disk_size()
+ if not size:
+ raise cliapp.AppException('DISK_SIZE is not defined')
+ self.create_raw_disk_image(raw_disk, size)
+ try:
+ self.create_local_system(temp_root, raw_disk)
+ except BaseException, e:
+ os.remove(raw_disk)
+ raise
+
+
def _parse_size(self, size):
'''Parse a size from a string.