mirror of https://gitee.com/openkylin/libvirt.git
Improve debug logging of migration APIs
* src/libvirt.c: Add further debug lines in helper APIs for migration * src/qemu/qemu_migration.c: Add debug lines for all internal migration API parameters
This commit is contained in:
parent
1853bd9d6e
commit
03547eee92
|
@ -3514,6 +3514,8 @@ virDomainMigrateVersion1 (virDomainPtr domain,
|
||||||
char *cookie = NULL;
|
char *cookie = NULL;
|
||||||
int cookielen = 0, ret;
|
int cookielen = 0, ret;
|
||||||
virDomainInfo info;
|
virDomainInfo info;
|
||||||
|
VIR_DOMAIN_DEBUG(domain, "dconn=%p flags=%lu, dname=%s, uri=%s, bandwidth=%lu",
|
||||||
|
dconn, flags, NULLSTR(dname), NULLSTR(uri), bandwidth);
|
||||||
|
|
||||||
ret = virDomainGetInfo (domain, &info);
|
ret = virDomainGetInfo (domain, &info);
|
||||||
if (ret == 0 && info.state == VIR_DOMAIN_PAUSED) {
|
if (ret == 0 && info.state == VIR_DOMAIN_PAUSED) {
|
||||||
|
@ -3604,6 +3606,8 @@ virDomainMigrateVersion2 (virDomainPtr domain,
|
||||||
virDomainInfo info;
|
virDomainInfo info;
|
||||||
virErrorPtr orig_err = NULL;
|
virErrorPtr orig_err = NULL;
|
||||||
int cancelled;
|
int cancelled;
|
||||||
|
VIR_DOMAIN_DEBUG(domain, "dconn=%p flags=%lu, dname=%s, uri=%s, bandwidth=%lu",
|
||||||
|
dconn, flags, NULLSTR(dname), NULLSTR(uri), bandwidth);
|
||||||
|
|
||||||
/* Prepare the migration.
|
/* Prepare the migration.
|
||||||
*
|
*
|
||||||
|
@ -3637,7 +3641,7 @@ virDomainMigrateVersion2 (virDomainPtr domain,
|
||||||
flags |= VIR_MIGRATE_PAUSED;
|
flags |= VIR_MIGRATE_PAUSED;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_DEBUG("Prepare2 %p", dconn);
|
VIR_DEBUG("Prepare2 %p flags=%lu", dconn, flags);
|
||||||
ret = dconn->driver->domainMigratePrepare2
|
ret = dconn->driver->domainMigratePrepare2
|
||||||
(dconn, &cookie, &cookielen, uri, &uri_out, flags, dname,
|
(dconn, &cookie, &cookielen, uri, &uri_out, flags, dname,
|
||||||
bandwidth, dom_xml);
|
bandwidth, dom_xml);
|
||||||
|
@ -3736,6 +3740,10 @@ virDomainMigrateVersion3(virDomainPtr domain,
|
||||||
virDomainInfo info;
|
virDomainInfo info;
|
||||||
virErrorPtr orig_err = NULL;
|
virErrorPtr orig_err = NULL;
|
||||||
int cancelled;
|
int cancelled;
|
||||||
|
VIR_DOMAIN_DEBUG(domain, "dconn=%p xmlin=%s, flags=%lu, "
|
||||||
|
"dname=%s, uri=%s, bandwidth=%lu",
|
||||||
|
dconn, NULLSTR(xmlin), flags,
|
||||||
|
NULLSTR(dname), NULLSTR(uri), bandwidth);
|
||||||
|
|
||||||
if (!domain->conn->driver->domainMigrateBegin3 ||
|
if (!domain->conn->driver->domainMigrateBegin3 ||
|
||||||
!domain->conn->driver->domainMigratePerform3 ||
|
!domain->conn->driver->domainMigratePerform3 ||
|
||||||
|
@ -3759,7 +3767,7 @@ virDomainMigrateVersion3(virDomainPtr domain,
|
||||||
flags |= VIR_MIGRATE_PAUSED;
|
flags |= VIR_MIGRATE_PAUSED;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_DEBUG("Prepare3 %p", dconn);
|
VIR_DEBUG("Prepare3 %p flags=%lu", dconn, flags);
|
||||||
cookiein = cookieout;
|
cookiein = cookieout;
|
||||||
cookieinlen = cookieoutlen;
|
cookieinlen = cookieoutlen;
|
||||||
cookieout = NULL;
|
cookieout = NULL;
|
||||||
|
@ -3883,6 +3891,10 @@ virDomainMigratePeer2Peer (virDomainPtr domain,
|
||||||
unsigned long bandwidth)
|
unsigned long bandwidth)
|
||||||
{
|
{
|
||||||
xmlURIPtr tempuri = NULL;
|
xmlURIPtr tempuri = NULL;
|
||||||
|
VIR_DOMAIN_DEBUG(domain, "xmlin=%s, flags=%lu, dname=%s, "
|
||||||
|
"dconnuri=%s, uri=%s, bandwidth=%lu",
|
||||||
|
NULLSTR(xmlin), flags, NULLSTR(dname),
|
||||||
|
NULLSTR(dconnuri), NULLSTR(uri), bandwidth);
|
||||||
|
|
||||||
if (!domain->conn->driver->domainMigratePerform) {
|
if (!domain->conn->driver->domainMigratePerform) {
|
||||||
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||||
|
@ -3964,6 +3976,9 @@ virDomainMigrateDirect (virDomainPtr domain,
|
||||||
const char *uri,
|
const char *uri,
|
||||||
unsigned long bandwidth)
|
unsigned long bandwidth)
|
||||||
{
|
{
|
||||||
|
VIR_DOMAIN_DEBUG(domain, "xmlin=%s, flags=%lu, dname=%s, uri=%s, bandwidth=%lu",
|
||||||
|
NULLSTR(xmlin), flags, NULLSTR(dname), NULLSTR(uri), bandwidth);
|
||||||
|
|
||||||
if (!domain->conn->driver->domainMigratePerform) {
|
if (!domain->conn->driver->domainMigratePerform) {
|
||||||
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||||
virDispatchError(domain->conn);
|
virDispatchError(domain->conn);
|
||||||
|
|
|
@ -875,6 +875,8 @@ char *qemuMigrationBegin(struct qemud_driver *driver,
|
||||||
{
|
{
|
||||||
char *rv = NULL;
|
char *rv = NULL;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, vm=%p, xmlin=%s, cookieout=%p, cookieoutlen=%p",
|
||||||
|
driver, vm, NULLSTR(xmlin), cookieout, cookieoutlen);
|
||||||
|
|
||||||
if (xmlin) {
|
if (xmlin) {
|
||||||
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
qemuReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
@ -935,6 +937,10 @@ qemuMigrationPrepareTunnel(struct qemud_driver *driver,
|
||||||
qemuDomainObjPrivatePtr priv = NULL;
|
qemuDomainObjPrivatePtr priv = NULL;
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, dconn=%p, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"cookieout=%p, cookieoutlen=%p, st=%p, dname=%s, dom_xml=%s",
|
||||||
|
driver, dconn, NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, st, NULLSTR(dname), dom_xml);
|
||||||
|
|
||||||
if (gettimeofday(&now, NULL) < 0) {
|
if (gettimeofday(&now, NULL) < 0) {
|
||||||
virReportSystemError(errno, "%s",
|
virReportSystemError(errno, "%s",
|
||||||
|
@ -1090,6 +1096,12 @@ qemuMigrationPrepareDirect(struct qemud_driver *driver,
|
||||||
qemuDomainObjPrivatePtr priv = NULL;
|
qemuDomainObjPrivatePtr priv = NULL;
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, dconn=%p, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"cookieout=%p, cookieoutlen=%p, uri_in=%s, uri_out=%p, "
|
||||||
|
"dname=%s, dom_xml=%s",
|
||||||
|
driver, dconn, NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, NULLSTR(uri_in), uri_out,
|
||||||
|
NULLSTR(dname), dom_xml);
|
||||||
|
|
||||||
if (gettimeofday(&now, NULL) < 0) {
|
if (gettimeofday(&now, NULL) < 0) {
|
||||||
virReportSystemError(errno, "%s",
|
virReportSystemError(errno, "%s",
|
||||||
|
@ -1292,6 +1304,10 @@ static int doNativeMigrate(struct qemud_driver *driver,
|
||||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
unsigned int background_flags = QEMU_MONITOR_MIGRATE_BACKGROUND;
|
unsigned int background_flags = QEMU_MONITOR_MIGRATE_BACKGROUND;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, vm=%p, uri=%s, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"cookieout=%p, cookieoutlen=%p, flags=%u, dname=%s, resource=%lu",
|
||||||
|
driver, vm, uri, NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, flags, NULLSTR(dname), resource);
|
||||||
|
|
||||||
if (!(mig = qemuMigrationEatCookie(vm, cookiein, cookieinlen,
|
if (!(mig = qemuMigrationEatCookie(vm, cookiein, cookieinlen,
|
||||||
QEMU_MIGRATION_COOKIE_GRAPHICS)))
|
QEMU_MIGRATION_COOKIE_GRAPHICS)))
|
||||||
|
@ -1485,6 +1501,10 @@ static int doTunnelMigrate(struct qemud_driver *driver,
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
qemuMigrationIOThreadPtr iothread = NULL;
|
qemuMigrationIOThreadPtr iothread = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, vm=%p, st=%p, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"cookieout=%p, cookieoutlen=%p, flags=%lu, resource=%lu",
|
||||||
|
driver, vm, st, NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, flags, resource);
|
||||||
|
|
||||||
if (!qemuCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATE_QEMU_UNIX) &&
|
if (!qemuCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATE_QEMU_UNIX) &&
|
||||||
!qemuCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATE_QEMU_EXEC)) {
|
!qemuCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATE_QEMU_EXEC)) {
|
||||||
|
@ -1685,6 +1705,10 @@ static int doPeer2PeerMigrate2(struct qemud_driver *driver,
|
||||||
virErrorPtr orig_err = NULL;
|
virErrorPtr orig_err = NULL;
|
||||||
int cancelled;
|
int cancelled;
|
||||||
virStreamPtr st = NULL;
|
virStreamPtr st = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, sconn=%p, dconn=%p, vm=%p, dconnuri=%s, "
|
||||||
|
"flags=%lu, dname=%s, resource=%lu",
|
||||||
|
driver, sconn, dconn, vm, NULLSTR(dconnuri),
|
||||||
|
flags, NULLSTR(dname), resource);
|
||||||
|
|
||||||
/* In version 2 of the protocol, the prepare step is slightly
|
/* In version 2 of the protocol, the prepare step is slightly
|
||||||
* different. We fetch the domain XML of the source domain
|
* different. We fetch the domain XML of the source domain
|
||||||
|
@ -1824,8 +1848,12 @@ static int doPeer2PeerMigrate3(struct qemud_driver *driver,
|
||||||
virErrorPtr orig_err = NULL;
|
virErrorPtr orig_err = NULL;
|
||||||
int cancelled;
|
int cancelled;
|
||||||
virStreamPtr st = NULL;
|
virStreamPtr st = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, sconn=%p, dconn=%p, vm=%p, xmlin=%s, "
|
||||||
|
"dconnuri=%s, uri=%s, flags=%lu, dname=%s, resource=%lu",
|
||||||
|
driver, sconn, dconn, vm, NULLSTR(xmlin),
|
||||||
|
NULLSTR(dconnuri), NULLSTR(uri), flags,
|
||||||
|
NULLSTR(dname), resource);
|
||||||
|
|
||||||
VIR_DEBUG("Begin3 %p", sconn);
|
|
||||||
dom_xml = qemuMigrationBegin(driver, vm, xmlin,
|
dom_xml = qemuMigrationBegin(driver, vm, xmlin,
|
||||||
&cookieout, &cookieoutlen);
|
&cookieout, &cookieoutlen);
|
||||||
if (!dom_xml)
|
if (!dom_xml)
|
||||||
|
@ -1983,6 +2011,10 @@ static int doPeer2PeerMigrate(struct qemud_driver *driver,
|
||||||
virConnectPtr dconn = NULL;
|
virConnectPtr dconn = NULL;
|
||||||
bool p2p;
|
bool p2p;
|
||||||
bool v3;
|
bool v3;
|
||||||
|
VIR_DEBUG("driver=%p, sconn=%p, vm=%p, xmlin=%s, dconnuri=%s, "
|
||||||
|
"uri=%s, flags=%lu, dname=%s, resource=%lu",
|
||||||
|
driver, sconn, vm, NULLSTR(xmlin), NULLSTR(dconnuri),
|
||||||
|
NULLSTR(uri), flags, NULLSTR(dname), resource);
|
||||||
|
|
||||||
/* the order of operations is important here; we make sure the
|
/* the order of operations is important here; we make sure the
|
||||||
* destination side is completely setup before we touch the source
|
* destination side is completely setup before we touch the source
|
||||||
|
@ -2053,6 +2085,13 @@ int qemuMigrationPerform(struct qemud_driver *driver,
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
int resume = 0;
|
int resume = 0;
|
||||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
|
VIR_DEBUG("driver=%p, conn=%p, vm=%p, xmlin=%s, dconnuri=%s, "
|
||||||
|
"uri=%s, cookiein=%s, cookieinlen=%d, cookieout=%p, "
|
||||||
|
"cookieoutlen=%p, flags=%lu, dname=%s, resource=%lu, v3proto=%d",
|
||||||
|
driver, conn, vm, NULLSTR(xmlin), NULLSTR(dconnuri),
|
||||||
|
NULLSTR(uri), NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, flags, NULLSTR(dname),
|
||||||
|
resource, v3proto);
|
||||||
|
|
||||||
if (qemuDomainObjBeginJobWithDriver(driver, vm) < 0)
|
if (qemuDomainObjBeginJobWithDriver(driver, vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -2206,6 +2245,10 @@ qemuMigrationFinish(struct qemud_driver *driver,
|
||||||
int newVM = 1;
|
int newVM = 1;
|
||||||
qemuDomainObjPrivatePtr priv = NULL;
|
qemuDomainObjPrivatePtr priv = NULL;
|
||||||
qemuMigrationCookiePtr mig = NULL;
|
qemuMigrationCookiePtr mig = NULL;
|
||||||
|
VIR_DEBUG("driver=%p, dconn=%p, vm=%p, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"cookieout=%p, cookieoutlen=%p, flags=%lu, retcode=%d",
|
||||||
|
driver, dconn, vm, NULLSTR(cookiein), cookieinlen,
|
||||||
|
cookieout, cookieoutlen, flags, retcode);
|
||||||
|
|
||||||
priv = vm->privateData;
|
priv = vm->privateData;
|
||||||
if (priv->jobActive != QEMU_JOB_MIGRATION_IN) {
|
if (priv->jobActive != QEMU_JOB_MIGRATION_IN) {
|
||||||
|
@ -2356,6 +2399,10 @@ int qemuMigrationConfirm(struct qemud_driver *driver,
|
||||||
qemuMigrationCookiePtr mig;
|
qemuMigrationCookiePtr mig;
|
||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
int rv = -1;
|
int rv = -1;
|
||||||
|
VIR_DEBUG("driver=%p, conn=%p, vm=%p, cookiein=%s, cookieinlen=%d, "
|
||||||
|
"flags=%u, retcode=%d",
|
||||||
|
driver, conn, vm, NULLSTR(cookiein), cookieinlen,
|
||||||
|
flags, retcode);
|
||||||
|
|
||||||
if (!(mig = qemuMigrationEatCookie(vm, cookiein, cookieinlen, 0)))
|
if (!(mig = qemuMigrationEatCookie(vm, cookiein, cookieinlen, 0)))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue