[libvirt] [patch v3 1/2] Add support for migration URI configuration

Chen Fan chen.fan.fnst at cn.fujitsu.com
Wed May 7 10:11:49 UTC 2014


Signed-off-by: Chen Fan <chen.fan.fnst at cn.fujitsu.com>
---
 src/qemu/qemu.conf        | 5 ++++-
 src/qemu/qemu_conf.c      | 2 ++
 src/qemu/qemu_conf.h      | 2 ++
 src/qemu/qemu_migration.c | 5 +++++
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
index f0e802f..2973631 100644
--- a/src/qemu/qemu.conf
+++ b/src/qemu/qemu.conf
@@ -449,7 +449,10 @@
 #
 #seccomp_sandbox = 1
 
-
+# Override the URI used for any specific migration URI to be sent.
+# Defaults to NULL, will be set to as "tcp://hostIP[:port]".
+#
+#migrate_uri = "tcp://hostIP:port"
 
 # Override the listen address for all incoming migrations. Defaults to
 # 0.0.0.0, or :: if both host and qemu are capable of IPv6.
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 198ee2f..0bd943d 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -576,6 +576,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
 
     GET_VALUE_STR("migration_address", cfg->migrationAddress);
 
+    GET_VALUE_STR("migrate_uri", cfg->migrateUri);
+
     ret = 0;
 
  cleanup:
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index a36ea63..2e45421 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -167,6 +167,8 @@ struct _virQEMUDriverConfig {
     char *migrationAddress;
     int migrationPortMin;
     int migrationPortMax;
+
+    char *migrateUri;
 };
 
 /* Main driver state */
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index a9f7fea..bcf966a 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2639,6 +2639,7 @@ qemuMigrationPrepareDirect(virQEMUDriverPtr driver,
     int ret = -1;
     virURIPtr uri = NULL;
     bool well_formed_uri = true;
+    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
 
     VIR_DEBUG("driver=%p, dconn=%p, cookiein=%s, cookieinlen=%d, "
               "cookieout=%p, cookieoutlen=%p, uri_in=%s, uri_out=%p, "
@@ -2649,6 +2650,10 @@ qemuMigrationPrepareDirect(virQEMUDriverPtr driver,
 
     *uri_out = NULL;
 
+    if (uri_in == NULL && cfg->migrateUri) {
+        uri_in = cfg->migrateUri;
+    }
+
     /* The URI passed in may be NULL or a string "tcp://somehostname:port".
      *
      * If the URI passed in is NULL then we allocate a port number
-- 
1.8.1.4




More information about the libvir-list mailing list