From a3cb6d9a09510e6a91fb61f1869704930484411b Mon Sep 17 00:00:00 2001 From: Nitin Date: Thu, 4 Aug 2011 12:51:35 +0530 Subject: [PATCH] bug 9345: Remove pool_id from template_host_ref. Its not needed anymore. Also removed the unwarranted code. status 9345: resolved fixed --- .../com/cloud/storage/VMTemplateHostVO.java | 29 +++------------ .../cloud/storage/dao/VMTemplateHostDao.java | 4 --- .../storage/dao/VMTemplateHostDaoImpl.java | 35 ++---------------- .../storage/download/DownloadMonitorImpl.java | 36 ++----------------- setup/db/create-schema.sql | 1 - 5 files changed, 11 insertions(+), 94 deletions(-) diff --git a/core/src/com/cloud/storage/VMTemplateHostVO.java b/core/src/com/cloud/storage/VMTemplateHostVO.java index d30e4fd6e76..c2ef4d28c73 100755 --- a/core/src/com/cloud/storage/VMTemplateHostVO.java +++ b/core/src/com/cloud/storage/VMTemplateHostVO.java @@ -78,10 +78,7 @@ public class VMTemplateHostVO implements VMTemplateStorageResourceAssoc { private String errorString; @Column (name="job_id") - private String jobId; - - @Column (name="pool_id") - private Long poolId; + private String jobId; @Column (name="install_path") private String installPath; @@ -222,17 +219,9 @@ public class VMTemplateHostVO implements VMTemplateStorageResourceAssoc { @Override public boolean equals(Object obj) { - if (obj instanceof VMTemplateHostVO) { - VMTemplateHostVO other = (VMTemplateHostVO)obj; - if (poolId == null && other.getPoolId() == null) { - return (this.templateId==other.getTemplateId() && this.hostId==other.getHostId()); - } else if (poolId == null && other.getPoolId() != null) { - return false; - } else if (poolId != null && other.getPoolId() == null) { - return false; - } else { - return (this.templateId==other.getTemplateId() && this.hostId==other.getHostId() && poolId.longValue() == other.getPoolId().longValue()); - } + if (obj instanceof VMTemplateHostVO) { + VMTemplateHostVO other = (VMTemplateHostVO)obj; + return (this.templateId==other.getTemplateId() && this.hostId==other.getHostId()); } return false; } @@ -241,15 +230,7 @@ public class VMTemplateHostVO implements VMTemplateStorageResourceAssoc { public int hashCode() { Long tid = new Long(templateId); Long hid = new Long(hostId); - return tid.hashCode()+hid.hashCode() + ((poolId != null)?poolId.hashCode():0); - } - - public void setPoolId(Long poolId) { - this.poolId = poolId; - } - - public Long getPoolId() { - return poolId; + return tid.hashCode()+hid.hashCode(); } public void setSize(long size) { diff --git a/server/src/com/cloud/storage/dao/VMTemplateHostDao.java b/server/src/com/cloud/storage/dao/VMTemplateHostDao.java index d58ff20c280..36af7e4b137 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateHostDao.java +++ b/server/src/com/cloud/storage/dao/VMTemplateHostDao.java @@ -38,10 +38,6 @@ public interface VMTemplateHostDao extends GenericDao { List listByHostTemplate(long hostId, long templateId); - VMTemplateHostVO findByHostTemplatePool(long hostId, long templateId, long poolId); - - List listByTemplatePool(long templateId, long poolId); - void update(VMTemplateHostVO instance); List listByTemplateStatus(long templateId, VMTemplateHostVO.Status downloadState); diff --git a/server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java index 5db30fdfa45..cb0e2eefbbf 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java @@ -55,8 +55,6 @@ public class VMTemplateHostDaoImpl extends GenericDaoBase HostTemplateSearch; protected final SearchBuilder HostTemplateStateSearch; protected final SearchBuilder HostDestroyedSearch; - protected final SearchBuilder PoolTemplateSearch; - protected final SearchBuilder HostTemplatePoolSearch; protected final SearchBuilder TemplateStatusSearch; protected final SearchBuilder TemplateStatesSearch; protected SearchBuilder ZONE_TEMPLATE_SEARCH; @@ -101,13 +99,7 @@ public class VMTemplateHostDaoImpl extends GenericDaoBase sc = HostTemplatePoolSearch.create(); - sc.setParameters("host_id", hostId); - sc.setParameters("template_id", templateId); - sc.setParameters("pool_id", poolId); - return findOneIncludingRemovedBy(sc); - } - @Override public List listByHostTemplate(long hostId, long templateId) { SearchCriteria sc = HostTemplateSearch.create(); @@ -328,15 +307,7 @@ public class VMTemplateHostDaoImpl extends GenericDaoBase listByTemplatePool(long templateId, long poolId) { - SearchCriteria sc = PoolTemplateSearch.create(); - sc.setParameters("pool_id", poolId); - sc.setParameters("template_id", templateId); - return listIncludingRemovedBy(sc); - } + } @Override public List listDestroyed(long hostId) { diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index 31395a3c518..ea142137dc3 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -78,6 +78,7 @@ import com.cloud.utils.db.JoinBuilder; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; +import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.vm.SecondaryStorageVm; import com.cloud.vm.SecondaryStorageVmVO; import com.cloud.vm.UserVmManager; @@ -220,7 +221,7 @@ public class DownloadMonitorImpl implements DownloadMonitor { String url = generateCopyUrl(sourceServer, srcTmpltHost); if (url == null) { s_logger.warn("Unable to start/resume copy of template " + template.getUniqueName() + " to " + destServer.getName() + ", no secondary storage vm in running state in source zone"); - throw new StorageUnavailableException("No secondary VM in running state in zone " + sourceServer.getDataCenterId(), srcTmpltHost.getPoolId()); + throw new CloudRuntimeException("No secondary VM in running state in zone " + sourceServer.getDataCenterId()); } destTmpltHost = _vmTemplateHostDao.findByHostTemplate(destServer.getId(), template.getId()); if (destTmpltHost == null) { @@ -401,38 +402,7 @@ public class DownloadMonitorImpl implements DownloadMonitor { VMTemplateHostVO vmTemplateHost = _vmTemplateHostDao.findByHostTemplate(host.getId(), template.getId()); Transaction txn = Transaction.currentTxn(); - txn.start(); - - if (vmTemplateHost != null) { - Long poolId = vmTemplateHost.getPoolId(); - if (poolId != null) { - VMTemplateStoragePoolVO vmTemplatePool = _vmTemplatePoolDao.findByPoolTemplate(poolId, template.getId()); - StoragePoolHostVO poolHost = _poolHostDao.findByPoolHost(poolId, host.getId()); - if (vmTemplatePool != null && poolHost != null) { - vmTemplatePool.setDownloadPercent(vmTemplateHost.getDownloadPercent()); - vmTemplatePool.setDownloadState(vmTemplateHost.getDownloadState()); - vmTemplatePool.setErrorString(vmTemplateHost.getErrorString()); - String localPath = poolHost.getLocalPath(); - String installPath = vmTemplateHost.getInstallPath(); - if (installPath != null) { - if (!installPath.startsWith("/")) { - installPath = "/" + installPath; - } - if (!(localPath == null) && !installPath.startsWith(localPath)) { - localPath = localPath.replaceAll("/\\p{Alnum}+/*$", ""); //remove instance if necessary - } - if (!(localPath == null) && installPath.startsWith(localPath)) { - installPath = installPath.substring(localPath.length()); - } - } - vmTemplatePool.setInstallPath(installPath); - vmTemplatePool.setLastUpdated(vmTemplateHost.getLastUpdated()); - vmTemplatePool.setJobId(vmTemplateHost.getJobId()); - vmTemplatePool.setLocalDownloadPath(vmTemplateHost.getLocalDownloadPath()); - _vmTemplatePoolDao.update(vmTemplatePool.getId(),vmTemplatePool); - } - } - } + txn.start(); if (dnldStatus == Status.DOWNLOADED) { long size = -1; diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql index 61b9142e957..0f1404759ca 100755 --- a/setup/db/create-schema.sql +++ b/setup/db/create-schema.sql @@ -955,7 +955,6 @@ CREATE TABLE `cloud`.`upload` ( CREATE TABLE `cloud`.`template_host_ref` ( `id` bigint unsigned NOT NULL auto_increment, `host_id` bigint unsigned NOT NULL, - `pool_id` bigint unsigned, `template_id` bigint unsigned NOT NULL, `created` DATETIME NOT NULL, `last_updated` DATETIME,