Eduardo has uploaded a new change for review.
Change subject: Read pool metadata once in StoragePool.getInfo()
......................................................................
Read pool metadata once in StoragePool.getInfo()
The behavioural change of spm_id should be safe since
StoragePool.getInfo() call in hsm.getStoragePoolInfo() is under
the (shared) pool lock making startSpm block in this host when
the info is retrieved.
Making repoStats pool independent.
Change-Id: I41a79662a4bd01fc310aa5554c38a16f3f8ba546
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/sp.py
1 file changed, 15 insertions(+), 13 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/72/14672/1
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index ed79808..19d1b0a 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -1475,26 +1475,28 @@
raise se.StoragePoolMasterNotFound(self.spUUID, msdUUID)
try:
- poolInfo = {
- 'type': msdInfo['type'],
- 'name': self.getDescription(),
- 'domains': domainListEncoder(self.getDomains()),
- 'master_uuid': msdUUID,
- 'master_ver': self.getMasterVersion(),
- 'lver': self.getMetaParam(PMDK_LVER),
- 'spm_id': self.getSpmId(),
- 'pool_status': 'uninitialized',
- 'version': str(self.getVersion()),
- 'isoprefix': '',
- }
+ pmd = self._getPoolMD(self.masterDomain)
except Exception:
self.log.error("Pool metadata error", exc_info=True)
raise se.StoragePoolActionError(self.spUUID)
+ poolInfo = {
+ 'type': msdInfo['type'],
+ 'name': pmd[PMDK_POOL_DESCRIPTION],
+ 'domains': domainListEncoder(pmd[PMDK_DOMAINS].iteritems()),
+ 'master_uuid': msdUUID,
+ 'master_ver': pmd[PMDK_MASTER_VER],
+ 'lver': pmd[PMDK_LVER],
+ 'spm_id': pmd[PMDK_SPM_ID],
+ 'pool_status': 'uninitialized',
+ 'version': str(msdInfo['version']),
+ 'isoprefix': '',
+ }
+
domInfo = {}
repoStats = self.getRepoStats()
- for sdUUID, sdStatus in self.getDomains().iteritems():
+ for sdUUID, sdStatus in pmd[PMDK_DOMAINS].iteritems():
# Return statistics for active domains only
domInfo[sdUUID] = {'status': sdStatus, 'alerts': []}
--
To view, visit
http://gerrit.ovirt.org/14672
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I41a79662a4bd01fc310aa5554c38a16f3f8ba546
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>