[Users] engine refuses to add cdrom device to my vms

Livnat Peer lpeer at redhat.com
Thu Mar 29 07:30:03 UTC 2012


On 28/03/12 23:36, Adam Litke wrote:
> Here is some updates after I have done further investigation.  Now I know that
> the problem terminates somewhere within ovirt-engine as the engine never passes
> a cdrom device to vdsm...
> 
> I have an all-in-one ovirt setup installed on my system and am noticing some
> strange behavior when trying to create VMs with CDROMs.  I have two different
> scenarios: Broken and Less Broken.  I outline the user actions for both
> scenarios.  In the Broken scenario, it seems impossible for a cdrom device to be
> created for the vm in the engine db.  For the less broken scenario I can get a
> device to appear in the db, but it won't be plugged into the vm without manually
> updating a field in the db.  I am hoping someone can help me to shed some light
> on this problem.  Thanks!
> 

Hi Adam,

Thanks for the detailed explanation.
You found two bugs :) -

1. The Less-broken scenario is a bug in edit VM Command, we added
support for hot plug disk lately, and the bug that you found is that
when attaching CD via edit VM command it is added unplugged.

https://bugzilla.redhat.com/show_bug.cgi?id=807922

2. The broken scenario is a bug in create VM and is related to the
stable device addresses feature we also added not so long ago and are
still trying to stabilize. The CD path is added in the VM static table
but no device is created in the VM device list (although it should).

https://bugzilla.redhat.com/show_bug.cgi?id=807923


I added you to the CC list of the bugs I opened (following your report),
I hope we'll have the fixes ready soon.


Thank, Livnat


> Broken:
> Click New Desktop
> Click Boot Options:
> 	Select First Device -> CD-ROM
> 	Select Second Device -> Hard Disk
> 	Check Attach CD
> 	Select an ISO
> Click OK
> Follow Guide Me to add a nic
> Follow Guide Me to add a disk
> Exit Guide Me
> 
> engine=# select type, device, is_managed, is_plugged, is_readonly from vm_device
> where vm_id = <vmid>
>    type    | device | is_managed | is_plugged | is_readonly 
> -----------+--------+------------+------------+-------------
>  video     | qxl    | t          | t          | f
>  interface | bridge | t          | t          | f
>  disk      | disk   | t          | t          | f
> 
> Even if you go back into Edit VM it is not possible to get a CD-ROM created in
> the DB
> 
> Less-broken:
> Click New Desktop -- Fill in name but take all other defaults.
> Skip Guide Me
> Edit VM Boot options:
> 	Select  First Device -> CD-ROM
> 	Check Attach CD
> 	Select an ISO
> 	Click OK
> 
> engine=# select type, device, is_managed, is_plugged, is_readonly from vm_device
> where vm_id = <vmid>;
>  type  | device | is_managed | is_plugged | is_readonly 
> -------+--------+------------+------------+-------------
>  video | qxl    | t          | t          | f
>  disk  | cdrom  | t          | f          | f
> 
> Note that the cdrom is not plugged.  In order to get it to be added to the VM I
> had to:
> engine=# update vm_device set is_plugged='t' where device_id=<dev_id>;
> 
> When looking at the engine.log the only suspicious entries are:
> 2012-03-28 16:23:02,458 WARN [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (http--0.0.0.0-8080-5) Unable to get value of property: managedDeviceMap for class org.ovirt.engine.core.common.businessentities.VmStatic
> 2012-03-28 16:23:02,459 WARN [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (http--0.0.0.0-8080-5) Unable to get value of property: managedDeviceMap for class org.ovirt.engine.core.common.businessentities.VmStatic
> 
> Note that this installation is from source.  I used ./create_db_devel.sh to make
> the DB but did not run engine-setup.  I am wondering if this is a configuration
> issue or an actual bug.  Any ideas?
> 
> On Tue, Mar 27, 2012 at 09:17:41AM +0200, Haim Ateya wrote:
>> On 03/27/2012 08:22 AM, Itamar Heim wrote:
>>> On 03/26/2012 09:16 PM, Adam Litke wrote:
>>>> Hello,
>>>>
>>>> I am currently experimenting with an all-in-one setup (engine
>>>> and vdsm on same
>>>> host).  I have my storage configured (data/iso/export domains
>>>> all attached) and
>>>> my local host is Up.  When I try to create a VM with a CDROM
>>>> device the VM
>>>> starts but has no CD device at all.  Any ideas why this would be
>>>> happening?
>>>
>>> not sure if related, but same area:
>>> https://bugzilla.redhat.com/show_bug.cgi?id=800253
>>
>> well, it sounds the same, but, i'm a bit concern due to the fact
>> CD-ROM configuration entry is missing from your vmCreate command,
>> whereas in my bug, vmCreate should
>> hold CD-ROM entry, but libvirt omits that configuration as it claims
>> the source is not accessible (its their bug).
>> just to make sure, please attach the following:
>>
>> - vdsm log
>> - libvirtd.log (/var/log/libvirtd.log)
>> - guest log (/var/log/libvirt/qemu/<vmName>.log
>>>
>>>>
>>>> From engine.log:
>>>>
>>>> 2012-03-26 13:50:28,269 INFO
>>>> [org.ovirt.engine.core.bll.RunVmCommand] (pool-5-thread-50)
>>>> [3ca44b07] Running command: RunVmCommand internal: false.
>>>> Entities affected :  ID: c8c42581-c304-4a9e-98aa-942fd78f5434
>>>> Type: VM
>>>> 2012-03-26 13:50:28,307 INFO
>>>> [org.ovirt.engine.core.vdsbroker.irsbroker.IsoPrefixVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] START,
>>>> IsoPrefixVDSCommand(storagePoolId =
>>>> ed57c882-fce9-479b-a7dd-e84ebca3f4f9, ignoreFailoverLimit =
>>>> false, compatabilityVersion = null), log id: 27424d87
>>>> 2012-03-26 13:50:28,307 INFO
>>>> [org.ovirt.engine.core.vdsbroker.irsbroker.IsoPrefixVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] FINISH, IsoPrefixVDSCommand,
>>>> return: /rhev/data-center/ed57c882-fce9-479b-a7dd-e84ebca3f4f9/0447fbce-6288-40ec-a7d1-c7c86b452810/images/11111111-1111-1111-1111-111111111111,
>>>> log id: 27424d87
>>>> 2012-03-26 13:50:28,308 INFO
>>>> [org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] START, CreateVmVDSCommand(vdsId =
>>>> 1a2c22e8-76e1-11e1-b321-00145e6d92d0,
>>>> vmId=c8c42581-c304-4a9e-98aa-942fd78f5434,
>>>> vm=org.ovirt.engine.core.common.businessentities.VM at 3eff90b5),
>>>> log id: 71efee33
>>>> 2012-03-26 13:50:28,315 INFO
>>>> [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] START, CreateVDSCommand(vdsId =
>>>> 1a2c22e8-76e1-11e1-b321-00145e6d92d0,
>>>> vmId=c8c42581-c304-4a9e-98aa-942fd78f5434,
>>>> vm=org.ovirt.engine.core.common.businessentities.VM at 3eff90b5),
>>>> log id: 526057e4
>>>> 2012-03-26 13:50:28,364 INFO
>>>> [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07]
>>>> org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand memSize=1024,kvmEnable=true,smp=1,emulatedMachine=pc-0.14,vmType=kvm,keyboardLayout=en-us,pitReinjection=false,nice=0,display=vnc,tabletEnable=true,smpCoresPerSocket=1,timeOffset=0,transparentHugePages=true,vmId=c8c42581-c304-4a9e-98aa-942fd78f5434,devices=[Ljava.util.Map;@793dc706,acpiEnable=true,vmName=TestVM,cpuType=Opteron_G1,custom={}
>>>> 2012-03-26 13:50:28,364 INFO
>>>> [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] FINISH, CreateVDSCommand, log id:
>>>> 526057e4
>>>> 2012-03-26 13:50:28,368 INFO
>>>> [org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07]
>>>> IncreasePendingVms::CreateVmIncreasing vds localhost pending
>>>> vcpu count, now 1. Vm: TestVM
>>>> 2012-03-26 13:50:28,373 INFO
>>>> [org.ovirt.engine.core.vdsbroker.CreateVmVDSCommand]
>>>> (pool-5-thread-50) [3ca44b07] FINISH, CreateVmVDSCommand,
>>>> return: WaitForLaunch, log id: 71efee33
>>>>
>>>>
>>>> From vdsm log:
>>>>
>>>> Thread-3291::DEBUG::2012-03-26
>>>> 13:50:28,333::BindingXMLRPC::869::vds::(wrapper) client
>>>> [127.0.0.1]::call vmCreate with ({'custom': {},
>>>> 'keyboardLayout': 'en-us' , 'kvmEnable': 'true',
>>>> 'pitReinjection': 'false', 'acpiEnable': 'true',
>>>> 'emulatedMachine': 'pc-0.14', 'tabletEnable': 'true', 'vmId':
>>>> 'c8c42581-c304-4a9e-98aa-942fd78f5434', 'devices': [{'device':
>>>> 'qxl', 'specParams': {'vram': '65536', 'deviceId':
>>>> 'dff23cf9-7ac9-41bf-9cf5-f06139905969'}, 'type': 'video'},
>>>> {'index': 0, 'iface': 'virtio', 'format': 'raw', 'optional':
>>>> 'false', 'volumeID': 'd243c1ae-ff16-434f-9d0f-cd8feb58269c',
>>>> 'imageID': '190fe53b-3053-4bf4-b4f1-b8ac1787ade6', 'specParams':
>>>> {'deviceId': '190fe53b-3053-4bf4-b4f1-b8ac1787ade6'},
>>>> 'readonly': 'false', 'domainID':
>>>> '0a91c3d3-5b1c-469b-89ff-181d7741e386', 'poolID':
>>>> 'ed57c882-fce9-479b-a7dd-e84ebca3f4f9', 'device': 'disk',
>>>> 'propagateErrors': 'off', 'type ': 'disk'}, {'nicModel': 'pv',
>>>> 'macAddr': '00:1a:4a:16:01:51', 'network': 'ovirt mgmt',
>>>> 'specParams': {'d!
>>> evi
>>>>  ceId': 'd7aaed92-31e3-4de6-9688-7da88779b2da'}, 'device':
>>>> 'bridge', 'type': 'interface'}], 'smp': '1', 'vmType': 'kvm',
>>>> 'memSize': 10 24, 'timeOffset': '0', 'cpuType': 'Opteron_G1',
>>>> 'smpCoresPerSocket': '1', 'vmName': 'TestVM', 'display': 'vnc',
>>>> 'transparentHugePages': 'true', 'nice': '0'},) {} flowID
>>>> [3ca44b07]
>>>>
>>>> I am not seeing anything here to indicate why the cdrom is being
>>>> omitted.  Confused.
>>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>
>> _______________________________________________
>> Users mailing list
>> Users at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/users
>>
> 




More information about the Users mailing list