diff --git a/disktools.py b/disktools.py index 4bc0fa7c..39f2c042 100644 --- a/disktools.py +++ b/disktools.py @@ -1117,6 +1117,7 @@ def probePartitioningScheme(device): if out == 'dos': partitionType = constants.PARTITION_DOS + logger.debug("probePartitioningScheme(%r) => %r", device, partitionType) return partitionType def PartitionTool(device, partitionType=None): diff --git a/diskutil.py b/diskutil.py index bbfa2d65..575bdc7b 100644 --- a/diskutil.py +++ b/diskutil.py @@ -493,6 +493,8 @@ def __init__(self, device): self.storage = (None, None) self.logs = (False, None) self.swap = (False, None) + def __str__(self): + return "Disk({})".format(self.__dict__) INSTALL_RETAIL = 1 STORAGE_LVM = 1 @@ -512,10 +514,12 @@ def probeDisk(device): swap is a tuple of True or False and the partition device """ + logger.debug("probeDisk(%r)", device) disk = Disk(device) possible_srs = [] tool = PartitionTool(device) + tool.dump() for num, part in tool.items(): label = None part_device = tool._partitionDevice(num) @@ -543,6 +547,8 @@ def probeDisk(device): disk.swap = (True, part_device) elif part['id'] == GPTPartitionTool.ID_EFI_BOOT or part['id'] == GPTPartitionTool.ID_BIOS_BOOT: disk.boot = (True, part_device) + else: + logger.info("part %s has unknown id: %s", num, part) lv_tool = len(possible_srs) and LVMTool() for num in possible_srs: diff --git a/restore.py b/restore.py index 3da45cc9..962a13df 100644 --- a/restore.py +++ b/restore.py @@ -40,6 +40,8 @@ def restoreFromBackup(backup, progress=lambda x: ()): assert disk_device.startswith('/dev/') restore_partition = disk.root[1] + if not isinstance(restore_partition, str): + raise RuntimeError("failed to identify root partition to restore to, disk=%s" % disk) logger.log("Restoring to partition %s." % restore_partition) boot_part = tool.getPartition(boot_partnum) @@ -138,6 +140,7 @@ def restore_partitions(): try: util.mkfs(constants.rootfs_type, restore_partition) except Exception as e: + logger.critical("Failed to create root filesystem", exc_info=1) raise RuntimeError("Failed to create root filesystem: %s" % e) if efi_boot: