diff --git a/lib/cmdlib.py b/lib/cmdlib.py index be8e70cf98c222b2d01ddaf00eebb804a72891d1..ea79b28df81b40120a5c8e463e0db15325e7fe6e 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -11262,11 +11262,12 @@ class IAllocator(object): raise errors.ProgrammerError("Unknown instance '%s' passed to" " IAllocator" % self.name) - if instance.disk_template not in constants.DTS_NET_MIRROR: + if instance.disk_template not in constants.DTS_MIRRORED: raise errors.OpPrereqError("Can't relocate non-mirrored instances", errors.ECODE_INVAL) - if len(instance.secondary_nodes) != 1: + if instance.disk_template in constants.DTS_NET_MIRROR and \ + len(instance.secondary_nodes) != 1: raise errors.OpPrereqError("Instance has not exactly one secondary node", errors.ECODE_STATE)