From 895eb320fc7639847f70c090b295c1c13c744441 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Mon, 17 May 2010 14:40:55 +0200
Subject: [PATCH] LUExportInstance: Remove instance only if export was
 successful

Until now, the instance was always removed (if asked for by the
user). In case of export errors however, it shouldn't.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 lib/cmdlib.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index cfb1cae0e..a67710f6f 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -8978,8 +8978,13 @@ class LUExportInstance(LogicalUnit):
 
     # Remove instance if requested
     if self.remove_instance:
-      feedback_fn("Removing instance %s" % instance.name)
-      _RemoveInstance(self, feedback_fn, instance, self.ignore_remove_failures)
+      if not (compat.all(dresults) and fin_resu):
+        feedback_fn("Not removing instance %s as parts of the export failed" %
+                    instance.name)
+      else:
+        feedback_fn("Removing instance %s" % instance.name)
+        _RemoveInstance(self, feedback_fn, instance,
+                        self.ignore_remove_failures)
 
     self._CleanupExports(feedback_fn)
 
-- 
GitLab