[Users] Unable to boot from CD-ROM (was: REST API: Change boot device / attach CD-ROM)

On Thu, Jan 03, 2013 at 01:05:00PM +0100, Frank Wall wrote:
<cdroms> <cdrom href="/api/vms/VM-ID/cdroms/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"> <vm href="/api/vms/VM-ID" id="VM-ID"/> <file id="FreeBSD-8.3-RELEASE-amd64-disc1.iso"/> </cdrom> </cdroms>
...and the boot device is also changed...
[...] <os type="unassigned"> <boot dev="cdrom"/> </os> [...]
...but the VM won't boot off the CD-ROM device, instead it just boots from the first harddisk. So what am I doing wrong?
OK, the problem is still NOT solved, but I did some further investigation. First, the problem ONLY affects VMs with a bootable harddisk (and an operating system installed). A newly created VM is NOT affected and is able to boot from CD-ROM. Once I install an operating system, the VM will no longer be able to boot from CD-ROM. No matter what is configured as boot device... There is still only the following workaround to boot from CD-ROM:
The only way I am able to boot from CD-ROM is when using the "Run once" function on the Admin Portal and configure the CD-ROM device/image there (temporarely overwriting my config).
It will NOT work if I configure the CD-ROM device through the REST API or the Admin Portal. Just "Run Once" will do the right thing.
Any idea how to debug this further and get a bugfix/working solution? oVirt is running fine, except this annoying bug makes it somewhat useless for us. Thanks - Frank

On Thu, Feb 07, 2013 at 03:15:57PM +0100, Frank Wall wrote:
Any idea how to debug this further and get a bugfix/working solution?
Using virsh and the "dumpxml" command on the oVirt node I was able to find the reason for the cd-rom boot problems: the qemu/libvirt configuration differs. Have a look at this diff... --- virsh_normalboot 2013-02-07 15:47:02.584415306 +0100 +++ virsh_runonce 2013-02-07 15:48:49.141540166 +0100 @@ -18,7 +18,6 @@ </sysinfo> <os> <type arch='x86_64' machine='pc-0.14'>hvm</type> - <boot dev='hd'/> <smbios mode='sysinfo'/> </os> <features> @@ -43,6 +42,7 @@ </source> <target dev='hda' bus='ide'/> <serial>049339aa-1dd6-4cd7-8c43-cc9bac91a963</serial> + <boot order='2'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> @@ -54,6 +54,7 @@ <target dev='hdc' bus='ide'/> <readonly/> <serial></serial> + <boot order='1'/> <alias name='ide0-1-0'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> @@ -74,6 +75,7 @@ <source bridge='VMLAN'/> <target dev='vnet0'/> <model type='e1000'/> + <boot order='3'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> First, I configured my VM through the REST API: "virsh_normalboot". The second attempt was the "Run Once" feature from the Admin Panel: "virsh_runonce". As you can see this results in different qemu/libvirt configurations, although I did configure the exactly same thing (boot order + attach cd-rom). The strange thing is, that the ovirt engine REST API does NOT show any difference in configuration for both scenarios. Look at the next diff... (normalboot => configured through REST API; runonce => "Run Once" from Admin Portal) --- engine_normalboot 2013-02-07 15:06:38.366216092 +0100 +++ engine_runonce 2013-02-07 15:08:10.218213737 +0100 @@ -48,7 +48,7 @@ <host href="/api/hosts/3d534ee2-0c08-11e2-8edf-005056a76ea2" id="3d534ee2-0c08-11e2-8edf-005056a76ea2"/> <cluster href="/api/clusters/5c5ab34a-0be3-11e2-a0b8-005056a76ea2" id="5c5ab34a-0be3-11e2-a0b8-005056a76ea2"/> <template href="/api/templates/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"/> - <start_time>2013-02-07T13:56:55.906Z</start_time> + <start_time>2013-02-07T14:07:40.563Z</start_time> <creation_time>2012-12-22T22:50:52.174+01:00</creation_time> <origin>ovirt</origin> <stateless>false</stateless> Both files, "engine_normalboot" and "engine_runonce", are the results of these queries: curl --insecure -X GET -H "Accept: application/xml" -u admin@internal:password https://ovirt-engine:8443/api/vms/0a388607-c971-4bfd-a0aa-3a20e967aa1e >> file curl --insecure -X GET -H "Accept: application/xml" -u admin@internal:password https://ovirt-engine:8443/api/vms/0a388607-c971-4bfd-a0aa-3a20e967aa1e/cdrom... >> file It seems oVirt Engine does not set the "boot dev" and "boot order" attributes correctly through libvirt in some cases. Is this a known bug? Thanks - Frank

----- Original Message -----
From: "Frank Wall" <fwall@inotronic.de> To: users@ovirt.org Sent: Thursday, February 7, 2013 4:15:57 PM Subject: [Users] Unable to boot from CD-ROM (was: REST API: Change boot device / attach CD-ROM)
On Thu, Jan 03, 2013 at 01:05:00PM +0100, Frank Wall wrote:
<cdroms> <cdrom href="/api/vms/VM-ID/cdroms/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000"> <vm href="/api/vms/VM-ID" id="VM-ID"/> <file id="FreeBSD-8.3-RELEASE-amd64-disc1.iso"/> </cdrom> </cdroms>
...and the boot device is also changed...
[...] <os type="unassigned"> <boot dev="cdrom"/> </os> [...]
...but the VM won't boot off the CD-ROM device, instead it just boots from the first harddisk. So what am I doing wrong?
OK, the problem is still NOT solved, but I did some further investigation. First, the problem ONLY affects VMs with a bootable harddisk (and an operating system installed). A newly created VM is NOT affected and is able to boot from CD-ROM. Once I install an operating system, the VM will no longer be able to boot from CD-ROM. No matter what is configured as boot device...
There is still only the following workaround to boot from CD-ROM:
The only way I am able to boot from CD-ROM is when using the "Run once" function on the Admin Portal and configure the CD-ROM device/image there (temporarely overwriting my config).
It will NOT work if I configure the CD-ROM device through the REST API or the Admin Portal. Just "Run Once" will do the right thing.
Any idea how to debug this further and get a bugfix/working solution?
oVirt is running fine, except this annoying bug makes it somewhat useless for us.
Hi Frank It seems to me as a bug can you please open a BZ on that with engine + vdsm logs attached. Thanks
Thanks - Frank _______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
participants (2)
-
Eli Mesika
-
Frank Wall