From e9d622bceec27c3065bb360e8dfb4718a0e55deb Mon Sep 17 00:00:00 2001
From: Guido Trotter <ultrotter@google.com>
Date: Sun, 1 Feb 2009 09:48:37 +0000
Subject: [PATCH] gnt-instance: support no_PARAMETER value

Since parameters get set to False if a no_ is prefixed don't try to
interpret those boolean values, and pass them unchanged.

Reviewed-by: iustinp
---
 scripts/gnt-instance | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/scripts/gnt-instance b/scripts/gnt-instance
index 1ee42a3d4..239fc3d06 100755
--- a/scripts/gnt-instance
+++ b/scripts/gnt-instance
@@ -1182,19 +1182,21 @@ def SetInstanceParams(opts, args):
     return 1
 
   for param in opts.beparams:
-    if opts.beparams[param].lower() == "default":
-      opts.beparams[param] = constants.VALUE_DEFAULT
-    elif opts.beparams[param].lower() == "none":
-      opts.beparams[param] = constants.VALUE_NONE
-    elif param == constants.BE_MEMORY:
-      opts.beparams[constants.BE_MEMORY] = \
-        utils.ParseUnit(opts.beparams[constants.BE_MEMORY])
+    if isinstance(opts.beparams[param], basestring):
+      if opts.beparams[param].lower() == "default":
+        opts.beparams[param] = constants.VALUE_DEFAULT
+      elif opts.beparams[param].lower() == "none":
+        opts.beparams[param] = constants.VALUE_NONE
+      elif param == constants.BE_MEMORY:
+        opts.beparams[constants.BE_MEMORY] = \
+          utils.ParseUnit(opts.beparams[constants.BE_MEMORY])
 
   for param in opts.hypervisor:
-    if opts.hypervisor[param].lower() == "default":
-      opts.hypervisor[param] = constants.VALUE_DEFAULT
-    elif opts.hypervisor[param].lower() == "none":
-      opts.hypervisor[param] = constants.VALUE_NONE
+    if isinstance(opts.hypervisor[param], basestring):
+      if opts.hypervisor[param].lower() == "default":
+        opts.hypervisor[param] = constants.VALUE_DEFAULT
+      elif opts.hypervisor[param].lower() == "none":
+        opts.hypervisor[param] = constants.VALUE_NONE
 
   for idx, (nic_op, nic_dict) in enumerate(opts.nics):
     try:
-- 
GitLab