diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java index e4b04de9e9b..6fa4aabec89 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java @@ -190,6 +190,7 @@ public class TemplateObject implements TemplateInfo { TemplateObjectTO newTemplate = (TemplateObjectTO)cpyAnswer.getNewData(); VMTemplateStoragePoolVO templatePoolRef = templatePoolDao.findByPoolTemplate(getDataStore().getId(), getId()); templatePoolRef.setDownloadPercent(100); + templatePoolRef.setTemplateSize(newTemplate.getSize()); templatePoolRef.setDownloadState(Status.DOWNLOADED); templatePoolRef.setLocalDownloadPath(newTemplate.getPath()); templatePoolRef.setInstallPath(newTemplate.getPath()); diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java index 562cf5f50ad..3b806e9ef02 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java @@ -228,6 +228,7 @@ public class KVMStorageProcessor implements StorageProcessor { if (destData.getObjectType() == DataObjectType.TEMPLATE) { TemplateObjectTO newTemplate = new TemplateObjectTO(); newTemplate.setPath(primaryVol.getName()); + newTemplate.setSize(primaryVol.getSize()); if (primaryPool.getType() == StoragePoolType.RBD) { newTemplate.setFormat(ImageFormat.RAW); } else { @@ -237,6 +238,7 @@ public class KVMStorageProcessor implements StorageProcessor { } else if (destData.getObjectType() == DataObjectType.VOLUME) { VolumeObjectTO volumeObjectTO = new VolumeObjectTO(); volumeObjectTO.setPath(primaryVol.getName()); + volumeObjectTO.setSize(primaryVol.getSize()); if (primaryVol.getFormat() == PhysicalDiskFormat.RAW) volumeObjectTO.setFormat(ImageFormat.RAW); else if (primaryVol.getFormat() == PhysicalDiskFormat.QCOW2) { diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServerStorageProcessor.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServerStorageProcessor.java index 9d483d7ec6f..f3cb41927ea 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServerStorageProcessor.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServerStorageProcessor.java @@ -850,6 +850,7 @@ public class XenServerStorageProcessor implements StorageProcessor { VDI tmplVdi = getVDIbyUuid(conn, tmplUuid); final String uuidToReturn; + Long physicalSize = tmplVdi.getPhysicalUtilisation(conn); if (managed) { uuidToReturn = tmplUuid; @@ -876,6 +877,7 @@ public class XenServerStorageProcessor implements StorageProcessor { newVol.setUuid(uuidToReturn); newVol.setPath(uuidToReturn); + newVol.setSize(physicalSize); newVol.setFormat(ImageFormat.VHD); return new CopyCmdAnswer(newVol); diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java index 043514bc102..73c15fb65e0 100644 --- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java +++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/Xenserver625StorageProcessor.java @@ -265,6 +265,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor { VDI tmplVdi = Types.toVDI(task, conn); final String uuidToReturn; + Long physicalSize = tmplVdi.getPhysicalUtilisation(conn); if (managed) { uuidToReturn = tmplVdi.getUuid(conn); @@ -291,6 +292,7 @@ public class Xenserver625StorageProcessor extends XenServerStorageProcessor { newVol.setUuid(uuidToReturn); newVol.setPath(uuidToReturn); + newVol.setSize(physicalSize); newVol.setFormat(Storage.ImageFormat.VHD); return new CopyCmdAnswer(newVol); diff --git a/server/src/com/cloud/capacity/CapacityManagerImpl.java b/server/src/com/cloud/capacity/CapacityManagerImpl.java index 3c2851ec07d..2eee865e14d 100644 --- a/server/src/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/com/cloud/capacity/CapacityManagerImpl.java @@ -573,11 +573,6 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, totalAllocatedSize += templateSize + _extraBytesPerVolume; } - // Add the size for the templateForVmCreation if its not already present - /*if ((templateForVmCreation != null) && !tmpinstalled) { - - }*/ - return totalAllocatedSize; }