Moving an instance is done by copying over the disks. Restrict this to disk templates that are copyable. This avoids accidental use on, e.g., the sharedfile template.
Signed-off-by: Klaus Aehlig <[email protected]> --- lib/cmdlib.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 3bf3742..3b8663d 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -8388,6 +8388,10 @@ class LUInstanceMove(LogicalUnit): assert self.instance is not None, \ "Cannot retrieve locked instance %s" % self.op.instance_name + if instance.disk_template not in constants.DTS_COPYABLE: + raise errors.OpPrereqError("Disk template %s not suitable for copying" % + instance.disk_template, errors.ECODE_STATE) + node = self.cfg.GetNodeInfo(self.op.target_node) assert node is not None, \ "Cannot retrieve locked node %s" % self.op.target_node -- 1.8.1.3
