From 7b651654154764cd50e9c1f9240156590271f6c4 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Tue, 16 Feb 2010 19:29:06 +0100
Subject: [PATCH] ganeti-noded: Fix bug when export didn't succeed for all
 disks
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

snap_disks can contain boolean values. They weren't handled correctly.
The error message was β€œError while executing backend function: Invalid
object passed to FromDict: expected dict, got <type 'bool'>”.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 daemons/ganeti-noded | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/daemons/ganeti-noded b/daemons/ganeti-noded
index 30087f126..97feb390b 100755
--- a/daemons/ganeti-noded
+++ b/daemons/ganeti-noded
@@ -355,8 +355,14 @@ class NodeHttpServer(http.server.HttpServer):
 
     """
     instance = objects.Instance.FromDict(params[0])
-    snap_disks = [objects.Disk.FromDict(str_data)
-                  for str_data in params[1]]
+
+    snap_disks = []
+    for disk in params[1]:
+      if isinstance(disk, bool):
+        snap_disks.append(disk)
+      else:
+        snap_disks.append(objects.Disk.FromDict(disk))
+
     return backend.FinalizeExport(instance, snap_disks)
 
   @staticmethod
-- 
GitLab