Bug 1325697

Summary: Traceback if an existing LVM uses an invalid LVM name
Product: Red Hat Enterprise Linux 7 Reporter: Fabian Deutsch <fdeutsch>
Component: python-blivetAssignee: Jan <japokorn>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.2CC: jstodola, maurizio.antillon, weiwang, ycui
Target Milestone: rc   
Target Release: 7.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-15 07:40:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Screenshot of the traceback none

Description Fabian Deutsch 2016-04-10 17:53:31 UTC
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:

Comment 2 Fabian Deutsch 2016-04-10 17:58:36 UTC
Created attachment 1145730 [details]
Screenshot of the traceback

Comment 3 Fabian Deutsch 2016-04-10 18:02:34 UTC
IMO a nicer warning message should be raised, instead of a traceback.

Comment 5 Brian Lane 2016-05-27 16:11:39 UTC
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.

Comment 6 David Lehman 2016-05-27 19:27:53 UTC
Try this updates image:

  http://people.redhat.com/~dlehman/existing-device-name.0.img

Comment 7 Fabian Deutsch 2016-05-30 20:11:38 UTC
Redirecting this to Jan.

Comment 8 Jan Stodola 2016-05-31 10:48:30 UTC
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

Comment 9 Jan 2018-02-01 13:54:58 UTC
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.

Comment 11 RHEL Program Management 2020-12-15 07:40:52 UTC
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.