Hide Forgot
Description of problem: If the host used for installation contains an LVm with an LV which is invalid according to blivet's validation, then anaconda will raise a traceback. Version-Release number of selected component (if applicable): RHEL 7.2 How reproducible: Always Steps to Reproduce: 1. Create an LVM with an invalid LV name (according to blivet's validation rules) 2. Reboot the host with the RHEL installation iso 3. Actual results: At some point, at latest when the installation is started, anaconda will raise a stacktrace Expected results: Additional info:
Created attachment 1145730 [details] Screenshot of the traceback
IMO a nicer warning message should be raised, instead of a traceback.
It looks like blivet's LVM name validation needs to be updated -- if it can be created by LVM then it is a valid name.
Try this updates image: http://people.redhat.com/~dlehman/existing-device-name.0.img
Redirecting this to Jan.
I got this at the beginning of the installation: anaconda 21.48.22.74-1 exception report Traceback (most recent call first): File "/tmp/updates/blivet/devices/storage.py", line 115, in __init__ self._currentSize = self._size if self.exists else Size(0) File "/tmp/updates/blivet/devices/disk.py", line 89, in __init__ vendor=vendor, bus=bus) File "/tmp/updates/blivet/devicetree.py", line 1094, in addUdevDiskDevice sysfsPath=sysfs_path, **kwargs) File "/tmp/updates/blivet/devicetree.py", line 1250, in addUdevDevice device = self.addUdevDiskDevice(info) File "/tmp/updates/blivet/devicetree.py", line 2312, in _populate self.addUdevDevice(dev) File "/tmp/updates/blivet/devicetree.py", line 2245, in populate self._populate() File "/tmp/updates/blivet/__init__.py", line 489, in reset self.devicetree.populate(cleanupOnly=cleanupOnly) File "/tmp/updates/blivet/__init__.py", line 184, in storageInitialize storage.reset() File "/usr/lib64/python2.7/threading.py", line 764, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 227, in run threading.Thread.run(self, *args, **kwargs) AttributeError: 'DiskDevice' object has no attribute 'exists' Tested with both 7.2 GA and latest 7.3 nightly
There is a length limit of 126 characters for VG + LV name + up to 8 more unspecified chars. Blivet currently bypasses this by setting max LV name length to 55.
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release. Therefore, it is being closed. If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.