On 3/27/19 5:16 AM, Nir Soffer wrote:
On Tue, Mar 26, 2019 at 8:14 AM Eric Blake <eblake(a)redhat.com>
wrote:
We are trying to use backup_v5a from:
https://repo.or.cz/libvirt/ericb.git
And when we start a backup with this xml:
<domainbackup mode="pull">
<server
socket="/var/run/vdsm/nbd/4f594cec-1a27-43fd-acf8-3283cacd6347.sock"
transport="unix" />
<disks>
<disk name="sda" type="file" />
</disks>
</domainbackup>
Libvirt fail with:
'Operation not supported: <domainbackup> must specify TCP server for
now'
Which comes from:
if (!def->server ||
def->server->transport != VIR_STORAGE_NET_HOST_TRANS_TCP) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("<domainbackup> must specify TCP server for
now"));
goto cleanup;
}
Still broken that way in v7.
Unix socket support is very important for us, for several reasons:
- always local, no way to configure it in the wrong way
- having permissions on the socket
- easier to manage using file system (persistence is free)
- usually perforamnce better then tcp
I have tests running our nbd client with qemu, starting a backup with unix
socket using qmp, so there is
no reason that libvirt would not support it.
Other than the time it takes someone (me probably) to wire it in.
Can we expect this to be fixed soon?
Yes, particularly now that you've called it out. If my v7 makes it into
5.2, I'll also make sure Unix sockets work.
If we must use tcp for now, can we use port=0 to get a random port from the
kernel,
and find the port by getting the backup xml?
I hope that we don't need to managed pull of ports for backups per host.
Nir
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org