Bug 444103

Summary: hang at 99% handle exception for not enough /boot diskspace
Product: [Fedora] Fedora Reporter: David Timms <dtimms>
Component: preupgradeAssignee: Seth Vidal <skvidal>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: katzj, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-25 01:50:07 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:
Attachments:
Description Flags
df, ls -lR /boot, du /boot
none
screencapture of hang; not that informative none

Description David Timms 2008-04-25 00:20:06 UTC
Description of problem:
preupgrade hung with all packages downloaded, and 99% complete. starting from
the cli shows that there is no room to fit minstg2.img

Version-Release number of selected component (if applicable):
preupgrade-0.9-2.fc7

How reproducible:
/dev/sda1              99M   65M   30M  69% /boot

Steps to Reproduce:
1. {on vm of f7, basic install, default partitioning}
2. install preupgrade.f7
3. preupgrade 
4. worked fine for F7>f8
5. preupgrade {is still version above}.
6. packages download, progress
  
Actual results:
hang at 99% progress.
preupgrade 
No package matched to remove
Traceback (most recent call last):
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 196, in on_assistant_apply
    self._do_main()
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 204, in _do_main
    self.main_preupgrade()
  File "/usr/share/preupgrade/preupgrade-gtk.py", line 357, in main_preupgrade
    stage2file = self.pu.retrieve_non_critical_files()
  File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 361, in
retrieve_non_critical_files
    self._retrieve_file(self.instimage,targetdir)
  File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 301, in
_retrieve_file
    raise PUError, "insufficient space in %s to download %s" % (targetdir,
item_fname)
preupgrade.PUError: insufficient space in /boot/upgrade to download minstg2.img

Expected results:
1. nice error message "you silly duffa - you can't fit the installer in the
available space"
2. detect that some old kernels could be removed to regain space, and ask the
user if that is OK.
3. detect that the f7>f8 preupgrade left an old vmlin|init|minstg2 and remove that.
4. delete the preupgrade bits from /boot after upgrade ! [perhaps that would be
an anaconda function]
[5. if there is space on / , redirect grub to load minstg2 from there ? ]

Comment 1 David Timms 2008-04-25 00:20:06 UTC
Created attachment 303713 [details]
df, ls -lR /boot, du /boot

Comment 2 David Timms 2008-04-25 00:25:57 UTC
Created attachment 303714 [details]
screencapture of hang; not that informative

Comment 3 David Timms 2008-04-25 00:30:19 UTC
Can preupgrade assume any contents in /boot/upgrade are its own, and autonuke them ?
Perhaps a size and checksum is available for the vmli|init|minstg that are
needed for the upgrade, so that preupgrade can be certain that nuking them is
correct, and that it isn't nuking the bits a previous incomplete pass downloaded.

Comment 4 Seth Vidal 2008-04-25 01:50:07 UTC
We've handled this error much better in 0.9.1 and 0.9.2 which are both in koji,
currently. I'll be putting 0.9.2 to bodhi shortly

Comment 5 David Timms 2008-04-25 10:48:20 UTC
running preupgrade-0.9.2-1.fc8 to complete the original sequence {without
erasing or doing anything else manually} is confirmed to run to completion.