Bug 702511

Summary: Cannot install Fedora 15 Beta over IPMI
Product: [Fedora] Fedora Reporter: Jeevan Savant <savjee>
Component: anacondaAssignee: Ales Kozumplik <akozumpl>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: akozumpl, anaconda-maint-list, gansalmon, harald, itamar, jonathan, jzeleny, kernel-maint, madhu.chinakonda, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-24 10:22:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
FC15 install error over IPMI
none
Tar.gz file of all logs under /tmp
none
anaconda.log
none
ifcfg.log
none
program.log
none
storage.log
none
X.log
none
sylog
none
05132011.anaconda.log
none
05132011.ifcfg.log
none
05132011.program.log
none
05132011.storage.log
none
05132011.syslog
none
05132011.X.log
none
output of udevadm_info_export_db
none
Output of /lib/udev/cdrom_id --debug /dev/sr0
none
/lib/udev/cdrom_id --debug /dev/sr1
none
/lib/udev/cdrom_id --debug /dev/sr1 (after umount /mnt/source)
none
/lib/udev/cdrom_id --debug /dev/sr1 (after mount /mnt/source) none

Description Jeevan Savant 2011-05-05 22:54:16 UTC
Created attachment 497238 [details]
FC15 install error over IPMI

Description of problem:
Attempting to do an install using Fedora 15 ISO mounted as IPMI virtual CD fails with error asking to insert Installer Disc.


Version-Release number of selected component (if applicable):
Anaconda 15.27 on FC15 Beta x86-64

How reproducible:
Consistent and easy to reproduce.

Steps to Reproduce:
1.Download FC15 Beta or Alpa ISO.
2.Open IMPI web session with the machine that needs to be installed.
3.Mount the installer ISO via Virtual CD IPMI feature.
4.Reboot and start install.
5.After installer is done partitioning, it prompts user to end Fedora disc. It should not as the disc is present already as Virtual CD.

  
Actual results:
Installer keeps asking user to change disc. Disc is already mounted and it should find it.

Expected results:
Install should continue successfully. Installs with actual physical DVD works.

Additional info:
If above test case was run on Fedora 14, it used switch to network based install.

Comment 1 Brian Lane 2011-05-06 00:10:45 UTC
Please change to vt2 and attach all the /tmp/*log files to this bug (as individual files).

Comment 2 Jeevan Savant 2011-05-06 15:49:42 UTC
Created attachment 497391 [details]
Tar.gz file of all logs under /tmp

I am attaching all logs under /tmp.

Comment 3 Jeevan Savant 2011-05-06 15:53:00 UTC
Created attachment 497392 [details]
anaconda.log

Comment 4 Jeevan Savant 2011-05-06 15:53:52 UTC
Created attachment 497393 [details]
ifcfg.log

Comment 5 Jeevan Savant 2011-05-06 15:54:19 UTC
Created attachment 497394 [details]
program.log

Comment 6 Jeevan Savant 2011-05-06 15:55:13 UTC
Created attachment 497395 [details]
storage.log

Comment 7 Jeevan Savant 2011-05-06 15:55:34 UTC
Created attachment 497397 [details]
X.log

Comment 8 Jeevan Savant 2011-05-06 15:56:15 UTC
Attached logs as individual files as requested

Comment 9 Ales Kozumplik 2011-05-09 07:44:56 UTC
Reporter,

can you please also attach /tmp/syslog and the exact error message you are seeing?

Thank you.

Comment 10 Ales Kozumplik 2011-05-09 07:48:20 UTC
Ah, sorry I can see you already posted the error screenshot. Then just /tmp/syslog please.

Comment 11 Ales Kozumplik 2011-05-09 13:13:17 UTC
Also,

I prepared this special updates image for you:
http://akozumpl.fedorapeople.org/bz702511.img

It should tell us more about how the cd-finding operation fails. Can you see some fails in /mnt/source from tty2, right after the error dialog?

Thank you again.

Comment 12 Jeevan Savant 2011-05-09 16:23:58 UTC
Created attachment 497862 [details]
sylog

Comment 13 Jeevan Savant 2011-05-09 16:49:07 UTC
Can you please provide instructions as how to use the bz702511.img. I initially thought this was a updated initrd.img. Turns out it is something different with following .
./ak.py
./libassuan.so.0
./anaconda
./pyanaconda
./ltmain.sh
./autogen.sh
./ui
./data
./utils
./libassuan.so.0.0.0
./scripts
./tests
I am not sure where to plug this in.

Comment 14 Chris Lumens 2011-05-09 16:59:59 UTC
http://fedoraproject.org/wiki/Anaconda/Updates

Comment 15 Jeevan Savant 2011-05-09 23:28:00 UTC
Thanks for the link.

I renamed bz702511.img to updates.img and put it under /images. I rebuilt the ISO and tried the install, but same original problem.

Comment 16 Jeevan Savant 2011-05-09 23:33:49 UTC
I did a little digging and found out the function call "dev.format.mount()" called from _mountInstallCD(self) in pyanaconda/yuminstall.py fails and causes the message "Please insert Fedora disc to continue".

The workaround is to put an early return as shown below. This lets the install continue and finish sucessfully. 

/usr/lib64/python2.7/site-packages/pyanaconda/yuminstall.py in function def _mountInstallCD(self):
    def _mountInstallCD(self):
        if os.access("%s/.discinfo" % self.tree, os.R_OK):
            f = open("%s/.discinfo" % self.tree)
            self._timestamp = f.readline().strip()
            f.close()

        dev = self.anaconda.storage.devicetree.getDeviceByName(self.anaconda.mediaDevice)
        dev.format.mountpoint = self.tree

        return  <======RETURN HERE

        # See if there's any media mounted on self.tree before continuing.
        # This saves a useless eject and insert if the user has already put
        # the disc in the drive.
        if not self.anaconda.storage.fsset.mountpoints.has_key(self.tree):
            try:
                dev.format.mount() <======== This is reason of failure. This causes installer to keep showing Change Disc.

Comment 17 Ales Kozumplik 2011-05-10 07:50:00 UTC
(In reply to comment #16)
> I did a little digging and found out the function call "dev.format.mount()"
> called from _mountInstallCD(self) in pyanaconda/yuminstall.py fails and causes
> the message "Please insert Fedora disc to continue".

Yes, we need to find out where exactly this fails. The workaround would break other cases unfortunately.

So please, use the new updates image:

http://akozumpl.fedorapeople.org/bz702511.img

(You can use it directly by appending updates=http://akozumpl.fedorapeople.org/bz702511.img to the syslinux prompt when your system boots, just press <tab> to get to see the prompt.)

Get to the point where you see the failure and attach all the log files to this bugzilla.

Also, please check if there are files in /mnt/source and attach the output of 'mount'.

Thank you and embrace for a few more rounds of this if we are to find and fix the error.

Comment 18 Jeevan Savant 2011-05-13 16:12:57 UTC
Created attachment 498809 [details]
05132011.anaconda.log

Comment 19 Jeevan Savant 2011-05-13 16:13:49 UTC
Created attachment 498810 [details]
05132011.ifcfg.log

Comment 20 Jeevan Savant 2011-05-13 16:14:21 UTC
Created attachment 498811 [details]
05132011.program.log

Comment 21 Jeevan Savant 2011-05-13 16:14:51 UTC
Created attachment 498812 [details]
05132011.storage.log

Comment 22 Jeevan Savant 2011-05-13 16:16:40 UTC
Created attachment 498813 [details]
05132011.syslog

Comment 23 Jeevan Savant 2011-05-13 16:17:08 UTC
Created attachment 498814 [details]
05132011.X.log

Comment 24 Jeevan Savant 2011-05-13 16:21:40 UTC
Sorry it took me a while to work on this, I followed your instructions and saw the same failure. I have attached the log files as requested.

Here is the additional information you requested.

The "mount" output
rootfs on / type rootfs (rw,relatime)
/proc on /proc type proc (rw,relatime)
/dev on /dev type tmpfs (rw,relatime,seclabel)
/dev/pts on /dev/pts type devpts (rw,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
/sys on /sys type sysfs (rw,relatime,seclabel)
none on /tmp type tmpfs (rw,relatime,seclabel,size=256000k)
/dev/sr1 on /mnt/source type iso9660 (ro,relatime)
/selinux on /selinux type selinuxfs (rw,relatime)
/dev/mapper/VolGroup-lv_root on /mnt/sysimage type ext4 (rw,relatime,seclabel,barrier=1,data=ordered)
/dev/sdc1 on /mnt/sysimage/boot type ext4 (rw,relatime,seclabel,barrier=1,data=ordered)
/dev on /mnt/sysimage/dev type tmpfs (rw,relatime,seclabel)
/dev/devpts on /mnt/sysimage/dev/pts type devpts (rw,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
/dev/tmpfs on /mnt/sysimage/dev/shm type tmpfs (rw,relatime,rootcontext=system_u:object_r:tmpfs_t:s0,seclabel)
/dev/mapper/VolGroup-lv_home on /mnt/sysimage/home type ext4 (rw,relatime,seclabel,barrier=1,data=ordered)
/dev/proc on /mnt/sysimage/proc type proc (rw,relatime)
/dev/usbfs on /mnt/sysimage/proc/bus/usb type usbfs (rw,relatime)
/dev/selinuxfs on /mnt/sysimage/selinux type selinuxfs (rw,relatime)
/dev/sysfs on /mnt/sysimage/sys type sysfs (rw,relatime,seclabel)

The "ls /mnt/source" output
EFI
GPL
Packages
RPM-GPG-KEY-fedora
RPM-GPG-KEY-fedora-15-SPARC
RPM-GPG-KEY-fedora-15-primary
RPM-GPG-KEY-fedora-i386
RPM-GPG-KEY-fedora-sparc
RPM-GPG-KEY-fedora-sparc64
RPM-GPG-KEY-fedora-x86_64
TRANS.TBL
images
isolinux
repodata


The "df" output is
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev                   4096776         0   4096776   0% /dev
none                    256000      5832    250168   3% /tmp
/dev/sr1               3583208   3583208         0 100% /mnt/source
/dev/mapper/VolGroup-lv_root
                      36445800    180128  34414280   1% /mnt/sysimage
/dev/sdc1               495844     10512    459732   3% /mnt/sysimage/boot
/dev                   4096776         0   4096776   0% /mnt/sysimage/dev
/dev/tmpfs             4096776         0   4096776   0% /mnt/sysimage/dev/shm
/dev/mapper/VolGroup-lv_home
                      29802564    176064  28112620   1% /mnt/sysimage/home


(In reply to comment #17)
> (In reply to comment #16)
> > I did a little digging and found out the function call "dev.format.mount()"
> > called from _mountInstallCD(self) in pyanaconda/yuminstall.py fails and causes
> > the message "Please insert Fedora disc to continue".
> 
> Yes, we need to find out where exactly this fails. The workaround would break
> other cases unfortunately.
> 
> So please, use the new updates image:
> 
> http://akozumpl.fedorapeople.org/bz702511.img
> 
> (You can use it directly by appending
> updates=http://akozumpl.fedorapeople.org/bz702511.img to the syslinux prompt
> when your system boots, just press <tab> to get to see the prompt.)
> 
> Get to the point where you see the failure and attach all the log files to this
> bugzilla.
> 
> Also, please check if there are files in /mnt/source and attach the output of
> 'mount'.
> 
> Thank you and embrace for a few more rounds of this if we are to find and fix
> the error.

Comment 25 Ales Kozumplik 2011-05-16 08:55:50 UTC
Ah, thanks.

I think I know what's going on: the drive can be mounted by 'mount' yet Anaconda is not unable to recognize your media because the drive does not correctly report ID_FS_TYPE.

To confirm this, can you please attach the output of 'udevadm info --export-db' to this BZ?

Comment 26 Jeevan Savant 2011-05-16 16:15:53 UTC
Created attachment 499200 [details]
output of udevadm_info_export_db

Output of udevadm_info_export_db attached.

Comment 27 Jeevan Savant 2011-05-16 16:17:09 UTC
Thanks for the analysis. I have attached the command output you requested.

Comment 28 Ales Kozumplik 2011-05-17 08:48:20 UTC
Reassigning.

Kernel team,

it looks like 'Virtual CD IPMI' CD drive the reporter is using will not correctly expose ID_FS_TYPE in udev database. See comment 27, the field is missing entirely even when the disk is mounted.

Comment 29 Chuck Ebbert 2011-05-17 13:16:24 UTC
This device appears as an ordinary USB cdrom. What does udev look for in order to assign ID_FS_TYPE??

BTW does the install work if you pick some other method of installation, then go back and choose local cdrom?

Comment 30 Harald Hoyer 2011-05-18 08:19:21 UTC
what is the output in the anaconda shell (alt-f2 or so) of:

# /lib/udev/cdrom_id --debug /dev/sr0

Comment 31 Jeevan Savant 2011-05-19 05:55:52 UTC
Created attachment 499749 [details]
Output of /lib/udev/cdrom_id --debug /dev/sr0

Output of command /lib/udev/cdrom_id --debug /dev/sr0

Comment 32 Jeevan Savant 2011-05-19 05:56:42 UTC
Created attachment 499750 [details]
/lib/udev/cdrom_id --debug /dev/sr1

Output of command /lib/udev/cdrom_id --debug /dev/sr1

Comment 33 Jeevan Savant 2011-05-19 05:59:05 UTC
I have attached outputs of "/lib/udev/cdrom_id --debug" for both /dev/sr0 and /dev/sr1. 

In my case the Virtual CD is detected as /dev/sr1 and mounted under /mnt/source. For more details please see the "df" output attached previously.

Comment 34 Harald Hoyer 2011-05-20 10:27:22 UTC
(In reply to comment #33)
> I have attached outputs of "/lib/udev/cdrom_id --debug" for both /dev/sr0 and
> /dev/sr1. 
> 
> In my case the Virtual CD is detected as /dev/sr1 and mounted under
> /mnt/source. For more details please see the "df" output attached previously.

So it was already mounted by anaconda?
Can you umount it before doing 
# /lib/udev/cdrom_id --debug /dev/sr1

Comment 35 Jeevan Savant 2011-05-20 20:03:12 UTC
Created attachment 500133 [details]
/lib/udev/cdrom_id --debug /dev/sr1 (after umount /mnt/source)

Here is the output from /lib/udev/cdrom_id --debug /dev/sr1, after unmounting /mnt/source

Comment 36 Jeevan Savant 2011-05-20 20:15:08 UTC
Created attachment 500135 [details]
/lib/udev/cdrom_id --debug /dev/sr1 (after mount /mnt/source)

/lib/udev/cdrom_id --debug /dev/sr1 ouput after I mounted /dev/sr1 back again. 
i.e.
1) umount /mnt/source
2) /lib/udev/cdrom_id --debug /dev/sr1 > sr1_umounted 2>&1 (previous attachement)
3) mount /dev/sr1 /mnt/source
4) /lib/udev/cdrom_id --debug /dev/sr1 > sr1_mounted 2>&1

Comment 37 Harald Hoyer 2011-05-23 09:02:45 UTC
Your implementation of the virtual CDROM is totally bogus. That software has to be really fixed. No ways we can workaround that buggy thing...

We really should add a workaround for anaconda for those really buggy implementations!

Comment 38 Ales Kozumplik 2011-05-23 12:33:21 UTC
This is unfortunate, we generally try to avoid workarounds in Anaconda if the proper fix should be done on lower levels. I made an updates image for you that you can try, please confirm it helps:

http://akozumpl.fedorapeople.org/bz702511-fix.img

I will send the patch for review but it is entirely possible that the reviewers won't approve it.

Comment 39 Ales Kozumplik 2011-05-23 12:41:00 UTC
Here is the patch:

https://www.redhat.com/archives/anaconda-devel-list/2011-May/msg00202.html

Comment 40 Jeevan Savant 2011-05-23 16:42:02 UTC
Thanks, the updated image made the install finish sucessfully.

Comment 41 Ales Kozumplik 2011-05-24 10:22:37 UTC
The patch has been rejected: https://www.redhat.com/archives/anaconda-devel-list/2011-May/msg00203.html, there's nothing more I can do. Perhaps try raising a bug against kernel to fix your device driver.