Bug 965213 - poor handling of user ignoring one disk of an existing md array via ignoredisk
Summary: poor handling of user ignoring one disk of an existing md array via ignoredisk
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-blivet
Version: 19
Hardware: i686
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David Lehman
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:04bcc6eff86cdc2b71b0d371968...
Depends On:
Blocks: F19-accepted, F19FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2013-05-20 17:54 UTC by Robert Lightfoot
Modified: 2013-06-18 06:17 UTC (History)
11 users (show)

Fixed In Version: pykickstart-1.99.32-1.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-18 06:17:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: anaconda-tb (283.97 KB, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: anaconda.log (7.41 KB, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: backtrace (1.67 KB, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: environ (760 bytes, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: ifcfg.log (395 bytes, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: ks.cfg (2.09 KB, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: lsblk_output (2.70 KB, text/plain)
2013-05-20 17:54 UTC, Robert Lightfoot
no flags Details
File: nmcli_dev_list (3.15 KB, text/plain)
2013-05-20 17:55 UTC, Robert Lightfoot
no flags Details
File: packaging.log (21.89 KB, text/plain)
2013-05-20 17:55 UTC, Robert Lightfoot
no flags Details
File: program.log (37.14 KB, text/plain)
2013-05-20 17:55 UTC, Robert Lightfoot
no flags Details
File: storage.log (124.08 KB, text/plain)
2013-05-20 17:55 UTC, Robert Lightfoot
no flags Details
File: syslog (66.50 KB, text/plain)
2013-05-20 17:55 UTC, Robert Lightfoot
no flags Details

Description Robert Lightfoot 2013-05-20 17:54:27 UTC
Description of problem:
kickstart install 
The following was filed automatically by anaconda:
anaconda 19.28-1 exception report
Traceback (most recent call first):
  File "/usr/lib/python2.7/site-packages/parted/disk.py", line 213, in commit
    return self.__disk.commit()
  File "/usr/lib/python2.7/site-packages/parted/decorators.py", line 32, in new
    ret = fn(*args, **kwds)
  File "/usr/lib/python2.7/site-packages/blivet/formats/disklabel.py", line 292, in commit
    self.partedDisk.commit()
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 1569, in _destroy
    self.disk.originalFormat.commit()
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 821, in destroy
    self._destroy()
  File "/usr/lib/python2.7/site-packages/blivet/deviceaction.py", line 318, in execute
    self.device.destroy()
  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 306, in doIt
    self.devicetree.processActions()
  File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 165, in turnOnFilesystems
    storage.doIt()
  File "/usr/lib/python2.7/site-packages/pyanaconda/install.py", line 138, in doInstall
    turnOnFilesystems(storage, mountOnly=flags.flags.dirInstall)
  File "/usr/lib/python2.7/threading.py", line 766, 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)
IOException: Partition(s) 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.

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

Additional info:
reporter:       libreport-2.1.4
cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2019-Beta\x20i386 quiet BOOT_IMAGE=vmlinuz inst.ks=nfs:192.168.2.200:/windows/D/kickstarts/F19-i386-anaconda-ks.cfg  inst.ksdevice=eth0
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         3.9.2-301.fc19.i686
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        19-Beta

Truncated backtrace:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pyanaconda/threads.py", line 168, in run
    threading.Thread.run(self, *args, **kwargs)
  File "/usr/lib/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/pyanaconda/install.py", line 138, in doInstall
    turnOnFilesystems(storage, mountOnly=flags.flags.dirInstall)
  File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 165, in turnOnFilesystems
    storage.doIt()
  File "/usr/lib/python2.7/site-packages/blivet/__init__.py", line 306, in doIt
    self.devicetree.processActions()
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 237, in processActions
    action.execute()
  File "/usr/lib/python2.7/site-packages/blivet/deviceaction.py", line 318, in execute
    self.device.destroy()
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 821, in destroy
    self._destroy()
  File "/usr/lib/python2.7/site-packages/blivet/devices.py", line 1569, in _destroy
    self.disk.originalFormat.commit()
  File "/usr/lib/python2.7/site-packages/blivet/formats/disklabel.py", line 292, in commit
    self.partedDisk.commit()
  File "/usr/lib/python2.7/site-packages/parted/decorators.py", line 32, in new
    ret = fn(*args, **kwds)
  File "/usr/lib/python2.7/site-packages/parted/disk.py", line 213, in commit
    return self.__disk.commit()
IOException: Partition(s) 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.

Comment 1 Robert Lightfoot 2013-05-20 17:54:37 UTC
Created attachment 750674 [details]
File: anaconda-tb

Comment 2 Robert Lightfoot 2013-05-20 17:54:40 UTC
Created attachment 750675 [details]
File: anaconda.log

Comment 3 Robert Lightfoot 2013-05-20 17:54:43 UTC
Created attachment 750676 [details]
File: backtrace

Comment 4 Robert Lightfoot 2013-05-20 17:54:47 UTC
Created attachment 750677 [details]
File: environ

Comment 5 Robert Lightfoot 2013-05-20 17:54:50 UTC
Created attachment 750678 [details]
File: ifcfg.log

Comment 6 Robert Lightfoot 2013-05-20 17:54:53 UTC
Created attachment 750679 [details]
File: ks.cfg

Comment 7 Robert Lightfoot 2013-05-20 17:54:56 UTC
Created attachment 750680 [details]
File: lsblk_output

Comment 8 Robert Lightfoot 2013-05-20 17:55:00 UTC
Created attachment 750681 [details]
File: nmcli_dev_list

Comment 9 Robert Lightfoot 2013-05-20 17:55:03 UTC
Created attachment 750682 [details]
File: packaging.log

Comment 10 Robert Lightfoot 2013-05-20 17:55:07 UTC
Created attachment 750683 [details]
File: program.log

Comment 11 Robert Lightfoot 2013-05-20 17:55:12 UTC
Created attachment 750684 [details]
File: storage.log

Comment 12 Robert Lightfoot 2013-05-20 17:55:17 UTC
Created attachment 750685 [details]
File: syslog

Comment 13 David Lehman 2013-05-20 19:23:25 UTC
There are two things going on that are probably wrong:

 1. We hide ignored disks and devices that require them before deactivating all
    devices we found in the system to begin with. This means we won't deactivate
    devices that use any ignored disks.
 2. We shouldn't be hiding devices that build on both ignored disks and
    non-ignored disks. Instead, those devices should appear as incomplete or
    degraded, since that will be the case if the user wipes one of the disks.

Comment 14 Robert Lightfoot 2013-05-20 19:53:51 UTC
I can also add that this was done with a working kickstart and was going from a working software raid system {sda;sdb} to a single disk setup {sda}.  Don't know if coming from software raid is important but that seems to be when this crops up.  As going from a different single disk setup I did not hit the bug again.

Comment 15 Adam Williamson 2013-05-29 18:48:03 UTC
Discussed at 2013-05-29 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-05-29/f19final-blocker-review-1.2013-05-29-16.02.log.txt .

Note: kickstart issues are still being evaluated on a case-by-case basis as we still didn't get around to writing criteria beyond the very basic one we have in Beta.

In the end we decided to reject this as a blocker, with the input of dlehman: he considers that we don't undertake to work with absolutely every messy configuration people manage to throw at us via kickstart. This is triggered by 'ignoring' parts of a multi-disk device (mdraid set, LVM VG, btrfs volume...) via the kickstart ignoredisk command, so the workaround is not to do that, or to clean up your multi-disk devices before throwing them at anaconda.

However, it's accepted as a freeze exception issue: we think it would be good to get a fix for this into F19 final if possible.

Comment 16 Fedora Update System 2013-06-14 16:46:17 UTC
pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.6-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.6-1.fc19

Comment 17 Fedora Update System 2013-06-15 17:07:53 UTC
Package anaconda-19.30.7-1.fc19, pykickstart-1.99.32-1.fc19, python-blivet-0.16-1.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-19.30.7-1.fc19 pykickstart-1.99.32-1.fc19 python-blivet-0.16-1.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-10913/pykickstart-1.99.32-1.fc19,python-blivet-0.16-1.fc19,anaconda-19.30.7-1.fc19
then log in and leave karma (feedback).

Comment 18 Fedora Update System 2013-06-18 06:17:58 UTC
pykickstart-1.99.32-1.fc19, python-blivet-0.16-1.fc19, anaconda-19.30.8-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.