Bug 1558906

Summary: AttributeError: 'DiskDevice' object has no attribute 'isDisk'
Product: [Fedora] Fedora Reporter: Lukas Ruzicka <lruzicka>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: anaconda-maint-list, awilliam, fzatlouk, jonathan, kellin, lruzicka, rbarlow, robatino, sgallagh, vanmeeuwen+fedora, v.podzimek+fedora, vponcova, vtrefny, wwoods
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:13e04e4e6acd635da9a8b9eff154e0b64eab5ae4d69a4a3da4c3c312e10a4d9a; AcceptedBlocker
Fixed In Version: anaconda-28.22.2-6.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-06 19:36:41 UTC Type: ---
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: 1469204    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dbus.log
none
File: dnf.librepo.log
none
File: environ
none
File: hawkey.log
none
File: lorax-packages.log
none
File: lsblk_output
none
File: nmcli_dev_list
none
File: os_info
none
File: program.log
none
File: storage.log
none
File: syslog
none
File: ifcfg.log
none
File: packaging.log none

Description Lukas Ruzicka 2018-03-21 09:38:38 UTC
Description of problem:
This happens when you confirm disk selection in automatic mode in partitioning spoke, anaconda crashes.

This is not vanilla anaconda, but adjusted with the updates.img from bug 1557957 comment 18.

The system has standard disk sda and a raid0 volume created from sdb+sdc using firmware raid. The target of installation was the raid0 volume (sda not selected).

Version-Release number of selected component:
anaconda-28.22.2

The following was filed automatically by anaconda:
anaconda 28.22.2 exception report
Traceback (most recent call first):
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/lib/disks.py", line 93, in <genexpr>
    and d.isDisk)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/lib/disks.py", line 91, in applyDiskSelection
    onlyuse.extend(d.name for d in disk.ancestors
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/spokes/storage.py", line 367, in apply
    applyDiskSelection(self.storage, self.data, self.selected_disks)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 439, in spoke_done
    spoke.apply()
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/spokes/__init__.py", line 79, in on_back_clicked
    self.main_window.current_action.spoke_done(self)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/spokes/storage.py", line 1156, in on_back_clicked
    NormalSpoke.on_back_clicked(self, button)
AttributeError: 'DiskDevice' object has no attribute 'isDisk'

Additional info:
addons:         com_redhat_kdump, com_redhat_docker
blivet-gui-utils.log: 
cmdline:        /usr/bin/python3  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=/images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Fedora-E-dvd-x86_64-28 quiet inst.updates=http://www.happyassassin.net/updates/1557957.0.img
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         4.16.0-0.rc4.git0.1.fc28.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        28

Comment 1 Lukas Ruzicka 2018-03-21 09:38:47 UTC
Created attachment 1411092 [details]
File: anaconda-tb

Comment 2 Lukas Ruzicka 2018-03-21 09:38:49 UTC
Created attachment 1411093 [details]
File: anaconda.log

Comment 3 Lukas Ruzicka 2018-03-21 09:38:50 UTC
Created attachment 1411094 [details]
File: dbus.log

Comment 4 Lukas Ruzicka 2018-03-21 09:38:53 UTC
Created attachment 1411095 [details]
File: dnf.librepo.log

Comment 5 Lukas Ruzicka 2018-03-21 09:38:54 UTC
Created attachment 1411096 [details]
File: environ

Comment 6 Lukas Ruzicka 2018-03-21 09:38:56 UTC
Created attachment 1411097 [details]
File: hawkey.log

Comment 7 Lukas Ruzicka 2018-03-21 09:38:58 UTC
Created attachment 1411098 [details]
File: lorax-packages.log

Comment 8 Lukas Ruzicka 2018-03-21 09:39:00 UTC
Created attachment 1411099 [details]
File: lsblk_output

Comment 9 Lukas Ruzicka 2018-03-21 09:39:01 UTC
Created attachment 1411100 [details]
File: nmcli_dev_list

Comment 10 Lukas Ruzicka 2018-03-21 09:39:03 UTC
Created attachment 1411101 [details]
File: os_info

Comment 11 Lukas Ruzicka 2018-03-21 09:39:05 UTC
Created attachment 1411102 [details]
File: program.log

Comment 12 Lukas Ruzicka 2018-03-21 09:39:07 UTC
Created attachment 1411103 [details]
File: storage.log

Comment 13 Lukas Ruzicka 2018-03-21 09:39:09 UTC
Created attachment 1411104 [details]
File: syslog

Comment 14 Lukas Ruzicka 2018-03-21 09:39:11 UTC
Created attachment 1411105 [details]
File: ifcfg.log

Comment 15 Lukas Ruzicka 2018-03-21 09:39:13 UTC
Created attachment 1411106 [details]
File: packaging.log

Comment 16 Vojtech Trefny 2018-03-21 11:40:06 UTC
PR: https://github.com/rhinstaller/anaconda/pull/1405

Comment 17 Adam Williamson 2018-03-21 15:58:08 UTC
Proposing as a Beta blocker as a violation of "The installer must be able to detect and install to hardware or firmware RAID storage devices." If I understand the bug correctly, it does appear to violate this, as I believe anaconda is likely to crash any time we have a firmware RAID set - firmware RAID sets have 'ancestor' disks that are not shown in the UI, so they will not be selected as install targets when we hit the affected code block:

    for disk in (d for d in storage.disks if d.name in onlyuse):
        onlyuse.extend(d.name for d in disk.ancestors
                       if d.name not in onlyuse
                       and d.isDisk)

so that generator will reach as far as 'd.isDisk' and crash.

Comment 18 Stephen Gallagher 2018-03-22 12:39:23 UTC
I agree, +1 blocker (and that fix looks minimally-invasive).

Comment 19 Fedora Update System 2018-03-22 14:08:43 UTC
anaconda-28.22.2-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-8ce856052a

Comment 20 Fedora Update System 2018-03-22 15:06:54 UTC
anaconda-28.22.2-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-8ce856052a

Comment 21 Adam Williamson 2018-03-22 18:22:39 UTC
https://www.happyassassin.net/temp/Fedora-28-20180322.n.0-1558906.iso is an ISO containing the updated anaconda and blivet that should fix both this and 1557957. Can you please test with that? Thanks!

Comment 22 František Zatloukal 2018-03-22 18:24:36 UTC
Discussed during blocker review [1]:

AcceptedBlocker (Final) - accepted as a violation of "The installer must be able to detect and install to hardware or firmware RAID storage devices"

[1] https://meetbot-raw.fedoraproject.org/fedora-meeting-1/2018-03-22/

Comment 23 František Zatloukal 2018-03-22 18:38:07 UTC
Discussed during blocker review [1]:

AcceptedBlocker (Beta) - accepted as a violation of "The installer must be able to detect and install to hardware or firmware RAID storage devices"

[1] https://meetbot-raw.fedoraproject.org/fedora-meeting-1/2018-03-22/

Comment 24 Fedora Update System 2018-03-26 22:30:23 UTC
anaconda-28.22.2-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 25 Fedora Update System 2018-04-05 16:22:55 UTC
anaconda-28.22.3-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-9fd9270cd5

Comment 26 Fedora Update System 2018-04-06 18:54:59 UTC
anaconda-28.22.3-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-9fd9270cd5

Comment 27 Adam Williamson 2018-04-06 19:36:41 UTC
gah, stoppit, Bodhi.

Comment 28 Randy Barlow 2018-04-12 15:57:09 UTC
(In reply to Adam Williamson from comment #27)
> gah, stoppit, Bodhi.

This will be fixed in bodhi-3.6.0!

https://github.com/fedora-infra/bodhi/pull/2168