RAPI: Use FillOpCode for modifying instance
authorMichael Hanselmann <hansmi@google.com>
Fri, 4 Feb 2011 12:18:33 +0000 (13:18 +0100)
committerMichael Hanselmann <hansmi@google.com>
Fri, 4 Feb 2011 12:49:04 +0000 (13:49 +0100)
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>

lib/rapi/rlib2.py
test/ganeti.rapi.rlib2_unittest.py

index 6276e00..2072944 100644 (file)
@@ -1264,30 +1264,9 @@ def _ParseModifyInstanceRequest(name, data):
   @return: Instance modify opcode
 
   """
-  osparams = baserlib.CheckParameter(data, "osparams", default={})
-  force = baserlib.CheckParameter(data, "force", default=False)
-  nics = baserlib.CheckParameter(data, "nics", default=[])
-  disks = baserlib.CheckParameter(data, "disks", default=[])
-  disk_template = baserlib.CheckParameter(data, "disk_template", default=None)
-  remote_node = baserlib.CheckParameter(data, "remote_node", default=None)
-  os_name = baserlib.CheckParameter(data, "os_name", default=None)
-  force_variant = baserlib.CheckParameter(data, "force_variant", default=False)
-
-  # HV/BE parameters
-  hvparams = baserlib.CheckParameter(data, "hvparams", default={})
-  utils.ForceDictType(hvparams, constants.HVS_PARAMETER_TYPES,
-                      allowed_values=[constants.VALUE_DEFAULT])
-
-  beparams = baserlib.CheckParameter(data, "beparams", default={})
-  utils.ForceDictType(beparams, constants.BES_PARAMETER_TYPES,
-                      allowed_values=[constants.VALUE_DEFAULT])
-
-  return opcodes.OpInstanceSetParams(instance_name=name, hvparams=hvparams,
-                                     beparams=beparams, osparams=osparams,
-                                     force=force, nics=nics, disks=disks,
-                                     disk_template=disk_template,
-                                     remote_node=remote_node, os_name=os_name,
-                                     force_variant=force_variant)
+  return baserlib.FillOpcode(opcodes.OpInstanceSetParams, data, {
+    "instance_name": name,
+    })
 
 
 class R_2_instances_name_modify(baserlib.R_Generic):
index 10dcd24..35438d3 100755 (executable)
@@ -338,9 +338,9 @@ class TestParseModifyInstanceRequest(testutils.GanetiTestCase):
                   self.assertEqual(op.nics, nics)
                   self.assertEqual(op.disks, disks)
                   self.assertEqual(op.disk_template, disk_template)
-                  self.assert_(op.remote_node is None)
-                  self.assert_(op.os_name is None)
-                  self.assertFalse(op.force_variant)
+                  self.assertFalse(hasattr(op, "remote_node"))
+                  self.assertFalse(hasattr(op, "os_name"))
+                  self.assertFalse(hasattr(op, "force_variant"))
 
   def testDefaults(self):
     name = "instir8aish31"
@@ -348,16 +348,9 @@ class TestParseModifyInstanceRequest(testutils.GanetiTestCase):
     op = self.Parse(name, {})
     self.assert_(isinstance(op, opcodes.OpInstanceSetParams))
     self.assertEqual(op.instance_name, name)
-    self.assertEqual(op.hvparams, {})
-    self.assertEqual(op.beparams, {})
-    self.assertEqual(op.osparams, {})
-    self.assertFalse(op.force)
-    self.assertEqual(op.nics, [])
-    self.assertEqual(op.disks, [])
-    self.assert_(op.disk_template is None)
-    self.assert_(op.remote_node is None)
-    self.assert_(op.os_name is None)
-    self.assertFalse(op.force_variant)
+    for i in ["hvparams", "beparams", "osparams", "force", "nics", "disks",
+              "disk_template", "remote_node", "os_name", "force_variant"]:
+      self.assertFalse(hasattr(op, i))
 
 
 class TestParseInstanceReinstallRequest(testutils.GanetiTestCase):