Red Hat Bugzilla – Bug 90801
kickstart harddrive upgrades from files laid out like a CD fail
Last modified: 2007-04-18 12:53:42 EDT
Description of problem:
In anaconda, in harddrive.py, line 82 should read, I think:
hl = HeaderListFromFile(self.tree + self.path + "/RedHat/base/hdlist")
so that anaconda can find hdlist in the directory within the
partition in which the files from the CD have been installed.
Similarly, line 88 should read, I think:
hdlist.mergeFullHeaders(self.tree + self.path + "/RedHat/base/hdlist2")
Version-Release number of selected component (if applicable): anaconda-8.0-4
Steps to Reproduce:
1. Copy the installation CD's to a directory, NOT as ISO images, but rather
as directory trees, using something like:
mount /dev/cd0 /mnt/cdrom
(cd /mnt/cdrom; tar cf - . ) | (cd /cdimage; tar xf -)
2. Setup kickstart to upgrade from the /cdimage directory. using
the harddrive directive. Make sure /cdimage is NOT its own partition,
or you will not see the bug.
3. Try upgrading with kickstart.
Actual results: python traceback
Expected results: anaconda should have run the upgrade
Additional info: although it should not matter, I started with a RH 7.1
system. It doesn't matter, I think, because if anaconda can't read hdlist,
then anaconda won't be able to do the install.
I think you are hitting an existing issue where if you try to do a harddrive
upgrade from a partition which is in your /etc/fstab it will fail. If you copy
the files to a partition not in /etc/fstab does it succeed?
I suspect that if I copy the files to the top directory of
an existing, non-fstab, partition, the upgrade will succeed.
I suspect that if I copy the files to the top directory an existing
partition that is in fstab, the upgrade will also succeed. If I get a chance,
I will verify that and let you know.
I think that the failure is coming because I'm copying the files to
a non-top directory of the partition. So, say
I have a /var partition mounted on /dev/sda12. I copy the CD files to
/var/upgrade/. I copy files rather than dealing with iso images because
I want to modify a couple of the files, automatically, without user
intervention, before actually doing the upgrade.
When I try to run the upgrade, anaconda should look in
/mnt/sysimage/var/upgrade/RedHat/base/hdlist, but instead looks in
So that you can see for sure what's happening, I will try to copy the
actual python traceback into this bug report. --Seth
The problem probably will always occur if the files are on a filesystem in
/etc/fstab because of the following. We mount the partition containing the
install source in the 'loader' (the text-based bootstrap before anaconda runs).
Then later when the upgrade starts we try to mount everything in /etc/fstab on
the system to be installed, and run into problems trying to remount the
partition, which was mounted ro in the loader.
Its a mess to clean up internally, and we honestly dont see many people using HD
based upgrades so it hasnt been a priority to address to date.
Here's the python traceback:
Traceback (most recent call last):
File "/usr/bin/anaconda", line 694, in ?
intf.run(id, dispatch, configFileData)
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/text.py", line 400, in run
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/dispatch.py", line 251, in
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/dispatch.py", line 150, in gotoNext
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/dispatch.py", line 215, in moveStep
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/packages.py", line 126, in
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/harddrive.py", line 82, in
File "/var/tmp/anaconda-8.0//usr/lib/anaconda/comps.py", line 223, in
__init__rpm404.error: (2, 'No such file or directory')
Local variables in innermost frame:
self: <comps.HeaderListFromFile instance at 0x838fec4>
----end of python traceback----
I think that the path variable should be
in this case, since the files are in /var/upgrade.
Fixing this one problem may be easy, but as you said,
fixing all of the problems associated with this issue
may be a mess. And, as you suggested, putting the
files into the root directory of a partition which is not
listed in fstab does work.
I also did discover that I could use ISO images after all,
so I have just created an /upgrade directory with an
ISO image. That works just fine.
I'd rather have RedHat working on fixing other things, so I'm
going to try to change the resolution to WONTFIX. Thanks for
looking into the problem.