mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: migration: Use TLS environment for NBD server if requested
Use the TLS env for migration when starting the NBD server if TLS is enabled for migration. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
17d34b482b
commit
9cee8f3f7e
@ -369,7 +369,8 @@ qemuMigrationDstStartNBDServer(virQEMUDriverPtr driver,
|
|||||||
const char *listenAddr,
|
const char *listenAddr,
|
||||||
size_t nmigrate_disks,
|
size_t nmigrate_disks,
|
||||||
const char **migrate_disks,
|
const char **migrate_disks,
|
||||||
int nbdPort)
|
int nbdPort,
|
||||||
|
const char *tls_alias)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
@ -411,7 +412,7 @@ qemuMigrationDstStartNBDServer(virQEMUDriverPtr driver,
|
|||||||
else if (virPortAllocatorAcquire(driver->migrationPorts, &port) < 0)
|
else if (virPortAllocatorAcquire(driver->migrationPorts, &port) < 0)
|
||||||
goto exit_monitor;
|
goto exit_monitor;
|
||||||
|
|
||||||
if (qemuMonitorNBDServerStart(priv->mon, listenAddr, port, NULL) < 0)
|
if (qemuMonitorNBDServerStart(priv->mon, listenAddr, port, tls_alias) < 0)
|
||||||
goto exit_monitor;
|
goto exit_monitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2401,9 +2402,21 @@ qemuMigrationDstPrepareAny(virQEMUDriverPtr driver,
|
|||||||
if (mig->nbd &&
|
if (mig->nbd &&
|
||||||
flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
|
flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
|
||||||
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
|
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
|
||||||
|
const char *nbdTLSAlias = NULL;
|
||||||
|
|
||||||
|
if (flags & VIR_MIGRATE_TLS) {
|
||||||
|
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_TLS)) {
|
||||||
|
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||||
|
_("QEMU NBD server does not support TLS transport"));
|
||||||
|
goto stopjob;
|
||||||
|
}
|
||||||
|
|
||||||
|
nbdTLSAlias = tlsAlias;
|
||||||
|
}
|
||||||
|
|
||||||
if (qemuMigrationDstStartNBDServer(driver, vm, incoming->address,
|
if (qemuMigrationDstStartNBDServer(driver, vm, incoming->address,
|
||||||
nmigrate_disks, migrate_disks,
|
nmigrate_disks, migrate_disks,
|
||||||
nbdPort) < 0) {
|
nbdPort, nbdTLSAlias) < 0) {
|
||||||
goto stopjob;
|
goto stopjob;
|
||||||
}
|
}
|
||||||
cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
|
cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
|
||||||
|
Loading…
Reference in New Issue
Block a user