Bug 889330

Summary: crash when reclaiming space from disk containing member of incomplete md raid0
Product: [Fedora] Fedora Reporter: David Lehman <dlehman>
Component: anacondaAssignee: David Lehman <dlehman>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: anaconda-maint-list, awilliam, g.kaviyarasu, jonathan, robatino, sbueno, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedBlocker
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-02 21:50:00 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: 752661    
Attachments:
Description Flags
crash report none

Description David Lehman 2012-12-20 20:22:06 UTC
Created attachment 666944 [details]
crash report

Description of problem:
Using the reclaim dialog to remove incomplete devices causes a traceback.

Version-Release number of selected component (if applicable):
anaconda-18.37.3

How reproducible:
Always

Steps to Reproduce:
1. Create a raid0 md array on two disks in virt
2. Do an install with only one of the disks present
3. Try to delete all partitions using the reclaim dialog
  
Actual results:
Traceback that leads to an immediate reboot.

Expected results:
Successful reclamation of space and automatic partitioning.

Additional info:
anaconda 18.37.2 exception report
Traceback (most recent call first):
  File "/tmp/updates/pyanaconda/storage/devicetree.py", line 374, in _removeDevice
    raise ValueError("Cannot remove non-leaf device '%s'" % dev.name)
  File "/tmp/updates/pyanaconda/storage/devicetree.py", line 428, in registerAction
    self._removeDevice(action.device)
  File "/tmp/updates/pyanaconda/storage/__init__.py", line 1194, in destroyDevice
    self.devicetree.registerAction(action)
  File "/tmp/updates/pyanaconda/storage/__init__.py", line 766, in recursiveRemove
    self.destroyDevice(device)
  File "/tmp/updates/pyanaconda/ui/gui/spokes/lib/resize.py", line 307, in _scheduleActions
    self.storage.recursiveRemove(device)
ValueError: Cannot remove non-leaf device 'vda1'

Comment 1 David Lehman 2012-12-20 20:24:25 UTC
I have a tested patch ready.

Comment 2 Adam Williamson 2012-12-21 18:58:27 UTC
Discussed at 2012-12-21 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-21/f18final-blocker-review-7.2012-12-21-18.33.log.txt . Accepted as a blocker per criterion "The installer's custom partitioning mode must be capable of the following: Creating, destroying and assigning mount points to partitions of any specified size using most commonly-used filesystem types ..."

Comment 3 Fedora Update System 2012-12-21 23:32:54 UTC
dracut-024-17.git20121220.fc18, anaconda-18.37.7-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/FEDORA-2012-20838/dracut-024-17.git20121220.fc18,anaconda-18.37.7-1.fc18

Comment 4 Fedora Update System 2012-12-22 21:11:26 UTC
Package dracut-024-17.git20121220.fc18, anaconda-18.37.8-1.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dracut-024-17.git20121220.fc18 anaconda-18.37.8-1.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-20838/dracut-024-17.git20121220.fc18,anaconda-18.37.8-1.fc18
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-01-02 21:50:03 UTC
dracut-024-17.git20121220.fc18, anaconda-18.37.8-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.