On Fri, Jul 20, 2007 at 10:58:24AM -0400, Daniel Veillard wrote:
> + if (resource) {
> + virXendError (conn, VIR_ERR_NO_SUPPORT,
> + "xenDaemonDomainMigrate: Xen does not support resource
limits during migration");
> + return -1;
> + }
Hum, strange, the classical Xen bandwidth during live migration of http
picture uses a 100Mbps capped transfer, so that ought to work at least
at some point in the past, weird.
Yeah, it used to be implemented, but got dropped somewhere along the line,
probably in the Xen 2 -> Xen 3 re-write. I wouldn't be surprised if it
comes back again when migrate in XenD is next touched.
> + if (strstr (uri, "//")) { /* Full URI. */
> + xmlURIPtr uriptr = xmlParseURI (uri);
> + if (!uriptr) {
> + virXendError (conn, VIR_ERR_INVALID_ARG,
> + "xenDaemonDomainMigrate: invalid URI");
> + return -1;
> + }
> + if (uriptr->scheme && STRCASENEQ (uriptr->scheme,
"tcp")) {
> + virXendError (conn, VIR_ERR_INVALID_ARG,
> + "xenDaemonDomainMigrate: only tcp:// migrations are
supported by Xen");
> + xmlFreeURI (uriptr);
> + return -1;
> + }
> + if (!uriptr->server) {
> + virXendError (conn, VIR_ERR_INVALID_ARG,
> + "xenDaemonDomainMigrate: a hostname must be
specified in the URI");
> + xmlFreeURI (uriptr);
> + return -1;
> + }
> + hostname = strdup (uriptr->server);
> + if (!hostname) {
> + virXendError (conn, VIR_ERR_NO_MEMORY, "strdup");
> + xmlFreeURI (uriptr);
> + return -1;
> + }
> + if (uriptr->port)
> + snprintf (port, sizeof port, "%d", uriptr->port);
> + xmlFreeURI (uriptr);
> + }
> + else if ((p = strrchr (uri, ':')) != NULL) { /*
"hostname:port" */
[snip]
> + else { /* "hostname" (or IP
address) */
[snip]
Hum, we say it's an uri, but we interpret is differently if
it's not absolute
this could lead to confusion. But I'm not sure being a purist here would help
that much from an user POV.
I agree - the fact that the 'uri' to virConnectOpen doesn't technically have
to
always be a URI (eg, NULL, or Xen, or xen) is a major cause of pain virt-manager
since we have to special case parsing of it, rather than just handing off to a
generic URI parser module. We should mandate wellformed URIs for the migrate
API, where wellformed is defined to be whatever libxml is able to parse :-)
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|