Bug 1877050

Summary: dasbus.error.DBusError: Including only a subset of raid/multipath member disks is not allowed. (anaconda part)
Product: Red Hat Enterprise Linux 8 Reporter: Jan Stodola <jstodola>
Component: anacondaAssignee: Vendula Poncova <vponcova>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.3CC: pzatko, rvykydal, sbueno, vponcova, zveleba
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: anaconda-33.16.4.3-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1877052 (view as bug list) Environment:
Last Closed: 2021-05-18 15:47:13 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: 1812825, 1877052    

Description Jan Stodola 2020-09-08 18:44:35 UTC
Description of problem:
Anaconda fails with a traceback when a subset of multipath members is specified by the ignoredisk kickstart command:

ignoredisk --drives sda
# where sda and sdb are members of mpatha


ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-ScanDevicesTask-1 has failed: Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/pyanaconda/threading.py", line 280, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/common/task/task.py", line 97, in _task_run_callback
    self._set_result(self.run())
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/storage/reset.py", line 63, in run
    self._reset_storage(self._storage)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/storage/reset.py", line 82, in _reset_storage
    storage.reset()
  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/modules/storage/devicetree/model.py", line 260, in reset
    super().reset(cleanup_only=cleanup_only)
  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 141, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  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/populator/populator.py", line 417, in populate
    self._hide_ignored_disks()
  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/devicetree.py", line 939, in _hide_ignored_disks
    raise DeviceTreeError("Including only a subset of raid/multipath member disks is not allowed.")
blivet.errors.DeviceTreeError: Including only a subset of raid/multipath member disks is not allowed.

INFO:anaconda.threading:Thread Done: AnaTaskThread-ScanDevicesTask-1 (139995843618560)
WARNING:dasbus.server.handler:The call org.fedoraproject.Anaconda.Task.Finish has failed with an exception:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/dasbus/server/handler.py", line 421, in _method_callback
    *unwrap_variant(parameters)
  File "/usr/lib/python3.6/site-packages/dasbus/server/handler.py", line 234, in _handle_call
    return handler(*parameters)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/common/task/task_interface.py", line 114, in Finish
    self.implementation.finish()
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/common/task/task.py", line 161, in finish
    threadMgr.raise_if_error(self._thread_name)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/threading.py", line 171, in raise_if_error
    raise exc_info[0](exc_info[1]).with_traceback(exc_info[2])
  File "/usr/lib64/python3.6/site-packages/pyanaconda/threading.py", line 280, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/common/task/task.py", line 97, in _task_run_callback
    self._set_result(self.run())
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/storage/reset.py", line 63, in run
    self._reset_storage(self._storage)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/storage/reset.py", line 82, in _reset_storage
    storage.reset()
  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/modules/storage/devicetree/model.py", line 260, in reset
    super().reset(cleanup_only=cleanup_only)
  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 141, in reset
    self.devicetree.populate(cleanup_only=cleanup_only)
  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/populator/populator.py", line 417, in populate
    self._hide_ignored_disks()
  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/devicetree.py", line 939, in _hide_ignored_disks
    raise DeviceTreeError("Including only a subset of raid/multipath member disks is not allowed.")
blivet.errors.DeviceTreeError: Including only a subset of raid/multipath member disks is not allowed.

Version-Release number of selected component (if applicable):
python3-blivet-3.2.2-6.el8
anaconda-33.16.3.21-1.el8

How reproducible:
Always

Steps to Reproduce:
1. Prepare a kickstart file with the following partitioning:

ignoredisk --drives sda
clearpart --all --initlabel
autopart

2. Start a kickstart installation on a machine with a multipath disk (where sda is one of the mpath members)

Actual results:
Anaconda traceback.

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

Additional info:
Originally reported in bug 1866243#c8

Comment 6 Zdenek Veleba 2020-12-17 10:38:31 UTC
Pre-verified with anaconda-33.16.4.4-1

Comment 11 errata-xmlrpc 2021-05-18 15:47:13 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-2021:1844