Bug 785242

Summary: ovirt fails to start vm on EL based nodes
Product: [Retired] oVirt Reporter: Chris Brown <christopher.brown>
Component: ovirt-engine-coreAssignee: lpeer <lpeer>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: acathrow, iheim, ykaul
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: 2012-01-29 12:29:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Chris Brown 2012-01-27 18:29:35 UTC
Description of problem:
The ovirt engine is failing to start virtual machines on EL based nodes.
I think I have found the failure mode.
The engine log shows:
2012-01-26 16:01:45,200 INFO  [org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand] (pool-5-thread-48) FINISH, CreateVmVDSCommand, return: WaitForLaunch, log id: d1649a2
2012-01-26 16:01:45,953 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.DestroyVDSCommand] (QuartzScheduler_Worker-89) START, DestroyVDSCommand(vdsId = e7df9be0-47a0-11e1-80f3-00144f8d7c32, vmId=6c84897b-4d2b-461b-ab64-b30bf9ff7b22, force=false, secondsToWait=0, gracefully=false), log id: 1269b196
2012-01-26 16:01:45,997 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.DestroyVDSCommand] (QuartzScheduler_Worker-89) FINISH, DestroyVDSCommand, log id: 1269b196
p012-01-26 16:01:46,020 INFO  [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (QuartzScheduler_Worker-89) Running on vds during rerun failed vm: null
2012-01-26 16:01:46,028 INFO  [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (QuartzScheduler_Worker-89) vm winxp running in db and not running in vds - add to rerun treatment. vds kvmsrv03
2012-01-26 16:01:46,042 ERROR [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (QuartzScheduler_Worker-89) Rerun vm 6c84897b-4d2b-461b-ab64-b30bf9ff7b22. Called from vds kvmsrv03


Version-Release number of selected component (if applicable): ovirt-engine


How reproducible: Always


Steps to Reproduce:
1. Load an EL based node (RHEL/SL/CentOS)
2. Add EL based node to the oVirt Manager
3. Create a VM and attempt to start it on an EL based node
  
Actual results: VM fails to start


Expected results: VM starts and Runs


Additional info: 

On the EL node in libvirt.log in the <os> </os>section we see:
*unnecessary output surpressed*
                <os>
                                <type arch="x86_64" machine="pc-0.14">hvm</type>
                                <boot dev="cdrom"/>
                                <boot dev="hd"/>
                                <smbios mode="sysinfo"/>
                </os>
, flags=0
16:25:42.074: 10537: error : virNetClientProgramDispatchError:170 : internal error process exited while connecting to monitor: Supported machines are:
pc         RHEL 6.2.0 PC (alias of rhel6.2.0)
rhel6.2.0  RHEL 6.2.0 PC (default)
rhel6.1.0  RHEL 6.1.0 PC
rhel6.0.0  RHEL 6.0.0 PC
rhel5.5.0  RHEL 5.5.0 PC
rhel5.4.4  RHEL 5.4.4 PC
rhel5.4.0  RHEL 5.4.0 PC
 
Thus output of qemu-kvm on the EL node is:
[root@kvmsrv03 ~]# /usr/libexec/qemu-kvm -M ?
Supported machines are:
pc         RHEL 6.2.0 PC (alias of rhel6.2.0)
rhel6.2.0  RHEL 6.2.0 PC (default)
rhel6.1.0  RHEL 6.1.0 PC
rhel6.0.0  RHEL 6.0.0 PC
rhel5.5.0  RHEL 5.5.0 PC
rhel5.4.4  RHEL 5.4.4 PC
rhel5.4.0  RHEL 5.4.0 PC
 
And the output on a Fedora 16 node is:
[root@vmdev ~]# qemu-kvm -M ?
Supported machines are:
pc         Standard PC (alias of pc-0.14)
pc-0.14    Standard PC (default)
fedora-13  Standard PC
pc-0.13    Standard PC
pc-0.12    Standard PC
pc-0.11    Standard PC, qemu 0.11
pc-0.10    Standard PC, qemu 0.10
isapc      ISA-only PC
 
Thus it appears that ovirt-engine is passing an un-recognized "machine=" type when running on an EL node.

Comment 1 lpeer 2012-01-29 12:29:43 UTC
The emulated machine that the engine passes to vdsm is configurable.
By default the configuration is pc-0.14 it seems like you need it to use rhel6.2.0 , so you can either use the configuration tool and edit the EmulatedMachine value or run from the command line -

psql -U postgres -d engine -c "update vdc_options set option_value='rhel6.2.0' where option_name='EmulatedMachine' and version='3.0';"


don't forget to restart ovirt as the configuration is currently cached and refreshing cache is not supported yet.