From d154a5fd9753fcc8f2042b829d0e461a7d14b4f2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 16 Oct 2014 17:26:26 +0000 Subject: move out the rawdisk file creation --- morphlib/writeexts.py | 21 ++++++++++++++------- 1 file 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. -- cgit v1.2.1