Change in vdsm[master]: Adding monitorDomains.

ewarszaw at redhat.com ewarszaw at redhat.com
Sun May 12 06:09:55 UTC 2013


Eduardo has uploaded a new change for review.

Change subject: Adding monitorDomains.
......................................................................

Adding monitorDomains.

Making repoStats pool independent.

Change-Id: I9f148764ac030730c93bfd9c8da25a7ea434dc33
Signed-off-by: Eduardo <ewarszaw at redhat.com>
---
M vdsm/storage/hsm.py
1 file changed, 19 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/74/14674/1

diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index d3e1beb..3fb0c30 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -40,6 +40,7 @@
 
 from vdsm.config import config
 import sp
+import domainMonitor
 import sd
 import blockSD
 import nfsSD
@@ -93,6 +94,7 @@
 
 QEMU_READABLE_TIMEOUT = 30
 
+HSM_DOM_MON_LOCK = "HsmDomainMonitorLock"
 
 def public(f=None, **kwargs):
     if f is None:
@@ -395,6 +397,9 @@
                                                 name="storageRefresh")
         storageRefreshThread.daemon = True
         storageRefreshThread.start()
+
+        monitorInterval = config.getint('irs', 'sd_health_check_delay')
+        self.domainMonitor = domainMonitor.DomainMonitor(monitorInterval)
 
     def _hsmSchedule(self, name, func, *args):
         self.taskMng.scheduleJob("hsm", self.tasksDir, vars.task,
@@ -934,7 +939,10 @@
                 "spUUID=%s, msdUUID=%s, masterVersion=%s, hostID=%s, "
                 "scsiKey=%s" % (spUUID, msdUUID, masterVersion,
                                 hostID, scsiKey)))
-        return self._connectStoragePool(spUUID, hostID, scsiKey, msdUUID,
+        with rmanager.acquireResource(STORAGE, HSM_DOM_MON_LOCK,
+                                      rm.LockType.exclusive):
+            self.domainMonitor.close()
+            return self._connectStoragePool(spUUID, hostID, scsiKey, msdUUID,
                                         masterVersion, options)
 
     def _connectStoragePool(self, spUUID, hostID, scsiKey, msdUUID,
@@ -3578,3 +3586,13 @@
                 result[d] = repo_stats[d]['result']
 
         return result
+
+    @public
+    def monitorDomains(self, sdUUIDs, hostID, options=None):
+        with rmanager.acquireResource(STORAGE, HSM_DOM_MON_LOCK,
+                                      rm.LockType.exclusive):
+            if self.pools:
+                raise se.StoragePoolConnected()
+            self.domainMonitor.close()
+            for sdUUID in sdUUIDs:
+                self.domainMonitor.startMonitoring(sdUUID, hostId)


--
To view, visit http://gerrit.ovirt.org/14674
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f148764ac030730c93bfd9c8da25a7ea434dc33
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw at redhat.com>


More information about the vdsm-patches mailing list