fix system vm template download issue

This commit is contained in:
Edison Su 2011-05-10 15:57:04 -04:00
parent 1b2aa8cec9
commit 714cd00999
1 changed files with 6 additions and 0 deletions

View File

@ -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);
}
}