diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 00c8efb9cba..73032b6d6ee 100755 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -2413,28 +2413,25 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe return new MigrateAnswer(cmd, false, msg, null); } for (VM vm : vms) { - if (vm.getPVBootloader(conn).equals("pygrub") && !isPVInstalled(conn, vm)) { - // Only fake PV driver for PV kernel, the PV driver is installed, but XenServer doesn't think it is installed - String uuid = vm.getUuid(conn); - String result = callHostPlugin(conn, "vmops", "preparemigration", "uuid", uuid); - if (result == null || result.isEmpty()) { - return new MigrateAnswer(cmd, false, "migration failed due to preparemigration failed", null); + String uuid = vm.getUuid(conn); + String result = callHostPlugin(conn, "vmops", "preparemigration", "uuid", uuid); + if (result == null || result.isEmpty()) { + return new MigrateAnswer(cmd, false, "migration failed due to preparemigration failed", null); + } + // check if pv version is successfully set up + int i = 0; + for (; i < 20; i++) { + try { + Thread.sleep(1000); + } catch (final InterruptedException ex) { } - // check if pv version is successfully set up - int i = 0; - for (; i < 20; i++) { - try { - Thread.sleep(1000); - } catch (final InterruptedException ex) { - } - if( isPVInstalled(conn, vm) ) { - break; - } - } - if (i >= 20) { - s_logger.warn("Can not fake PV driver for " + vmName); + if (isPVInstalled(conn, vm)) { + break; } } + if (i >= 20) { + s_logger.warn("Can not fake PV driver for " + vmName); + } if( ! isPVInstalled(conn, vm) ) { String msg = "Migration failed due to PV drivers is not installed for " + vmName; s_logger.warn(msg); diff --git a/scripts/vm/hypervisor/xenserver/xenserver56toxenserver56fp1.sql b/scripts/vm/hypervisor/xenserver/xenserver56toxenserver56fp1.sql new file mode 100644 index 00000000000..110ffe2f69f --- /dev/null +++ b/scripts/vm/hypervisor/xenserver/xenserver56toxenserver56fp1.sql @@ -0,0 +1,3 @@ +update vm_instance set guest_os_id=98 where guest_os_id in (111, 113, 134, 121, 136) and hypervisor_type='XenServer' +update vm_instance set guest_os_id=99 where guest_os_id in (112, 114, 135, 126, 137) and hypervisor_type='XenServer' +