From f08afb2bae1d2aadf0a748f8903b7b2217fc434a Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 8 Oct 2010 18:49:46 -0700 Subject: [PATCH] bug 6471: make sure VM start on host, it is supposed to run on status 6471: resolved fixed --- .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 782c0a3775b..e7e6155c3f4 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -318,9 +318,6 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR } try { - if (isRefNull(record.affinity) || !record.affinity.getUuid(conn).equals(_host.uuid)) { - continue; - } vmentry.getKey().destroy(conn); } catch (Exception e) { String msg = "VM destroy failed for " + record.nameLabel + " due to " + e.getMessage(); @@ -2490,6 +2487,11 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR vm.setActionsAfterCrash(conn, Types.OnCrashBehaviour.DESTROY); vm.start(conn, false, true); + + if(!vm.getResidentOn(conn).getUuid(conn).equals(_host.uuid)){ + startvmfailhandle(vm, null); + throw new Exception("can not start VM " + cmd.getVmName() + " On host " + _host.ip); + } if (_canBridgeFirewall) { String result = callHostPlugin("default_network_rules",