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

Yotam Oron yoron at redhat.com
Sun Jul 10 17:28:41 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 d29a1361d4473066fb5118562babd3f0f26f28ef
Author: Yotam Oron <yoron at redhat.com>
Date:   Mon Jun 27 15:22:39 2011 +0300

    Related to 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