Bug 1029634

Summary: DeviceError: ('Cannot destroy non-leaf device', 'fedora_dhcp-29-193-root')
Product: Red Hat Enterprise Linux 7 Reporter: David Lehman <dlehman>
Component: python-blivetAssignee: David Lehman <dlehman>
Status: CLOSED CURRENTRELEASE QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: amulhern, anaconda-maint-list, awilliam, bcl, dlehman, mbanas, mkrizek, mruckman, pkotvan
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard: abrt_hash:fc56e149e3b61118352b91e9ea38149908fffa43b5c443e93fe2674f2dce31d2 RejectedBlocker
Fixed In Version: python-blivet-0.18.17-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1027682 Environment:
Last Closed: 2014-06-13 11:20:52 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: 1027682    
Bug Blocks:    

Description David Lehman 2013-11-12 19:22:52 UTC
+++ This bug was initially created as a clone of Bug #1027682 +++

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

--- Additional comment from Kamil Páral on 2013-11-07 04:37:59 EST ---

Correction: The / partition was marked as reformat, *encrypted* and also enlarge from 50 to 60 GB (I had free space because I deleted /home).

--- Additional comment from Kamil Páral on 2013-11-07 08:27:39 EST ---

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 2 Peter Kotvan 2014-03-13 12:50:19 UTC
Bug bug 1076055 created for the problem with resizing the LVM / partition.
Fix of 'Device Error' verified on:
RHEL-7.0-20140312.0
anaconda-19.31.65-1.el7

Comment 3 Ludek Smid 2014-06-13 11:20:52 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.