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 7288d454c30..d0577f40482 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 5752d57c250..ebbb3d31663 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 @@ -219,6 +219,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 { @@ -228,6 +229,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 2a1ee1bc5a7..415f8534e52 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 @@ -816,6 +816,7 @@ public class XenServerStorageProcessor implements StorageProcessor { VDI tmplVdi = getVDIbyUuid(conn, tmplUuid); final String uuidToReturn; + Long physicalSize = tmplVdi.getPhysicalUtilisation(conn); if (managed) { uuidToReturn = tmplUuid; @@ -842,6 +843,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 eec01db832a..a8fe53a34b0 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 @@ -236,6 +236,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); @@ -262,6 +263,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 af66b15fe29..3c49099bdbc 100755 --- a/server/src/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/com/cloud/capacity/CapacityManagerImpl.java @@ -576,11 +576,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; }