From 6f9d691974d49c944bf52732f8e591cc5f07470d Mon Sep 17 00:00:00 2001 From: Mihaela Stoica Date: Mon, 9 Jan 2017 16:14:03 +0000 Subject: [PATCH] CA-237963: On a partially upgraded pool (from Dundee to Ely) the hosts lose their consoles When getting the control domain VM, we should use the control_domain only if it is not null. there is no need to check the version (which was, however, looking at the API version of the master) --- XenModel/XenAPI-Extensions/Host.cs | 4 ++-- XenModel/XenAPI-Extensions/VM.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/XenModel/XenAPI-Extensions/Host.cs b/XenModel/XenAPI-Extensions/Host.cs index 1457bdbe7..d3b56a127 100644 --- a/XenModel/XenAPI-Extensions/Host.cs +++ b/XenModel/XenAPI-Extensions/Host.cs @@ -1137,7 +1137,7 @@ namespace XenAPI if (Connection == null) return null; - if (Helpers.DundeePlusOrGreater(Connection)) + if (!Helper.IsNullOrEmptyOpaqueRef(control_domain)) return Connection.Resolve(control_domain); var vms = Connection.ResolveAll(resident_VMs); @@ -1166,7 +1166,7 @@ namespace XenAPI var vms = Connection.ResolveAll(resident_VMs); - if (Helpers.DundeePlusOrGreater(Connection)) + if (!Helper.IsNullOrEmptyOpaqueRef(control_domain)) return vms.Where(v => v.is_control_domain && v.opaque_ref != control_domain); return vms.Where(v => v.is_control_domain && v.domid != 0); diff --git a/XenModel/XenAPI-Extensions/VM.cs b/XenModel/XenAPI-Extensions/VM.cs index 3b3fd9219..f7345d3c7 100644 --- a/XenModel/XenAPI-Extensions/VM.cs +++ b/XenModel/XenAPI-Extensions/VM.cs @@ -1490,7 +1490,7 @@ namespace XenAPI if (host == null) return false; - if (Helpers.DundeePlusOrGreater(Connection)) + if (!Helper.IsNullOrEmptyOpaqueRef(host.control_domain)) return host.control_domain == opaque_ref; var vms = Connection.ResolveAll(host.resident_VMs);