]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_conf: Introduce "migration_address"
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 9 Oct 2013 09:32:55 +0000 (11:32 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 11 Oct 2013 09:11:33 +0000 (11:11 +0200)
This configuration knob is there to override default listen address for
-incoming for all qemu domains.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/libvirtd_qemu.aug
src/qemu/qemu.conf
src/qemu/qemu_conf.c
src/qemu/qemu_conf.h
src/qemu/qemu_driver.c
src/qemu/test_libvirtd_qemu.aug.in

index cd13d53e3bf870adf495d2c15cb4ef6a87d514d4..591d78dd9598e7a0e04751eb97dd8b9f7a305ebb 100644 (file)
@@ -78,6 +78,8 @@ module Libvirtd_qemu =
                  | int_entry "keepalive_interval"
                  | int_entry "keepalive_count"
 
+   let network_entry = str_entry "migration_address"
+
    (* Each entry in the config is one of the following ... *)
    let entry = vnc_entry
              | spice_entry
@@ -88,6 +90,7 @@ module Libvirtd_qemu =
              | process_entry
              | device_entry
              | rpc_entry
+             | network_entry
 
    let comment = [ label "#comment" . del /#[ \t]*/ "# " .  store /([^ \t\n][^\n]*)?/ . del /\n/ "\n" ]
    let empty = [ label "#empty" . eol ]
index 5fd6263c8fa73afc7cff74cf7b74817f862e9330..4403aaf41a05ea596a30bf685a69f3f995b2be36 100644 (file)
 # Defaults to -1.
 #
 #seccomp_sandbox = 1
+
+
+
+# Override the listen address for all incoming migrations. Defaults to
+# 0.0.0.0 or :: in case if both host and qemu are capable of IPv6.
+#migration_address = "127.0.0.1"
index 1a41caf93f631d6dbe1434943603dec58353eb72..16a0b920d30a9d6800d41d397fe2dfef963acd1b 100644 (file)
@@ -546,6 +546,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
 
     GET_VALUE_LONG("seccomp_sandbox", cfg->seccompSandbox);
 
+    GET_VALUE_STR("migration_address", cfg->migrationAddress);
+
     ret = 0;
 
 cleanup:
index da29a2aa2aaf6ca2d6eb5c08529d7c1f6e30377d..40adfcee1838a646099807b98f15a17f7b7deccf 100644 (file)
@@ -155,6 +155,9 @@ struct _virQEMUDriverConfig {
     unsigned int keepAliveCount;
 
     int seccompSandbox;
+
+    /* The default for -incoming */
+    char *migrationAddress;
 };
 
 /* Main driver state */
index ebf5ccf01763dc4e19e07cd81c8783f69c4274e4..fd61aa84202f091b3624e75f8a5fc46b449f1cc3 100644 (file)
@@ -10262,17 +10262,18 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn,
                                 unsigned int flags)
 {
     virQEMUDriverPtr driver = dconn->privateData;
+    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     virDomainDefPtr def = NULL;
     const char *dom_xml = NULL;
     const char *dname = NULL;
     const char *uri_in = NULL;
-    const char *listenAddress = NULL;
+    const char *listenAddress = cfg->migrationAddress;
     char *origname = NULL;
     int ret = -1;
 
-    virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
+    virCheckFlagsGoto(QEMU_MIGRATION_FLAGS, cleanup);
     if (virTypedParamsValidate(params, nparams, QEMU_MIGRATION_PARAMETERS) < 0)
-        return -1;
+        goto cleanup;
 
     if (virTypedParamsGetString(params, nparams,
                                 VIR_MIGRATE_PARAM_DEST_XML,
@@ -10286,7 +10287,7 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn,
         virTypedParamsGetString(params, nparams,
                                 VIR_MIGRATE_PARAM_LISTEN_ADDRESS,
                                 &listenAddress) < 0)
-        return -1;
+        goto cleanup;
 
     if (flags & VIR_MIGRATE_TUNNELLED) {
         /* this is a logical error; we never should have gotten here with
@@ -10313,6 +10314,7 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn,
 cleanup:
     VIR_FREE(origname);
     virDomainDefFree(def);
+    virObjectUnref(cfg);
     return ret;
 }
 
index ea770dc5a49fb341b89d328d505f56b29b46534f..4b27db101a2a06f984f3a97db2f6a14f0d8cf571 100644 (file)
@@ -66,3 +66,4 @@ module Test_libvirtd_qemu =
 { "keepalive_interval" = "5" }
 { "keepalive_count" = "5" }
 { "seccomp_sandbox" = "1" }
+{ "migration_address" = "127.0.0.1" }