From 9cee8f3f7e7ea753e024114af188354a78e2293a Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 21 Feb 2018 16:55:15 +0100 Subject: [PATCH] qemu: migration: Use TLS environment for NBD server if requested MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the TLS env for migration when starting the NBD server if TLS is enabled for migration. Signed-off-by: Peter Krempa Reviewed-by: Daniel P. Berrangé --- src/qemu/qemu_migration.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index a54263f39c..ec52846130 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -369,7 +369,8 @@ qemuMigrationDstStartNBDServer(virQEMUDriverPtr driver, const char *listenAddr, size_t nmigrate_disks, const char **migrate_disks, - int nbdPort) + int nbdPort, + const char *tls_alias) { int ret = -1; qemuDomainObjPrivatePtr priv = vm->privateData; @@ -411,7 +412,7 @@ qemuMigrationDstStartNBDServer(virQEMUDriverPtr driver, else if (virPortAllocatorAcquire(driver->migrationPorts, &port) < 0) goto exit_monitor; - if (qemuMonitorNBDServerStart(priv->mon, listenAddr, port, NULL) < 0) + if (qemuMonitorNBDServerStart(priv->mon, listenAddr, port, tls_alias) < 0) goto exit_monitor; } @@ -2401,9 +2402,21 @@ qemuMigrationDstPrepareAny(virQEMUDriverPtr driver, if (mig->nbd && flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) && 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, nmigrate_disks, migrate_disks, - nbdPort) < 0) { + nbdPort, nbdTLSAlias) < 0) { goto stopjob; } cookieFlags |= QEMU_MIGRATION_COOKIE_NBD; -- GitLab