Bug 1027682

Summary: DeviceError: ('Cannot destroy non-leaf device', 'fedora_dhcp-29-193-root')
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: python-blivetAssignee: David Lehman <dlehman>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: amulhern, anaconda-maint-list, awilliam, bcl, collura, dallen, dlehman, g.kaviyarasu, jonathan, mkrizek, mruckman, robatino, vanmeeuwen+fedora
Target Milestone: ---Keywords: CommonBugs
Target Release: ---   
Hardware: i686   
OS: Unspecified   
Whiteboard: abrt_hash:fc56e149e3b61118352b91e9ea38149908fffa43b5c443e93fe2674f2dce31d2 https://fedoraproject.org/wiki/Common_F20_bugs#resize-bugs AcceptedBlocker
Fixed In Version: pykickstart-1.99.46-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1029634 (view as bug list) Environment:
Last Closed: 2013-11-24 03:59:06 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: 980656, 1029634    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: environ
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 Kamil Páral 2013-11-07 09:36:13 UTC
Description of problem:
I went to custom partitioning, there was a previously installed encrypted F20 installation. I unlocked it. Then I re-used old swap and /boot partition in the new layout. I deleted old /home partition and reused old / partition. The / partition was marked as reformat and also enlarge from 50 to 60 GB (I had free space because I deleted /home). Anaconda crashed during the first stage of installation.

Version-Release number of selected component:
anaconda-20.25.6-1

The following was filed automatically by anaconda:
anaconda 20.25.6-1 exception report
Traceback (most recent call first):
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 810, in _preDestroy
    raise DeviceError("Cannot destroy non-leaf device", self.name)
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 2715, in _preDestroy
    StorageDevice._preDestroy(self)
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 2734, in resize
    self._preDestroy()
  File "/usr/lib/python2.7/site-packages/blivet/deviceaction.py", line 403, in execute
    self.device.resize()
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 237, in processActions
    action.execute()
  File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 310, in doIt
    self.devicetree.processActions()
  File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 169, in turnOnFilesystems
    storage.doIt()
  File "/usr/lib/python2.7/site-packages/pyanaconda/install.py", line 142, in doInstall
    turnOnFilesystems(storage, mountOnly=flags.flags.dirInstall)
  File "/usr/lib/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/pyanaconda/threads.py", line 168, in run
    threading.Thread.run(self, *args, **kwargs)
DeviceError: ('Cannot destroy non-leaf device', 'fedora_dhcp-29-193-root')

Additional info:
cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   inst.stage2=http://download.eng.brq.redhat.com/pub/fedora/fedora-alt/stage/20-Beta-RC5/Fedora/i386/os/ inst.repo=http://download.eng.brq.redhat.com/pub/fedora/linux/development/20/i386/os/ initrd=F20/Beta-RC5/i386/initrd.img BOOT_IMAGE=F20/Beta-RC5/i386/vmlinuz 
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         3.11.6-301.fc20.i686
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        20-Beta

Potential duplicate: bug 995892

Comment 1 Kamil Páral 2013-11-07 09:36:27 UTC
Created attachment 820956 [details]
File: anaconda-tb

Comment 2 Kamil Páral 2013-11-07 09:36:33 UTC
Created attachment 820957 [details]
File: anaconda.log

Comment 3 Kamil Páral 2013-11-07 09:36:37 UTC
Created attachment 820958 [details]
File: environ

Comment 4 Kamil Páral 2013-11-07 09:36:42 UTC
Created attachment 820959 [details]
File: lsblk_output

Comment 5 Kamil Páral 2013-11-07 09:36:46 UTC
Created attachment 820960 [details]
File: nmcli_dev_list

Comment 6 Kamil Páral 2013-11-07 09:36:53 UTC
Created attachment 820961 [details]
File: os_info

Comment 7 Kamil Páral 2013-11-07 09:36:57 UTC
Created attachment 820962 [details]
File: program.log

Comment 8 Kamil Páral 2013-11-07 09:37:01 UTC
Created attachment 820963 [details]
File: storage.log

Comment 9 Kamil Páral 2013-11-07 09:37:06 UTC
Created attachment 820964 [details]
File: syslog

Comment 10 Kamil Páral 2013-11-07 09:37:10 UTC
Created attachment 820965 [details]
File: ifcfg.log

Comment 11 Kamil Páral 2013-11-07 09:37:18 UTC
Created attachment 820966 [details]
File: packaging.log

Comment 12 Kamil Páral 2013-11-07 09:37:59 UTC
Correction: The / partition was marked as reformat, *encrypted* and also enlarge from 50 to 60 GB (I had free space because I deleted /home).

Comment 13 Kamil Páral 2013-11-07 09:40:21 UTC
I guess this violates our Beta criteria:
https://fedoraproject.org/wiki/Fedora_20_Beta_Release_Criteria#Custom_partitioning

Comment 14 Adam Williamson 2013-11-07 10:42:58 UTC
that...seems like a pretty complex reproducer. can you nail down more precisely the problematic bit?

Comment 15 Martin Krizek 2013-11-07 11:11:07 UTC
Reproduced 1027682

cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2020-Beta\x20x86_64 quiet BOOT_IMAGE=vmlinuz 
hashmarkername: anaconda
kernel:         3.11.6-301.fc20.x86_64
package:        anaconda-20.25.6-1
product:        Fedora
reason:         DeviceError: ('Cannot destroy non-leaf device', 'fedora-root')
release:        Cannot get release name.
version:        20-Beta

Comment 16 Kamil Páral 2013-11-07 13:27:39 UTC
A simpler reproducer:

1. Install a default Fedora LVM install - /boot as standard partition, swap and / as LVM.
2. Reboot into installer again.
3. Go into custom part and reuse /boot and swap.
4. Click on /, click Reformat, click Encrypt and also resize it (I used 6 GB instead of original 8 GB). Click Apply.
5. See that the size was _not_ updated (that's probably related to bug 1027714).
6. Continue with install. See crash during installation start.

I believe the root cause of this bug is exactly the same as in bug 1026466 comment 9. It's caused by the resize attempt. The size is not updated in Anaconda GUI, but it tries to perform the operation (probably with some invalid arguments) and it fails.

Comment 17 Mike Ruckman 2013-11-07 17:51:05 UTC
Discussed in the 2013-11-07 Go/No-Go meeting [1]. Voted as a RejectedBlocker as resize issues are generally considered for blocking final release, not beta. As such, this bug is rejected as a release blocking issue for F20 beta but please re-propose as a Final Blocker and mark for inclusion in CommonBugs.

[1] http://meetbot.fedoraproject.org/meetbot/meetbot/fedora-meeting-2/2013-11-07/

Comment 18 Adam Williamson 2013-11-13 19:45:23 UTC
Discussed at 2013-11-13 blocker review meeting - http://meetbot.fedoraproject.org/fedora-blocker-review/2013-11-13/f20-final-blocker-review-1.2013-11-13-17.01.log.txt . Accepted as a blocker per criterion "Reject or disallow invalid disk and volume configurations without crashing." (custom partitioning)

Comment 19 Adam Williamson 2013-11-13 19:46:10 UTC
or possibly "Any installer mechanism for resizing storage volumes must correctly attempt the requested operation."

Comment 20 Fedora Update System 2013-11-16 02:18:25 UTC
anaconda-20.25.8-1.fc20, pykickstart-1.99.46-1.fc20, python-blivet-0.23.5-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/pykickstart-1.99.46-1.fc20,python-blivet-0.23.5-1.fc20,anaconda-20.25.8-1.fc20

Comment 21 Fedora Update System 2013-11-17 07:03:30 UTC
Package anaconda-20.25.8-1.fc20, pykickstart-1.99.46-1.fc20, python-blivet-0.23.5-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-20.25.8-1.fc20 pykickstart-1.99.46-1.fc20 python-blivet-0.23.5-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-21553/pykickstart-1.99.46-1.fc20,python-blivet-0.23.5-1.fc20,anaconda-20.25.8-1.fc20
then log in and leave karma (feedback).

Comment 22 Adam Williamson 2013-11-20 19:58:55 UTC
Status reviewed at 2013-11-20 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-11-20/f20-blocker-review.2013-11-20-17.00.log.txt . This bug should be fixed in TC2, and needs confirmation from QA.

Comment 23 Kamil Páral 2013-11-21 10:54:28 UTC
Verified fixed with F20 TC2.

Comment 24 Fedora Update System 2013-11-24 03:59:06 UTC
pykickstart-1.99.46-1.fc20, python-blivet-0.23.5-1.fc20, anaconda-20.25.9-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 25 David Shea 2014-12-10 15:55:07 UTC
*** Bug 995892 has been marked as a duplicate of this bug. ***