]> xenbits.xensource.com Git - libvirt.git/commitdiff
extend logging to record configuration-related changes
authorNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Wed, 30 Mar 2011 01:19:47 +0000 (09:19 +0800)
committerDaniel Veillard <veillard@redhat.com>
Wed, 30 Mar 2011 01:19:47 +0000 (09:19 +0800)
Currently libvirt's default logging is limited and it is difficult to
determine what was happening when a proglem occurred (especially on a
machines where one don't know the detail.)  This patch helps to do that
by making additional logging available for the following events:

  creating/defining/undefining domains
  creating/defining/undefining/starting/stopping networks
  creating/defining/undefining/starting/stopping storage pools
  creating/defining/undefining/starting/stopping storage volumes.

* AUTHORS: add Naoya Horiguchi
* src/network/bridge_driver.c src/qemu/qemu_driver.c
  src/storage/storage_driver.c: provide more VIR_INFO logging

AUTHORS
src/network/bridge_driver.c
src/qemu/qemu_driver.c
src/storage/storage_driver.c

diff --git a/AUTHORS b/AUTHORS
index ad47bd97f72df204da4346b7f65b77ab5294dabc..19abaf1158b4c8372662d862fcbf8e9556cdf3bb 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -163,6 +163,7 @@ Patches have also been contributed by:
   Minoru Usui          <usui@mxm.nes.nec.co.jp>
   Tiziano Mueller      <dev-zero@gentoo.org>
   Thibault VINCENT     <thibault.vincent@smartjog.com>
+  Naoya Horiguchi      <n-horiguchi@ah.jp.nec.com>
 
   [....send patches to get your name here....]
 
index fb933a23fd1539d009a8680abece2400199625c6..ea2bfd487d67e0237f89b21add1af6ea97df2de6 100644 (file)
@@ -1731,6 +1731,7 @@ networkStartNetworkDaemon(struct network_driver *driver,
         goto err5;
     }
 
+    VIR_INFO(_("Starting up network '%s'"), network->def->name);
     network->active = 1;
 
     return 0;
@@ -2104,6 +2105,7 @@ static virNetworkPtr networkCreate(virConnectPtr conn, const char *xml) {
         goto cleanup;
     }
 
+    VIR_INFO(_("Creating network '%s'"), network->def->name);
     ret = virGetNetwork(conn, network->def->name, network->def->uuid);
 
 cleanup:
@@ -2175,6 +2177,7 @@ static virNetworkPtr networkDefine(virConnectPtr conn, const char *xml) {
         dnsmasqContextFree(dctx);
     }
 
+    VIR_INFO(_("Defining network '%s'"), network->def->name);
     ret = virGetNetwork(conn, network->def->name, network->def->uuid);
 
 cleanup:
@@ -2261,6 +2264,7 @@ static int networkUndefine(virNetworkPtr net) {
 
     }
 
+    VIR_INFO(_("Undefining network '%s'"), network->def->name);
     virNetworkRemoveInactive(&driver->networks,
                              network);
     network = NULL;
index 104e92d524506c82a6cdc27c6e688eb0d640b5fa..8505669a15e8c5a90465d51e886e9c3dbf9382e7 100644 (file)
@@ -2146,7 +2146,7 @@ qemuDomainManagedSave(virDomainPtr dom, unsigned int flags)
     if (name == NULL)
         goto cleanup;
 
-    VIR_DEBUG("Saving state to %s", name);
+    VIR_INFO("Saving state to %s", name);
 
     compressed = QEMUD_SAVE_FORMAT_RAW;
     ret = qemudDomainSaveFlag(driver, dom, vm, name, compressed);
@@ -3637,6 +3637,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) {
 
     if (virDomainSaveConfig(driver->configDir,
                             vm->newDef ? vm->newDef : vm->def) < 0) {
+        VIR_INFO(_("Defining domain '%s'"), vm->def->name);
         virDomainRemoveInactive(&driver->domains,
                                 vm);
         vm = NULL;
@@ -3649,6 +3650,7 @@ static virDomainPtr qemudDomainDefine(virConnectPtr conn, const char *xml) {
                                      VIR_DOMAIN_EVENT_DEFINED_ADDED :
                                      VIR_DOMAIN_EVENT_DEFINED_UPDATED);
 
+    VIR_INFO(_("Creating domain '%s'"), vm->def->name);
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid);
     if (dom) dom->id = vm->def->id;
 
@@ -3698,6 +3700,7 @@ static int qemudDomainUndefine(virDomainPtr dom) {
                                      VIR_DOMAIN_EVENT_UNDEFINED,
                                      VIR_DOMAIN_EVENT_UNDEFINED_REMOVED);
 
+    VIR_INFO(_("Undefining domain '%s'"), vm->def->name);
     virDomainRemoveInactive(&driver->domains,
                             vm);
     vm = NULL;
index cf1f6d47e3bdc08448b142e85f9ba55fc01d18f7..1ea5d120d05eb885b9750f46c30d065b78a74b2a 100644 (file)
@@ -551,6 +551,7 @@ storagePoolCreate(virConnectPtr conn,
         pool = NULL;
         goto cleanup;
     }
+    VIR_INFO(_("Creating storage pool '%s'"), pool->def->name);
     pool->active = 1;
 
     ret = virGetStoragePool(conn, pool->def->name, pool->def->uuid);
@@ -592,6 +593,7 @@ storagePoolDefine(virConnectPtr conn,
     }
     def = NULL;
 
+    VIR_INFO(_("Defining storage pool '%s'"), pool->def->name);
     ret = virGetStoragePool(conn, pool->def->name, pool->def->uuid);
 
 cleanup:
@@ -641,6 +643,7 @@ storagePoolUndefine(virStoragePoolPtr obj) {
     VIR_FREE(pool->configFile);
     VIR_FREE(pool->autostartLink);
 
+    VIR_INFO(_("Undefining storage pool '%s'"), pool->def->name);
     virStoragePoolObjRemove(&driver->pools, pool);
     pool = NULL;
     ret = 0;
@@ -688,6 +691,7 @@ storagePoolStart(virStoragePoolPtr obj,
         goto cleanup;
     }
 
+    VIR_INFO(_("Starting up storage pool '%s'"), pool->def->name);
     pool->active = 1;
     ret = 0;
 
@@ -775,6 +779,7 @@ storagePoolDestroy(virStoragePoolPtr obj) {
     virStoragePoolObjClearVols(pool);
 
     pool->active = 0;
+    VIR_INFO(_("Shutting down storage pool '%s'"), pool->def->name);
 
     if (pool->configFile == NULL) {
         virStoragePoolObjRemove(&driver->pools, pool);
@@ -831,6 +836,7 @@ storagePoolDelete(virStoragePoolPtr obj,
     }
     if (backend->deletePool(obj->conn, pool, flags) < 0)
         goto cleanup;
+    VIR_INFO(_("Deleting storage pool '%s'"), pool->def->name);
     ret = 0;
 
 cleanup:
@@ -1356,6 +1362,8 @@ storageVolumeCreateXML(virStoragePoolPtr obj,
 
     }
 
+    VIR_INFO(_("Creating volume '%s' in storage pool '%s'"),
+             volobj->name, pool->def->name);
     ret = volobj;
     volobj = NULL;
     voldef = NULL;
@@ -1514,6 +1522,8 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj,
         goto cleanup;
     }
 
+    VIR_INFO(_("Creating volume '%s' in storage pool '%s'"),
+             volobj->name, pool->def->name);
     ret = volobj;
     volobj = NULL;
 
@@ -1918,6 +1928,8 @@ storageVolumeDelete(virStorageVolPtr obj,
 
     for (i = 0 ; i < pool->volumes.count ; i++) {
         if (pool->volumes.objs[i] == vol) {
+            VIR_INFO(_("Deleting volume '%s' from storage pool '%s'"),
+                     vol->name, pool->def->name);
             virStorageVolDefFree(vol);
             vol = NULL;