Bug 804889 - cant boot on when using Virtual CD functionality
cant boot on when using Virtual CD functionality
Product: oVirt
Classification: Community
Component: ovirt-node (Show other bugs)
x86_64 Unspecified
unspecified Severity high
: ---
: ---
Assigned To: Joey Boggs
Depends On:
  Show dependency treegraph
Reported: 2012-03-20 01:02 EDT by slavik
Modified: 2016-04-26 09:33 EDT (History)
8 users (show)

See Also:
Fixed In Version: 2.5.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-07-02 09:50:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
screen (48.84 KB, image/png)
2012-03-20 01:02 EDT, slavik
no flags Details
screenshot of dracut warning (611.05 KB, image/bmp)
2012-05-14 06:49 EDT, Netbulae
no flags Details
dmesg after dracut error (27.03 KB, image/png)
2012-06-08 11:24 EDT, Olivier D
no flags Details
dmesg dracut with rdshell / rdinitdebug (20.25 KB, image/png)
2012-06-08 12:25 EDT, Olivier D
no flags Details

  None (edit)
Description slavik 2012-03-20 01:02:24 EDT
Created attachment 571287 [details]

Description of problem:
image ovirt-node-image-2.2.3-1.1.fc16 wont boot because cant find cdrom image, provided via ilom 

How reproducible:

download image from site
login to ilom, open console redirection, use image as virtual cdrom
boot unsuccessful.
"dracut warning: no root device "live:/dev/disk/by-label/ovirt-node-image" found
dropping to debug shell
Comment 1 slavik 2012-03-27 00:03:58 EDT
2.3.0-1.0.fc16 still not working
Comment 2 Netbulae 2012-05-08 07:55:14 EDT
We're having the same problem with our SuperMicro 2026TT-H6RF nodes and LSI
2108 MegaRaid.

I'm installing the node through the IPMI Virtual CD drive and this is the error I get:

dracut Warning: No root device "live:/dev/disk/by-label/ovirt-node-iso" found

dracut Warning: No root device "live:/dev/disk/by-label/ovirt-node-iso" found

Dropping to debug shell.

sh: 0: can't access tty; job control turned off

I tried the latest stable node iso and also compiled a new one from git.
Comment 3 Mike Burns 2012-05-08 08:28:15 EDT
Unfortunately, I don't have this hardware available to test with, so I'll try to take some guesses as to what is happening.

When you get to the isolinux menu (where you can choose to boot or reinstall, etc), hit tab on one of the options and add "rd.shell" to the command line.

The boot should then get to a dracut shell.  In the dracut shell, run "ls" to get a list of what is there.  There should be an ISO in the root level of the structure.  What is the name of the iso?
Comment 4 Netbulae 2012-05-14 06:49:40 EDT
Created attachment 584326 [details]
screenshot of dracut warning
Comment 5 Netbulae 2012-05-14 06:50:33 EDT
Just tested it, there is no iso listed and the path /dev/disk/by-label doesn't exist at all.
Comment 6 Mike Burns 2012-06-04 05:25:40 EDT
Updating subject.  seems to be related to installing on virtual cd devices.  I'm not sure that we can fix this for 2.4.0, so deferring to 2.5.0
Comment 7 Joey Boggs 2012-06-04 13:38:16 EDT

this should be fixed for 2.4 already since we added all the usb storage drivers for ilo/ipmi virtual cd drives.

Can you find out what module is used to support the virtual cd drive?
Comment 8 Olivier D 2012-06-08 11:23:25 EDT
I do have the same problem with a custom build of node-iso (ovirt-node git revision 9535be96a4e13e3a70576ce9c7c0d7ab70be6962 - Sat Jun 2 11:13:09 2012 -0400).

I'm using a Dell PowerEdge M910.
I tested several install :
 - from virtual CDROM
 - with iPXE boot (instruction 'sanboot http://ip/path/to/file.iso')
Comment 9 Olivier D 2012-06-08 11:24:09 EDT
Created attachment 590461 [details]
dmesg after dracut error
Comment 10 Joey Boggs 2012-06-08 11:48:00 EDT
add rdshell to the kernel args, once it fails run: ls -al /dev/disk/by-label 

See what label does show up and that should get us in the right direction to fix this
Comment 11 Olivier D 2012-06-08 12:24:31 EDT
I tested with rdhsell and rdshell rdinitdebug (and I removed 'rhgb' and 'quiet') but I do not have any extra informations : no /init.log is generated ; and folder /dev/disk/by-label does not exist.

listing of /dev/disk/by-id : 

I remind that node-iso is actually loaded by ipxe, not a virtual device.

I'll upload screenshot of dmesg around error, referring to dracut.
Comment 12 Olivier D 2012-06-08 12:25:02 EDT
Created attachment 590468 [details]
dmesg dracut with rdshell / rdinitdebug
Comment 13 Joey Boggs 2012-06-08 12:32:03 EDT
Can you attach the options/config you're using for the iso with ipxe?
Comment 14 Olivier D 2012-06-08 12:39:06 EDT
sanboot http://***/isos/ovirt-node-iso-latest.iso
Comment 15 Olivier D 2012-06-08 12:40:14 EDT
I also tried this : 

sanhook --keep --drive 0x80 iscsi:19X.XX.XXX.XXX:::1:iqn.2012-02.com.XXX:XXX
sanboot --keep --drive 0x81 http://*/isos/ovirt-node-iso-latest.iso
Comment 16 Olivier D 2012-06-11 11:01:47 EDT
I ran a few tests with a virtual CDROM (no ipxe at all).
I got the same error.

ls -l /dev/disk/by-id : 

But running 'blkid' found me the disk : 
/dev/sr0 LABEL="ovirt-node-iso" TYPE="iso9660"

I think this is a rule missing in udev. I'll make some more tests.
Comment 17 Olivier D 2012-06-11 14:18:21 EDT
I think I found the problem :
Following command does not print all expected variables : 
/lib/udev/cdrom_id --lock-media /dev/sr0

I think detection is based on a variable that does not exist with virtual media. It is in file /lib/udev/rules.d/60-persistent-storage.rules around line 69 : 

# probe filesystem metadata of optical drives which have a media inserted
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"

but there is no such variable as "ID_CDROM_MEDIA_TRACK_COUNT_DATA" ! 

But we can rely on ID_CDROM_MEDIA.

I think adding the following line may solve the problem : 

KERNEL=="sr*", ENV{ID_CDROM_MEDIA}=="1", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"

I'll try to repackage an iso to test (never did this before, may take some time).
Comment 18 Olivier D 2012-06-12 10:13:09 EDT
FYI, with a virtual CDROM, I have the following available variables : 
/lib/udev/cdrom_id --lock-media /dev/sr0

Comment 19 Olivier D 2012-06-25 11:34:02 EDT
I confirm this bug. It needs an update to RPM file udev-182-3.fc17.x86_64.rpm with fix provided.
So this is not an "ovirt bug", but rather an udev bug.
Comment 20 Mike Burns 2012-07-02 09:50:45 EDT
new udev package is available in fedora repos, so this bug will be fixed in the next official build.

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