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 How reproducible: Steps to Reproduce: 1. Copy the installation CD's to a directory, NOT as ISO images, but rather as directory trees, using something like: mkdir /cdimage 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 /mnt/sysimage/var//RedHat/base/hdlist. 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 currentStep 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 readPackages File "/var/tmp/anaconda-8.0//usr/lib/anaconda/harddrive.py", line 82, in readHeaders 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: path: /mnt/sysimage/var//RedHat/base/hdlist self: <comps.HeaderListFromFile instance at 0x838fec4> noscore: 0 compatPackages: None ----end of python traceback---- I think that the path variable should be /mnt/sysimage/var/upgrade/RedHat/base/hdlist 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. --Seth