CLOUDSTACK-8754: VM migration triggered by dynamic scaling is failing

This is caused by serialization failure for VmWorkMigrateForScale object. Replaced DeployDestination member
present in VmWorkMigrateForScale with serializable types.
This commit is contained in:
Koushik Das 2015-08-21 16:31:44 +05:30
parent 614ee494ee
commit 3be2b63103
2 changed files with 4 additions and 16 deletions

View File

@ -4297,7 +4297,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
workJob = new VmWorkJobVO(context.getContextId());
workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
workJob.setCmd(VmWorkMigrate.class.getName());
workJob.setCmd(VmWorkMigrateWithStorage.class.getName());
workJob.setAccountId(account.getId());
workJob.setUserId(user.getId());
@ -4340,7 +4340,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
workJob = new VmWorkJobVO(context.getContextId());
workJob.setDispatcher(VmWorkConstants.VM_WORK_JOB_DISPATCHER);
workJob.setCmd(VmWorkMigrate.class.getName());
workJob.setCmd(VmWorkMigrateForScale.class.getName());
workJob.setAccountId(account.getId());
workJob.setUserId(user.getId());

View File

@ -18,30 +18,18 @@ package com.cloud.vm;
import com.cloud.deploy.DeployDestination;
public class VmWorkMigrateForScale extends VmWork {
public class VmWorkMigrateForScale extends VmWorkMigrate {
private static final long serialVersionUID = 6854870395568389613L;
long srcHostId;
DeployDestination deployDestination;
Long newSvcOfferingId;
public VmWorkMigrateForScale(long userId, long accountId, long vmId, String handlerName, long srcHostId,
DeployDestination dest, Long newSvcOfferingId) {
super(userId, accountId, vmId, handlerName);
this.srcHostId = srcHostId;
deployDestination = dest;
super(userId, accountId, vmId, handlerName, srcHostId, dest);
this.newSvcOfferingId = newSvcOfferingId;
}
public long getSrcHostId() {
return srcHostId;
}
public DeployDestination getDeployDestination() {
return deployDestination;
}
public Long getNewServiceOfferringId() {
return newSvcOfferingId;
}