Since 2.14 L{objects.Instance} no longer has a disk_template
slot, thus we must obtain it indirectly via cfg.GetInstanceDiskTemplate().

Commit ff74b60 uses the _CloseInstanceDisks() helper during instance
failover in case the instance's disk template is DTS_EXT_MIRROR,
but uses the instance.disk_template value directly, which is a bug.
Fix this.

Signed-off-by: Dimitris Aragiorgis <[email protected]>
---
 lib/cmdlib/instance_migration.py |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/cmdlib/instance_migration.py b/lib/cmdlib/instance_migration.py
index 75f9a83..ca64afb 100644
--- a/lib/cmdlib/instance_migration.py
+++ b/lib/cmdlib/instance_migration.py
@@ -980,7 +980,8 @@ class TLMigrateInstance(Tasklet):
                                  (self.instance.name,
                                   self.cfg.GetNodeName(source_node_uuid), msg))
 
-    if self.instance.disk_template in constants.DTS_EXT_MIRROR:
+    disk_template = self.cfg.GetInstanceDiskTemplate(self.instance.uuid)
+    if disk_template in constants.DTS_EXT_MIRROR:
       self._CloseInstanceDisks(source_node_uuid)
 
     self.feedback_fn("* deactivating the instance's disks on source node")
-- 
1.7.10.4

Reply via email to