Fix error handling in replace-disks with new node
authorIustin Pop <iustin@google.com>
Mon, 9 Mar 2009 15:12:01 +0000 (15:12 +0000)
committerIustin Pop <iustin@google.com>
Mon, 9 Mar 2009 15:12:01 +0000 (15:12 +0000)
Currently the _CreateSingleBlockDev function only raises OpExecError and not
BlockDeviceError. This means that we don't release the instance's temporary
minors properly, and this creates problems later if the instance is removed
without master restart.

We could just use OpExecError, but adding it and leaving
BlockDeviceError in seems safer.

Reviewed-by: imsnah

lib/cmdlib.py

index 6ad6c04..a3150b1 100644 (file)
@@ -5297,7 +5297,7 @@ class LUReplaceDisks(LogicalUnit):
       try:
         _CreateSingleBlockDev(self, new_node, instance, new_drbd,
                               _GetInstanceInfoText(instance), False)
-      except errors.BlockDeviceError:
+      except errors.GenericError:
         self.cfg.ReleaseDRBDMinors(instance.name)
         raise