New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at:
http://gerrit.usersys.redhat.com/762
commit 90ae63fe3b896607efd9b1e44e7795c1870dbb95
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Mon Jul 25 16:15:38 2011 +0300
Related to BZ#704131 - Simplify getDomains.
Change-Id: I332524d5e2a060ed11cb2d2b78235701080cb6fe
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 24722d6..4de022e 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -1181,14 +1181,8 @@ class StoragePool:
self.log.error("Unexpected error while trying to monitor domain
`%s`", sdUUID, exc_info=True)
def getDomains(self, activeOnly=False):
- doms = self.getMetaParam(PMDK_DOMAINS)
- if activeOnly:
- for sdUUID in doms.keys():
- status = doms[sdUUID]
- if status != sd.DOM_ACTIVE_STATUS:
- del doms[sdUUID]
-
- return doms
+ isActive = lambda v: True if not activeOnly else v == sd.DOM_ACTIVE_STATUS
+ return dict((k, v) for k, v in self.getMetaParam(PMDK_DOMAINS).iteritems() if
isActive(v))
def checkBackupDomain(self):
domDict = self.getDomains(activeOnly=True)