Handle None result from BlockdevFind
authorMichael Hanselmann <hansmi@google.com>
Thu, 6 Aug 2009 11:27:27 +0000 (13:27 +0200)
committerMichael Hanselmann <hansmi@google.com>
Thu, 6 Aug 2009 16:13:35 +0000 (18:13 +0200)
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>

daemons/ganeti-noded
lib/cmdlib.py

index 941a25f..b4c0105 100755 (executable)
@@ -214,7 +214,12 @@ class NodeHttpServer(http.server.HttpServer):
 
     """
     disk = objects.Disk.FromDict(params[0])
-    return backend.BlockdevFind(disk).ToDict()
+
+    result = backend.BlockdevFind(disk)
+    if result is None:
+      return None
+
+    return result.ToDict()
 
   @staticmethod
   def perspective_blockdev_snapshot(params):
index 40c8a53..255bfe0 100644 (file)
@@ -6309,6 +6309,8 @@ class LUQueryInstanceData(NoHooksLU):
     result.Raise("Can't compute disk status for %s" % instance_name)
 
     status = result.payload
+    if status is None:
+      return None
 
     return (status.dev_path, status.major, status.minor,
             status.sync_percent, status.estimated_time,