This is a strange situation to be in, but there appears to be a corner case where parted cannot read the disk label despite there being a partition table on the disk. anaconda will prompt to create a new disk label. This means there's no partitions on the disk, but the list of partitions to probe still has the old partition list. So, we should just ignore devices that no longer exist. --- storage/devices.py | 7 +++---- storage/devicetree.py | 4 ++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/storage/devices.py b/storage/devices.py index ae1ad09..13d85b8 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -173,9 +173,7 @@ def PartitionDeviceFactory(*args, **kwargs): parents = kwargs["parents"] if isinstance(parents, Device): parents = [parents] - # we receive a list of parents. look for the disk that contains the name - # if we dont find the name we will return PartitionDevice and let it raise - # the exception. + # we receive a list of parents. look for the disk that contains the name. for root in roots: for parent in parents: path = os.path.join(root,norm_name) @@ -194,7 +192,8 @@ def PartitionDeviceFactory(*args, **kwargs): return PartitionDevice(*args, **kwargs) # If we get here, we did not find anything. - return PartitionDevice(*args, **kwargs) + log.warning("unable to find parted device for %s" % norm_name) + return None class Device(object): """ A generic device. diff --git a/storage/devicetree.py b/storage/devicetree.py index 49f551c..15da568 100644 --- a/storage/devicetree.py +++ b/storage/devicetree.py @@ -880,6 +880,8 @@ class DeviceTree(object): minor=udev_device_get_minor(info), \ exists=True, \ parents=[disk]) + if not device: + return self._addDevice(device) #self.ignoredDisks.append(name) @@ -1012,6 +1014,8 @@ class DeviceTree(object): minor=udev_device_get_minor(info), exists=True, parents=[disk]) + if not device: + return self._addDevice(device) # -- 1.6.1.3 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list