Hi,

I don't know if this is the correct place for this question (i hope it is ;-) ).

We are trying to make "enable USB support" work with a machine created from python ovirtsdk4 api,

here is the code:

            cluster = ovirt.types.Cluster(id=six.binary_type(clusterId))
            template = ovirt.types.Template(id=six.binary_type(templateId))
            if usbType in ('native', 'legacy'):
usb = ovirt.types.Usb(enabled=True, type=ovirt.types.UsbType.NATIVE if usbType == 'native' else ovirt.types.UsbType.LEGACY)
            else:
                usb = ovirt.types.Usb(enabled=False)

memoryPolicy = ovirt.types.MemoryPolicy(guaranteed=guaranteedMB * 1024 * 1024) par = ovirt.types.Vm(name=name, cluster=cluster, template=template, description=comments, type=ovirt.types.VmType.DESKTOP, memory=memoryMB * 1024 * 1024, memory_policy=memoryPolicy,
                            usb=usb)  # display=display,

            return api.system_service().vms_service().add(par).id


The cuestion is that the machines gets correctly created, but when we try to start the machine, we get an this error (extract from vdsm):

Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 552, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/virt/vm.py", line 1994, in _run
    self._connection.createXML(domxml, flags),
File "/usr/lib/python2.7/site-packages/vdsm/libvirtconnection.py", line 123, in wrapper
    ret = f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 941, in wrapper
    return func(inst, *args, **kwargs)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3784, in createXML if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: Error XML: Duplicate USB controllers with index 0

The question is, that if to this machine we have created, from administration interface, remove an add support for usb, the machine works, and the generated XML differs:

This is the difference we have found:

<         <controller index="0" model="piix3-uhci" type="usb">
< <address bus="0x00" domain="0x0000" function="0x2" slot="0x01" type="pci" />
<         </controller>
40a38
> <address bus="0x00" domain="0x0000" function="0x0" slot="0x02" type="pci" />

The "<" are from the non working (created from API call), and the ">" are same machine after disabling and enabling again "usb support".

Is this a bug?, if not, ¿How is supposed to be enabled USB support from API on VM Creation?,

By the way, the equivalent code for oVirt 3.x was working without problems, the problems arises from 4.0 onwards.


Sorry for the inconveniences, and thank in advance for any help,


Adolfo Gómez

_______________________________________________
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel

Reply via email to