Skip to content

Commit 4ff1562

Browse files
committed
live migration: add custom config timeout for MigrateWithStorageCommand (#22)
1 parent 867e916 commit 4ff1562

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

plugins/hypervisors/kvm/src/org/apache/cloudstack/storage/motion/KVMStorageMotionStrategy.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
6060
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
6161
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
62+
import org.apache.cloudstack.framework.config.ConfigKey;
6263
import org.apache.cloudstack.storage.command.DeleteCommand;
6364
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
6465
import org.apache.cloudstack.storage.to.VolumeObjectTO;
@@ -73,6 +74,9 @@
7374
@Component
7475
public class KVMStorageMotionStrategy implements DataMotionStrategy {
7576
private static final Logger s_logger = Logger.getLogger(KVMStorageMotionStrategy.class);
77+
78+
protected final ConfigKey<Integer> MigrateWait = new ConfigKey<Integer>(Integer.class, "migratewait", "Advanced", "3600", "Time (in seconds) to wait for VM migrate finish.", true, ConfigKey.Scope.Global, null);
79+
7680
@Inject
7781
AgentManager agentMgr;
7882
@Inject
@@ -193,6 +197,7 @@ private Answer migrateVmWithVolumes(VMInstanceVO vm, VirtualMachineTO to, Host s
193197
MigrateWithStorageCommand command = null;
194198
try {
195199
command = new MigrateWithStorageCommand(to, volumeToFilerTo, destHost.getPrivateIpAddress());
200+
command.setWait(MigrateWait.value());
196201
MigrateWithStorageAnswer answer = (MigrateWithStorageAnswer) agentMgr.send(srcHost.getId(), command);
197202
if (answer == null) {
198203
s_logger.error("Migration with storage of vm " + vm + " failed.");

0 commit comments

Comments
 (0)