[NEW PATCH] BZ#705058 - Don't start monitoring domains when reconstructing master (via gerrit-bot)

Yotam Oron yoron at redhat.com
Sun Jul 3 08:31:33 UTC 2011


New patch submitted by Yotam Oron (yoron at redhat.com)

You can review this change at: http://gerrit.usersys.redhat.com/634

commit 6fd3c8cf9866b42345d5573cec6b5c5dc3b8a3f0
Author: Yotam Oron <yoron at redhat.com>
Date:   Mon Jun 27 15:22:39 2011 +0300

    BZ#705058 - Don't start monitoring domains when reconstructing master
    
    recontructMaster caused domain monitoring threads to be created (repostats)
    but were never released. During "reconstructMaster" the storage pool is
    not connected and hence there is no point in monitoring domain liveness at all.
    
    Change-Id: I05914b8c3a8f304e0acda5463e1ad00630c3233b

diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index c377ee4..27619e5 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -474,9 +474,12 @@ class StoragePool:
                 self.refresh(msdUUID=msdUUID, masterVersion=masterVersion)
 
                 # TBD: Run full attachSD?
+                domains = self.getDomains()
                 for sdUUID in domDict:
-                    # Add domain to domain list in pool metadata
-                    self.setDomains(sdUUID, domDict[sdUUID], remove=False, refresh=False)
+                    domains[sdUUID] = domDict[sdUUID].capitalize()
+                # Add domain to domain list in pool metadata
+                self.setMetaParam(PMDK_DOMAINS, domains)
+                self.log.info("Set storage pool domains: %s", domains)
             finally:
                 futureMaster.releaseClusterLock()
         finally:
@@ -1148,18 +1151,6 @@ class StoragePool:
         return domain
 
 
-    def setDomains(self, sdUUID, status, remove=False, refresh=True):
-        domDict = {}
-        domDict = self.getDomains()
-        domDict[sdUUID] = status.capitalize()
-        if remove and sdUUID in domDict.keys():
-            del domDict[sdUUID]
-        self.setMetaParam(PMDK_DOMAINS, domDict)
-        self.log.info("Set storage pool domains: %s", domDict)
-        self.updateMonitoringThreads()
-        if refresh:
-            self.refresh()
-
     def invalidateMetadata(self):
         self._metadata.invalidate()
 




More information about the vdsm-patches mailing list