Bug 1324994

Summary: Duplicate id 'usb' error while starting windows pool virtual machine with usb mode set to native
Product: [oVirt] ovirt-engine Reporter: Simranjeet Singh <simran2491>
Component: Backend.CoreAssignee: Nobody <nobody>
Status: CLOSED CURRENTRELEASE QA Contact: Lukas Svaty <lsvaty>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.5.6.2CC: bugs, simran2491, tjelinek
Target Milestone: ---Flags: rule-engine: planning_ack?
rule-engine: devel_ack?
rule-engine: testing_ack?
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-14 08:05:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Simranjeet Singh 2016-04-07 19:21:18 UTC
Description of problem:

Not able to start pool VM having usb mode set to native.

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

ovirt-engine-websocket-proxy-3.5.6.2-1.el6.noarch
ovirt-engine-backend-3.5.6.2-1.el6.noarch
ovirt-engine-webadmin-portal-3.5.6.2-1.el6.noarch
ovirt-engine-3.5.6.2-1.el6.noarch
ovirt-engine-reports-3.5.5-2.el6.noarch
ovirt-engine-dwh-3.5.5-1.el6.noarch
ovirt-engine-sdk-python-3.5.6.0-1.el6.noarch
ovirt-engine-lib-3.5.6.2-1.el6.noarch
ovirt-engine-setup-base-3.5.6.2-1.el6.noarch
ovirt-engine-jboss-as-7.1.1-1.el6.x86_64
ovirt-engine-tools-3.5.6.2-1.el6.noarch
ovirt-engine-dbscripts-3.5.6.2-1.el6.noarch
ovirt-engine-extensions-api-impl-3.5.6.2-1.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-common-3.5.6.2-1.el6.noarch
ovirt-engine-setup-3.5.6.2-1.el6.noarch
ovirt-engine-restapi-3.5.6.2-1.el6.noarch
ovirt-engine-cli-3.5.0.6-1.el6.noarch
ovirt-engine-setup-plugin-websocket-proxy-3.5.6.2-1.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-3.5.6.2-1.el6.noarch
ovirt-engine-userportal-3.5.6.2-1.el6.noarch
ovirt-engine-reports-setup-3.5.5-2.el6.noarch
ovirt-engine-dwh-setup-3.5.5-1.el6.noarch


How reproducible:

Create a pool from a template of windows virtual machine and try to start a vm from that pool. 

Steps to Reproduce:

1. Create Windows virtual machine with USB mode set to native.
2. Create a template of this new windows virtual machine.
3. Create a pool from this template
4. Start a VM created from this pool, VM fails to start with error given below

ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (DefaultQuartzScheduler_Worker-30) Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: VM Windows7Pool-1 is down with error. Exit message: internal error process exited while connecting to monitor: qemu-kvm: -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2: Duplicate ID 'usb' for device



Actual results:

VM fails to start.

Expected results:

VM should start without any problem.

Additional info:

Engine.log:-
2016-04-07 15:42:59,698 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (DefaultQuartzScheduler_Worker-30) Correlation ID
: null, Call Stack: null, Custom Event ID: -1, Message: VM Windows7Pool-1 is down with error. Exit message: internal error process exited while connec
ting to monitor: qemu-kvm: -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2: Duplicate ID 'usb' for device



vdsm.log

Thread-103211::DEBUG::2016-04-07 17:12:19,619::libvirtconnection::151::root::(wrapper) Unknown libvirterror: ecode: 1 edom: 10 level: 2 message: internal error process exited while connecting to monitor: qemu-kvm: -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2: Duplicate ID 'usb' for device

Thread-103211::DEBUG::2016-04-07 17:12:19,620::vm::2321::vm.Vm::(_startUnderlyingVm) vmId=`9e443ecf-5017-4517-b0aa-d21f84e678c5`::_ongoingCreations released
Thread-103211::ERROR::2016-04-07 17:12:19,620::vm::2358::vm.Vm::(_startUnderlyingVm) vmId=`9e443ecf-5017-4517-b0aa-d21f84e678c5`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 2298, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/virt/vm.py", line 3363, in _run
    self._connection.createXML(domxml, flags),
  File "/usr/lib/python2.6/site-packages/vdsm/libvirtconnection.py", line 119, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2709, in createXML
    if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: internal error process exited while connecting to monitor: qemu-kvm: -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2: Duplicate ID 'usb' for device

Comment 1 Tomas Jelinek 2016-04-13 10:48:49 UTC
I don't see this happening in current 3.6 - any chance you could update to 3.6 and try if this still happens?

Comment 2 Simranjeet Singh 2016-04-13 11:30:27 UTC
(In reply to Tomas Jelinek from comment #1)
> I don't see this happening in current 3.6 - any chance you could update to
> 3.6 and try if this still happens?

Actually update to 3.6 is not possible right now because i have more than 50 VMs running on my infrastructure and few of them are hosting websites for production, any chance if there is some patch or fix to evade this issue.

Comment 3 Simranjeet Singh 2016-04-13 11:31:32 UTC
I am using Centos 6.5 64bit as hosts.

Comment 4 Tomas Jelinek 2016-04-14 08:05:53 UTC
Since we are quite late in the 3.6. and working on 4.0 there is not going to be any more 3.5 builds so the only only way how to get the fixed version is to update to 3.6.

I have tested it on recent 3.6 and it was working, closing.