Because it's a valid combination. p2p still uses a separate channel
for qemu migration, so there's value in letting the user specify a manual
migrate URI for overriding auto-port, or libvirt's FQDN lookup.
What _isn't_ allowed is --migrateuri and TUNNELLED, since there is
no separate migration channel. Disallow that instead
---
tools/virsh-domain.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 4fdf4ba..eb8688d 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -8306,15 +8306,15 @@ doMigrate(void *opaque)
if ((flags & VIR_MIGRATE_PEER2PEER) ||
vshCommandOptBool(cmd, "direct")) {
- /* For peer2peer migration or direct migration we only expect one URI
- * a libvirt URI, or a hypervisor specific URI. */
- if (migrateuri != NULL) {
+ /* migrateuri doesn't make sense for tunnelled migration */
+ if (flags & VIR_MIGRATE_TUNNELLED && migrateuri != NULL) {
vshError(ctl, "%s", _("migrate: Unexpected migrateuri for
peer2peer/direct migration"));
goto out;
}
- if (virDomainMigrateToURI2(dom, desturi, NULL, xml, flags, dname, 0) == 0)
+ if (virDomainMigrateToURI2(dom, desturi, migrateuri,
+ xml, flags, dname, 0) == 0)
ret = '0';
} else {
/* For traditional live migration, connect to the destination host directly. */
--
1.8.2.1