'Raise' called inside 'CheckPrereq' needs the prereq kw
authorJose A. Lopes <jabolopes@google.com>
Mon, 26 May 2014 15:23:34 +0000 (17:23 +0200)
committerJose A. Lopes <jabolopes@google.com>
Wed, 28 May 2014 15:20:46 +0000 (17:20 +0200)
This patch fixes the missing 'prereq' keyword in calls to 'Raise' in
the control flow of 'CheckPrereq', and updates the tests.

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

lib/cmdlib/instance.py
lib/cmdlib/instance_migration.py
lib/cmdlib/node.py
test/py/cmdlib/node_unittest.py

index e2fedf7..7231dec 100644 (file)
@@ -1163,11 +1163,13 @@ class LUInstanceCreate(LogicalUnit):
                                      lv_name, errors.ECODE_NOTUNIQUE)
 
       vg_names = self.rpc.call_vg_list([pnode.uuid])[pnode.uuid]
-      vg_names.Raise("Cannot get VG information from node %s" % pnode.name)
+      vg_names.Raise("Cannot get VG information from node %s" % pnode.name,
+                     prereq=True)
 
       node_lvs = self.rpc.call_lv_list([pnode.uuid],
                                        vg_names.payload.keys())[pnode.uuid]
-      node_lvs.Raise("Cannot get LV information from node %s" % pnode.name)
+      node_lvs.Raise("Cannot get LV information from node %s" % pnode.name,
+                     prereq=True)
       node_lvs = node_lvs.payload
 
       delta = all_lvs.difference(node_lvs.keys())
@@ -1205,7 +1207,7 @@ class LUInstanceCreate(LogicalUnit):
       node_disks = self.rpc.call_bdev_sizes([pnode.uuid],
                                             list(all_disks))[pnode.uuid]
       node_disks.Raise("Cannot get block device information from node %s" %
-                       pnode.name)
+                       pnode.name, prereq=True)
       node_disks = node_disks.payload
       delta = all_disks.difference(node_disks.keys())
       if delta:
@@ -3072,7 +3074,8 @@ class LUInstanceSetParams(LogicalUnit):
          self.instance.hypervisor,
          cluster_hvparams)
       remote_info.Raise("Error checking node %s" %
-                        self.cfg.GetNodeName(self.instance.primary_node))
+                        self.cfg.GetNodeName(self.instance.primary_node),
+                        prereq=True)
       if not remote_info.payload: # not running already
         raise errors.OpPrereqError("Instance %s is not running" %
                                    self.instance.name, errors.ECODE_STATE)
index fff1cd7..8839bcf 100644 (file)
@@ -444,7 +444,8 @@ class TLMigrateInstance(Tasklet):
           self.instance.primary_node, self.instance.name,
           self.instance.hypervisor, cluster.hvparams[self.instance.hypervisor])
       remote_info.Raise("Error checking instance on node %s" %
-                        self.cfg.GetNodeName(self.instance.primary_node))
+                        self.cfg.GetNodeName(self.instance.primary_node),
+                        prereq=True)
       instance_running = bool(remote_info.payload)
       if instance_running:
         self.current_mem = int(remote_info.payload["memory"])
index 41214f0..c71803b 100644 (file)
@@ -282,7 +282,8 @@ class LUNodeAdd(LogicalUnit):
     #       it a property on the base class.
     rpcrunner = rpc.DnsOnlyRunner()
     result = rpcrunner.call_version([node_name])[node_name]
-    result.Raise("Can't get version information from node %s" % node_name)
+    result.Raise("Can't get version information from node %s" % node_name,
+                 prereq=True)
     if constants.PROTOCOL_VERSION == result.payload:
       logging.info("Communication to node %s fine, sw version %s match",
                    node_name, result.payload)
index dc8e124..7ac247d 100644 (file)
@@ -242,8 +242,8 @@ class TestLUNodeAdd(CmdlibTestCase):
         .Build()
 
     op = self.CopyOpCode(self.op_add)
-    self.ExecOpCodeExpectOpExecError(op, "Can't get version information from"
-                                     " node %s" % self.node_add.name)
+    self.ExecOpCodeExpectOpPrereqError(op, "Can't get version information from"
+                                       " node %s" % self.node_add.name)
 
 if __name__ == "__main__":
   testutils.GanetiTestProgram()