From 23f274cfd227cbc034f828736982998337abb5bd Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Tue, 23 Nov 2010 22:13:32 -0800 Subject: [PATCH] Send AttachVolume command even if VM is not in running state under vmware case --- server/src/com/cloud/vm/UserVmManagerImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index bca7e0584b5..86846891986 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -543,6 +543,13 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, VirtualM boolean sendCommand = (vm.getState() == State.Running); AttachVolumeAnswer answer = null; Long hostId = vm.getHostId(); + if(hostId == null) { + hostId = vm.getLastHostId(); + HostVO host = _hostDao.findById(hostId); + if(host != null && host.getHypervisorType() == HypervisorType.VmWare) + sendCommand = true; + } + if (sendCommand) { StoragePoolVO volumePool = _storagePoolDao.findById(volume.getPoolId()); AttachVolumeCommand cmd = new AttachVolumeCommand(true, vm.getInstanceName(), volume.getPoolType(), volume.getFolder(), volume.getPath(), volume.getName(), deviceId);