From ff4cd4d222215219a445e87f7ea3022c32205e82 Mon Sep 17 00:00:00 2001
From: Iustin Pop <iustin@google.com>
Date: Sun, 16 Jan 2011 17:28:33 +0100
Subject: [PATCH] query: return UNAVAIL for "wrong" HV parameters

If a HV parameter is required that does not apply for an instance,
currently the code returns None. This is bad, as it means we cannot
switch to the actual HV parameter types and validate correctly this
field.

This patch changes it so that in this case we return QRFS_UNAVAIL;
ideally we would use a NOT_APPROPRIATE or similar field, but UNAVAIL is
good enough (the call cannot fail in another way).

Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
---
 lib/query.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/query.py b/lib/query.py
index 7caa9c5a7..581998160 100644
--- a/lib/query.py
+++ b/lib/query.py
@@ -1038,7 +1038,7 @@ def _GetInstanceParameterFields():
 
   # HV params
   def _GetInstHvParam(name):
-    return lambda ctx, _: ctx.inst_hvparams.get(name, None)
+    return lambda ctx, _: ctx.inst_hvparams.get(name, _FS_UNAVAIL)
 
   fields.extend([
     # For now all hypervisor parameters are exported as QFT_OTHER
-- 
GitLab