Change in vdsm[master]: Remove force parameter in StoragePool.spmStop()

ewarszaw at redhat.com ewarszaw at redhat.com
Mon Apr 15 13:10:10 UTC 2013


Eduardo has uploaded a new change for review.

Change subject: Remove force parameter in StoragePool.spmStop()
......................................................................

Remove force parameter in StoragePool.spmStop()

Change-Id: I7eaf8883e62a72445e27f0bc9876fe61a10bcb3f
Signed-off-by: Eduardo <ewarszaw at redhat.com>
---
M vdsm/storage/sp.py
1 file changed, 20 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/29/13929/1

diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index ca20f9a..70c5802 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -340,8 +340,8 @@
 
             except Exception as e:
                 self.log.error("Unexpected error", exc_info=True)
-                self.log.error("failed: %s" % str(e))
-                self.stopSpm(force=True, __securityOverride=True)
+                self.log.error("failed: spmRole:%s %s", self.spmRole, str(e))
+                self.stopSpm(__securityOverride=True)
                 raise
 
     @unsecured
@@ -392,44 +392,46 @@
             else:
                 cls.log.debug("master `%s` is not mounted, skipping", master)
 
-    def stopSpm(self, force=False):
+    def stopSpm(self):
         with self.lock:
-            if not force and self.spmRole == SPM_FREE:
+            if self.spmRole == SPM_FREE:
                 return True
 
             self._shutDownUpgrade()
             self._setUnsafe()
 
-            stopFailed = False
-
+            failedStops = []
             try:
                 self.cleanupMasterMount()
             except:
                 # If unmounting fails the vdsm panics.
-                stopFailed = True
+                failedStops.append("cleanupMasterMount")
 
-            try:
-                if self.spmMailer:
+            if self.spmMailer:
+                try:
                     self.spmMailer.stop()
-            except:
-                # Here we are just begin polite.
-                # SPM will also clean this on start up.
-                pass
+                except:
+                    # Here we are just begin polite.
+                    # SPM will also clean this on start up.
+                    self.log.debug("fail: spmMailer %s", self.spmMailer)
 
-            if not stopFailed:
+            if not failedStops:
                 try:
                     self.setMetaParam(PMDK_SPM_ID, SPM_ID_FREE,
                                       __securityOverride=True)
                 except:
-                    pass  # The system can handle this inconsistency
+                    # The system can handle this inconsistency
+                    self.log.debug("fail: reset %s to %s",
+                                   PMDK_SPM_ID, SPM_ID_FREE)
 
             try:
                 self.masterDomain.releaseClusterLock()
             except:
-                stopFailed = True
+                failedStops.append("releaseClusterLock")
 
-            if stopFailed:
-                misc.panic("Unrecoverable errors during SPM stop process.")
+            if failedStops:
+                misc.panic("Unrecoverable errors during SPM stop process: %s.",
+                           ", ".join(failedStops))
 
             self.spmRole = SPM_FREE
 


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

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


More information about the vdsm-patches mailing list