[Libvirt] Attach qemu commands to an running xml domain
Daniel P. Berrangé
berrange at redhat.com
Wed Mar 31 11:36:08 UTC 2021
On Wed, Mar 31, 2021 at 01:09:32PM +0200, Michal Privoznik wrote:
> On 3/30/21 11:35 AM, Waleed Musa wrote:
> > Hi all,
> >
> > I see in libvirt you are supporting attach/detach devices to existing
> > xml domain using *attachDeviceFlags *and *detachDeviceFlags *APIs.
> > Now we are adding some qemu command to the xml domain related to some
> > interfaces using alias names before starting the VM, but we will face an
> > issue with hot plug such devices, so I have two question here:
> >
> > 1. Is it applicable to set the alias names for interfaces because I saw
> > it's ignored when I add it to xml domain before starting the VM?
> > 2. Is there a way or API to attach qemu commands to running domain as
> > you are doing in attaching the device using *attachDeviceFlags?*
> >
> > *Example of my xml*
> > *<domain type='kvm' id='5'
> > xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
> > *
> > * <devices>
> > *
> > <interface type='vhostuser'>
> > <mac address='fa:16:3e:ac:12:4c'/>
> > <source type='unix'
> > path='/var/lib/vhost_sockets/sockbbb6bbe9-eb5' mode='server'/>
> > <target dev='tapbbb6bbe9-eb'/>
> > <model type='virtio'/>
> > <driver queues='4' rx_queue_size='512' tx_queue_size='512'/>
> > <alias name='net0'/>
> > <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
> > function='0x0'/>
> > </interface>
> > * </devices>
> > *
> > * <qemu:commandline>*
> > <qemu:arg value='-set'/>
> > <qemu:arg value='device.net0.page-per-vq=on'/>
> > <qemu:arg value='-set'/>
> > <qemu:arg value='device.net0.host_mtu=8942'/>
> > * </qemu:commandline>*
> > *</domain>*
>
> Is this perhaps related to the following bug?
>
> "interface type='vhostuser' libvirtError: Cannot set interface MTU"
> https://bugzilla.redhat.com/show_bug.cgi?id=1940559
>
> Are you trying to work around it? I am discussing with Moshe how libvirt can
> help, but honestly, I don't like the solution I proposed.
>
> Long story short, the interface is in different container (among with OVS
> bridge) and thus when we query ovs-vsctl it connects to the system one and
> doesn't find that interface. What I proposed was to allow specifying path to
> ovs db.socket but this would need to be done o per domain basis.
If it is possible to specify a ovs db.socket path in the XML, then
why can't this path simply be bind mounted to the right location
in the first place.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list