From 9e7fbae52fcbc2a99120d08158c6c99bdbd75b2c Mon Sep 17 00:00:00 2001 From: Nitin Mehta Date: Mon, 6 Oct 2014 15:00:32 -0700 Subject: [PATCH] Revert "CLOUDSTACK-7533: Wrong download URL is generated when using multiple SSVMs in a zone. The public ip of the url would sometime point to the wrong ssvm when the url was created on another one." This reverts commit f3b5a6ebc70d5bfb2c77b6aa359d7eb79b4507e5. Reverting since a better fix is available with CLOUDSTACK-6478 --- .../src/com/cloud/hypervisor/guru/VMwareGuru.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index ef7479446cf..abc7cdba509 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -48,6 +48,7 @@ import com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand; import com.cloud.agent.api.CreateVolumeFromSnapshotCommand; import com.cloud.agent.api.UnregisterNicCommand; import com.cloud.agent.api.storage.CopyVolumeCommand; +import com.cloud.agent.api.storage.CreateEntityDownloadURLCommand; import com.cloud.agent.api.storage.CreateVolumeOVACommand; import com.cloud.agent.api.storage.PrepareOVAPackingCommand; import com.cloud.agent.api.to.DataObjectType; @@ -393,8 +394,20 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co } else { needDelegation = true; } + } else if (cmd instanceof CreateEntityDownloadURLCommand) { + DataTO srcData = ((CreateEntityDownloadURLCommand)cmd).getData(); + if ((HypervisorType.VMware == srcData.getHypervisorType())) { + needDelegation = true; + } + if (srcData.getObjectType() == DataObjectType.VOLUME) { + VolumeObjectTO volumeObjectTO = (VolumeObjectTO)srcData; + if (Storage.ImageFormat.OVA == volumeObjectTO.getFormat()) { + needDelegation = true; + } + } } - if(!needDelegation) { + + if (!needDelegation) { return new Pair(Boolean.FALSE, new Long(hostId)); } HostVO host = _hostDao.findById(hostId);