mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
SWIFT : fixed create vm on zone 2
This commit is contained in:
parent
12eae7148c
commit
e9987ecb15
@ -134,6 +134,7 @@ import com.cloud.storage.dao.StoragePoolWorkDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
import com.cloud.storage.dao.VMTemplateHostDao;
|
||||
import com.cloud.storage.dao.VMTemplatePoolDao;
|
||||
import com.cloud.storage.dao.VMTemplateSwiftDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.listener.StoragePoolMonitor;
|
||||
import com.cloud.storage.secondary.SecondaryStorageVmManager;
|
||||
@ -235,6 +236,8 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
|
||||
@Inject
|
||||
protected VMTemplatePoolDao _vmTemplatePoolDao = null;
|
||||
@Inject
|
||||
protected VMTemplateSwiftDao _vmTemplateSwiftDao = null;
|
||||
@Inject
|
||||
protected VMTemplateDao _vmTemplateDao = null;
|
||||
@Inject
|
||||
protected StoragePoolHostDao _poolHostDao = null;
|
||||
@ -2514,14 +2517,20 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
|
||||
sc.setParameters("id", template.getId());
|
||||
sc.setParameters("state", com.cloud.storage.VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
|
||||
sc.setJoinParameters("host", "dcId", vm.getDataCenterIdToDeployIn());
|
||||
|
||||
List<VMTemplateHostVO> sss = _vmTemplateHostDao.search(sc, null);
|
||||
if (sss.size() == 0) {
|
||||
throw new CloudRuntimeException("Template " + template.getName() + " has not been completely downloaded to zone " + vm.getDataCenterIdToDeployIn());
|
||||
List<VMTemplateSwiftVO> tsvs = _vmTemplateSwiftDao.listByTemplateId(template.getId());
|
||||
Long size = null;
|
||||
if (tsvs != null && tsvs.size() > 0) {
|
||||
size = tsvs.get(0).getSize();
|
||||
}
|
||||
if (size == null) {
|
||||
List<VMTemplateHostVO> sss = _vmTemplateHostDao.search(sc, null);
|
||||
if (sss == null || sss.size() == 0) {
|
||||
throw new CloudRuntimeException("Template " + template.getName() + " has not been completely downloaded to zone " + vm.getDataCenterIdToDeployIn());
|
||||
}
|
||||
size = sss.get(0).getSize();
|
||||
}
|
||||
VMTemplateHostVO ss = sss.get(0);
|
||||
|
||||
VolumeVO vol = new VolumeVO(type, name, vm.getDataCenterIdToDeployIn(), owner.getDomainId(), owner.getId(), offering.getId(), ss.getSize());
|
||||
VolumeVO vol = new VolumeVO(type, name, vm.getDataCenterIdToDeployIn(), owner.getDomainId(), owner.getId(), offering.getId(), size);
|
||||
if (vm != null) {
|
||||
vol.setInstanceId(vm.getId());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user