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.
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).
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@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@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(a)ovirt.org
>>
http://lists.ovirt.org/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/users
>