This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch 22.0.1-fixes
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 07c3dc86b2df474a26e5ba9329c005bc1d7dc8ae
Author: Fabricio Duarte <[email protected]>
AuthorDate: Mon Mar 9 08:23:58 2026 -0300

    [22.0] Consider infinite resources when calculating secondary storage limit 
for upload operations
---
 .../storage/command/TemplateOrVolumePostUploadCommand.java        | 8 ++++++++
 server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java  | 2 ++
 .../main/java/com/cloud/template/HypervisorTemplateAdapter.java   | 4 ++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java
 
b/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java
index 3ac83031eaf..9acfe30bf43 100644
--- 
a/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java
+++ 
b/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java
@@ -19,6 +19,9 @@
 
 package org.apache.cloudstack.storage.command;
 
+import com.cloud.configuration.Resource;
+import org.apache.cloudstack.utils.bytescale.ByteScaleUtils;
+
 public class TemplateOrVolumePostUploadCommand {
 
     long entityId;
@@ -185,6 +188,11 @@ public class TemplateOrVolumePostUploadCommand {
         this.description = description;
     }
 
+    public void setDefaultMaxSecondaryStorageInBytes(long 
defaultMaxSecondaryStorageInBytes) {
+        this.defaultMaxSecondaryStorageInGB = 
defaultMaxSecondaryStorageInBytes != Resource.RESOURCE_UNLIMITED ?
+                
ByteScaleUtils.bytesToGibibytes(defaultMaxSecondaryStorageInBytes) : 
Resource.RESOURCE_UNLIMITED;
+    }
+
     public void setDefaultMaxSecondaryStorageInGB(long 
defaultMaxSecondaryStorageInGB) {
         this.defaultMaxSecondaryStorageInGB = defaultMaxSecondaryStorageInGB;
     }
diff --git a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java 
b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
index 5023686b248..3fc6183b919 100644
--- a/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
@@ -542,7 +542,9 @@ public class VolumeApiServiceImpl extends ManagerBase 
implements VolumeApiServic
                 Account account = _accountDao.findById(accountId);
                 Domain domain = domainDao.findById(account.getDomainId());
 
+                // one of the two following might have to be removed
                 
command.setDefaultMaxSecondaryStorageInGB(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account,
 domain, ResourceType.secondary_storage, null));
+                
command.setDefaultMaxSecondaryStorageInBytes(_resourceLimitMgr.findCorrectResourceLimitForAccountAndDomain(account,
 domain, ResourceType.secondary_storage, null));
                 command.setAccountId(accountId);
                 Gson gson = new GsonBuilder().create();
                 String metadata = 
EncryptionUtil.encodeData(gson.toJson(command), key);
diff --git 
a/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java 
b/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java
index 6b173a4eb18..6084987e29c 100644
--- a/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java
+++ b/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java
@@ -500,9 +500,9 @@ public class HypervisorTemplateAdapter extends 
TemplateAdapterBase {
                 boolean dataDiskDeletetionResult = true;
                 List<VMTemplateVO> dataDiskTemplates = 
templateDao.listByParentTemplatetId(template.getId());
                 if (CollectionUtils.isNotEmpty(dataDiskTemplates)) {
-                    logger.info("Template: {} has Datadisk template(s) 
associated with it. Delete Datadisk templates before deleting the template", 
template);
+                    logger.info("Template: {} has Datadisk template(s) 
associated with it. Delete Datadisk Templates before deleting the Template", 
template);
                     for (VMTemplateVO dataDiskTemplate : dataDiskTemplates) {
-                        logger.info("Delete Datadisk template: {} from image 
store: {}", dataDiskTemplate, imageStore);
+                        logger.info("Delete Datadisk Template: {} from image 
store: {}", dataDiskTemplate, imageStore);
                         AsyncCallFuture<TemplateApiResult> future = 
imageService.deleteTemplateAsync(imageFactory.getTemplate(dataDiskTemplate.getId(),
 imageStore));
                         try {
                             TemplateApiResult result = future.get();

Reply via email to