Bug 1804282

Summary: Traceback in text mode on a system with inconsistent sector sizes
Product: Red Hat Enterprise Linux 8 Reporter: Jan Stodola <jstodola>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: abenoit, anaconda-maint-list, jikortus, jkonecny, mdujava, prarit, vponcova, zhenyzha
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: anaconda-33.16.3.1-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:22:54 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1743676    
Attachments:
Description Flags
anaconda-tb none

Description Jan Stodola 2020-02-18 15:41:04 UTC
Description of problem:
Anaconda fails with a traceback when running a text mode installation on a system with disks having different sector sizes:

anaconda 29.19.2.13 exception report
Traceback (most recent call first):
  File "/usr/lib/python3.6/site-packages/blivet/devices/lvm.py", line 368, in _add_parent
    raise ValueError(msg)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/lib.py", line 205, in append
    self.appendfunc(y)
  File "/usr/lib/python3.6/site-packages/blivet/devices/device.py", line 161, in parents
    self._parents.append(parent)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/device.py", line 88, in __init__
    self.parents = parents or []
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/storage.py", line 143, in __init__
    super(StorageDevice, self).__init__(name, parents=parents)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/container.py", line 66, in __init__
    super(ContainerDevice, self).__init__(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/devices/lvm.py", line 143, in __init__
    exists=exists, sysfs_path=sysfs_path)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/blivet.py", line 581, in new_vg
    return LVMVolumeGroupDevice(name, pvs, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/blivet/threads.py", line 53, in run_with_lock
    return m(*args, **kwargs)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/storage/autopart.py", line 377, in _schedule_volumes
    container = new_container(parents=pvs)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/storage/autopart.py", line 516, in do_autopart
    _schedule_volumes(storage, devs)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/kickstart.py", line 435, in execute
    autopart.do_autopart(storage, ksdata, min_luks_entropy=MIN_CREATE_ENTROPY)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/kickstart.py", line 2855, in doKickstartStorage
    ksdata.autopart.execute(storage, ksdata, instClass)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/tui/spokes/storage.py", line 451, in execute
    doKickstartStorage(self.storage, self.data, self.instclass)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/tui/spokes/storage.py", line 327, in input
    self.execute()
  File "/usr/lib/python3.6/site-packages/simpleline/render/screen/input_manager.py", line 162, in _process_input
    key = self._ui_screen.input(self._input_args, key)
  File "/usr/lib/python3.6/site-packages/simpleline/render/screen/input_manager.py", line 134, in process_input
    result = self._process_input(user_input)
ValueError: The volume group rhel cannot be created. Selected disks have inconsistent sector sizes ({512, 4096}).


Installation in graphical mode on the same system shows a dialog window with an error message, which is expected.



Version-Release number of selected component (if applicable):
anaconda-29.19.2.13-1.el8
python3-blivet-3.1.0-19.el8

How reproducible:
always

Steps to Reproduce:
1. dd if=/dev/null of=disk1 bs=1 count=1 seek=10G
2. dd if=/dev/null of=disk2 bs=1 count=1 seek=10G
3. virt-install --cdrom <RHEL-8.ISO> --disk disk1,blockio.physical_block_size=512,blockio.logical_block_size=512 --disk disk2,blockio.physical_block_size=4096,blockio.logical_block_size=4096
4. start the installation in text mode ("text" on the kernel command line)
5. let anaconda use both disks with LVM partitioning

Actual results:
anaconda traceback

Expected results:
anaconda shows an error message, not a traceback.

Additional info:
Related bug 1754446 (python-blivet)

Comment 1 Jan Stodola 2020-02-18 15:42:13 UTC
Created attachment 1663792 [details]
anaconda-tb

Comment 3 Jan Stodola 2020-03-26 07:11:52 UTC
*** Bug 1817150 has been marked as a duplicate of this bug. ***

Comment 4 Zhenyu Zhang 2020-06-15 09:58:50 UTC
Hit the same issues on RHEL 8.3.0 Internal Snapshot 1.1 qualification compose testing

When I install RHEL-8.3.0-20200609.1 BaseOS ppc64le OS 
on the 'ibm-p8-rhevm-18.pnr.lab.eng.rdu2.redhat.com', 

it shows:
Failed to save storage configuration      
      
The volume group rhel_ibm-p8-rhevm-18 cannot be created. Selected disks have inconsistent sector sizes ({4096, 512}). 


This host has two hard disks of different sizes:
Model	Size	Logical sector size	Physical sector size
IPR-0 5ECC2700	283.79 GB / 264.30 GiB	4096 bytes	4096 bytes
IPR-0 5DBA8300	283.79 GB / 264.30 GiB	512 bytes	4096 bytes

This causes the host to fail to install the RHEL OS.

So in which version are we going to fix it?

Comment 5 Jiri Konecny 2020-07-09 14:01:50 UTC
Hello zhenyzha,

This issue is not about fail of the installation but about raising traceback instead of reasonable message to user.

Anaconda can't fix this issue, it's change demanded by LVM. You can't use disks with a different sector size anymore. See bug 1669751 for more info.

Comment 13 errata-xmlrpc 2020-11-04 03:22:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (anaconda bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4729