Skip to content

Commit f172fbe

Browse files
committed
Bug-Id: CS-39350 Able to upload Volume greater than the Resource limit defined for Primary Storage.
Reviewed-By: Harikrishna Patnala <harikrishna.patnala@citrix.com>
1 parent a7e511c commit f172fbe

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

server/src/com/cloud/storage/ImageStoreUploadMonitorImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import javax.inject.Inject;
2727
import javax.naming.ConfigurationException;
2828

29+
import com.cloud.configuration.Resource;
30+
import com.cloud.user.ResourceLimitService;
2931
import org.apache.log4j.Logger;
3032
import org.springframework.stereotype.Component;
3133
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
@@ -92,6 +94,8 @@ public class ImageStoreUploadMonitorImpl extends ManagerBase implements ImageSto
9294
private EndPointSelector _epSelector;
9395
@Inject
9496
private DataStoreManager storeMgr;
97+
@Inject
98+
ResourceLimitService _resourceLimitMgr;
9599

96100
private long _nodeId;
97101
private ScheduledExecutorService _executor = null;
@@ -285,6 +289,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) {
285289
volumeUpdate.setSize(answer.getVirtualSize());
286290
_volumeDao.update(tmpVolume.getId(), volumeUpdate);
287291
stateMachine.transitTo(tmpVolume, Event.OperationSucceeded, null, _volumeDao);
292+
_resourceLimitMgr.incrementResourceCount(volume.getAccountId(), Resource.ResourceType.secondary_storage, answer.getVirtualSize());
288293

289294
if (s_logger.isDebugEnabled()) {
290295
s_logger.debug("Volume " + tmpVolume.getUuid() + " uploaded successfully");
@@ -358,6 +363,7 @@ public void doInTransactionWithoutResult(TransactionStatus status) {
358363
templateUpdate.setSize(answer.getVirtualSize());
359364
_templateDao.update(tmpTemplate.getId(), templateUpdate);
360365
stateMachine.transitTo(tmpTemplate, VirtualMachineTemplate.Event.OperationSucceeded, null, _templateDao);
366+
_resourceLimitMgr.incrementResourceCount(template.getAccountId(), Resource.ResourceType.secondary_storage, answer.getVirtualSize());
361367

362368
if (s_logger.isDebugEnabled()) {
363369
s_logger.debug("Template " + tmpTemplate.getUuid() + " uploaded successfully");

server/src/com/cloud/storage/VolumeApiServiceImpl.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -456,8 +456,6 @@ public VolumeVO doInTransaction(TransactionStatus status) {
456456
//url can be null incase of postupload
457457
if(url!=null) {
458458
_resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.secondary_storage, UriUtils.getRemoteSize(url));
459-
} else {
460-
_resourceLimitMgr.incrementResourceCount(volume.getAccountId(), ResourceType.secondary_storage);
461459
}
462460

463461
return volume;

0 commit comments

Comments
 (0)