From 714cd00999b6339410fca7cb566ad666d6fd3934 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Tue, 10 May 2011 15:57:04 -0400 Subject: [PATCH] fix system vm template download issue --- .../src/com/cloud/storage/download/DownloadMonitorImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index 8e3a20afcf4..40e661c473c 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -63,6 +63,7 @@ import com.cloud.storage.dao.StoragePoolHostDao; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.storage.dao.VMTemplateHostDao; import com.cloud.storage.dao.VMTemplatePoolDao; +import com.cloud.storage.dao.VMTemplateZoneDao; import com.cloud.storage.template.TemplateConstants; import com.cloud.storage.template.TemplateInfo; import com.cloud.user.Account; @@ -88,6 +89,8 @@ public class DownloadMonitorImpl implements DownloadMonitor { @Inject VMTemplatePoolDao _vmTemplatePoolDao; @Inject + VMTemplateZoneDao _vmTemplateZoneDao; + @Inject StoragePoolHostDao _poolHostDao; @Inject SecondaryStorageVmDao _secStorageVmDao; @@ -426,6 +429,9 @@ public class DownloadMonitorImpl implements DownloadMonitor { for (VMTemplateVO template: toBeDownloaded) { VMTemplateHostVO tmpltHost = _vmTemplateHostDao.findByHostTemplate(sshost.getId(), template.getId()); if (tmpltHost == null || tmpltHost.getDownloadState() != Status.DOWNLOADED) { + if (_vmTemplateZoneDao.findByZoneTemplate(sshost.getDataCenterId(), template.getId()) == null) { + _templateDao.addTemplateToZone(template, sshost.getDataCenterId()); + } downloadTemplateToStorage(template, sshost); } }