2011/5/24 Daniel P. Berrange <berrange(a)redhat.com>:
There are two pieces of information which are desirable for
migration, which cannot be supplied by applications
- The explicit QEMU migration URI, while using Peer2Peer
migration
- An override for the target VM XML
This introduces two new public APIs to support these extra
parameters. There is no need for extra wire protocool changes,
since this is supported by the v3 migration enhancements
* include/libvirt/libvirt.h.in,
src/libvirt.c, src/libvirt_public.syms: Add virDomainMigrate2
and virDomainMigrateToURI2
---
include/libvirt/libvirt.h.in | 12 ++
src/libvirt.c | 321 +++++++++++++++++++++++++++++++++++++++++-
src/libvirt_public.syms | 2 +
3 files changed, 332 insertions(+), 3 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c
index 2b2c1fd..4bdcd43 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
+
+/**
+ * virDomainMigrate2:
+ * @domain: a domain object
+ * @dconn: destination host (a connection object)
+ * @flags: flags
+ * @dxml: optional XML config for launching guest on target
The other optional parameters have their optional in (). So this
optional should be in () too, or the others should have their ()
removed.
+ * @dname: (optional) rename domain to this at destination
+ * @uri: (optional) dest hostname/URI as seen from the source host
+ * @bandwidth: (optional) specify migration bandwidth limit in Mbps
+ *
+ * Migrate the domain object from its current host to the destination
+ * host given by dconn (a connection to the destination host).
+ *
+/**
+ * virDomainMigrateToURI2:
+ * @domain: a domain object
+ * @dconnuri: optional URI for target libvirtd if @flags includes VIR_MIGRATE_PEER2PEER
+ * @miguri: optional URI for invoking the migration, not if @flags includs
VIR_MIGRATE_TUNNELLED
+ * @dxml: optional XML config for launching guest on target
The same comment from above about the word optional applies here too.
+ * @flags: flags
+ * @dname: (optional) rename domain to this at destination
+ * @bandwidth: (optional) specify migration bandwidth limit in Mbps
ACK to be patch as it, but do we really want to add a new public API
to 0.9.2 for a feature that no driver implements yet and might not
implement it before 0.9.2? As I understand it the URI separation
already works but the XML override isn't implemented yet. Or do you
already have the XML override implemented but did post the patch yet?
Matthias