Change in vdsm[master]: sp: move reconnection info check to StoragePool

fsimonce at redhat.com fsimonce at redhat.com
Tue Nov 19 15:41:00 UTC 2013


Federico Simoncelli has uploaded a new change for review.

Change subject: sp: move reconnection info check to StoragePool
......................................................................

sp: move reconnection info check to StoragePool

The entire reconnection info logic belongs to the StoragePool class.

Change-Id: Ia57afc04db02b6c15633d09349a55b3ff5ae7fda
Signed-off-by: Federico Simoncelli <fsimonce at redhat.com>
---
M vdsm/storage/hsm.py
M vdsm/storage/sp.py
2 files changed, 11 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/24/21424/1

diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index 5e53f3a..68bb4ca 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -1056,9 +1056,8 @@
                 return
 
             pool = sp.StoragePool(spUUID, self.domainMonitor, self.taskMng)
-            if not hostID or not scsiKey or not msdUUID or not masterVersion:
-                hostID, scsiKey, msdUUID, masterVersion = pool.getPoolParams()
             res = pool.connect(hostID, scsiKey, msdUUID, masterVersion)
+
             if res:
                 self.pools[spUUID] = pool
                 for callback in self.domainStateChangeCallbacks:
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 0e23e1d..bf49b79 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -677,6 +677,12 @@
                       "domain: %s (ver = %s)" %
                       (hostID, self.spUUID, msdUUID, masterVersion))
 
+        if not hostID or not scsiKey or not msdUUID or not masterVersion:
+            hostID, scsiKey, msdUUID, masterVersion = self.getPoolParams()
+            self.log.info("Using saved connection parameters: hostID=%s"
+                          "scsiKey=%s, msdUUID=%s, masterVersion=%s",
+                          hostID, scsiKey, msdUUID, masterVersion)
+
         if not os.path.exists(self._poolsTmpDir):
             msg = ("StoragePoolConnectionError for hostId: %s, on poolId: %s,"
                    " Pools temp data dir: %s does not exist" %
@@ -732,21 +738,10 @@
 
     @unsecured
     def getPoolParams(self):
-        file = open(self._poolFile, "r")
-        for line in file:
-            pair = line.strip().split("=")
-            if len(pair) == 2:
-                if pair[0] == "id":
-                    hostId = int(pair[1])
-                elif pair[0] == "scsiKey":
-                    scsiKey = pair[1]
-                elif pair[0] == "sdUUID":
-                    msdUUID = pair[1]
-                elif pair[0] == "version":
-                    masterVersion = pair[1]
-        file.close()
-
-        return hostId, scsiKey, msdUUID, masterVersion
+        with open(self._poolFile, "r") as f:
+            poolInfo = dict((x.strip().split("=", 1) for x in f))
+        return tuple(poolInfo.get(x) for x in
+                     ("hostId", "scsiKey", "msdUUID", "masterVersion"))
 
     @unsecured
     def createMaster(self, poolName, domain, masterVersion, leaseParams):


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia57afc04db02b6c15633d09349a55b3ff5ae7fda
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce at redhat.com>


More information about the vdsm-patches mailing list