You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sh...@apache.org on 2026/01/07 07:41:18 UTC

(cloudstack) branch 4.22 updated (2d4b7ba3578 -> 425c4e33120)

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

shwstppr pushed a change to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


    from 2d4b7ba3578 Add mountopts to backup repository response (#12360)
     add fca928d609b fix HMAC Signatures and API Keys Logged in Plaintext (#12021)
     add a29de0ed066 Retry cloneVM task when any file access issue while cloning from volume or template (#12335)
     add 57331aca2fc Skip removal of offerings if in use during domain removal (#11780)
     add 750290b8aed Prevent NPE when removing NIC from a stopped VM using service offering with CPU cap set (#12232)
     new 425c4e33120 Merge remote-tracking branch 'apache/4.20' into 4.22

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../storage/template/HttpTemplateDownloader.java   |  2 +-
 .../main/java/com/cloud/storage/dao/VolumeDao.java |  2 +
 .../java/com/cloud/storage/dao/VolumeDaoImpl.java  | 14 ++++++
 .../java/com/cloud/upgrade/DatabaseCreator.java    |  2 +-
 .../main/java/com/cloud/vm/dao/VMInstanceDao.java  |  4 ++
 .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java   | 37 +++++++++++++++
 .../configuration/ConfigurationManagerImpl.java    | 15 ++++--
 .../main/java/com/cloud/hypervisor/KVMGuru.java    |  3 +-
 .../java/com/cloud/user/DomainManagerImpl.java     | 25 ++++++++--
 .../java/com/cloud/hypervisor/KVMGuruTest.java     |  4 +-
 .../hypervisor/vmware/mo/VirtualMachineMO.java     | 54 +++++++++++++---------
 11 files changed, 128 insertions(+), 34 deletions(-)


(cloudstack) 01/01: Merge remote-tracking branch 'apache/4.20' into 4.22

Posted by sh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

shwstppr pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 425c4e33120fbde8f0d3c890ac50d79d0b5f9c18
Merge: 2d4b7ba3578 750290b8aed
Author: Abhishek Kumar <ab...@gmail.com>
AuthorDate: Wed Jan 7 13:10:41 2026 +0530

    Merge remote-tracking branch 'apache/4.20' into 4.22

 .../storage/template/HttpTemplateDownloader.java   |  2 +-
 .../main/java/com/cloud/storage/dao/VolumeDao.java |  2 +
 .../java/com/cloud/storage/dao/VolumeDaoImpl.java  | 14 ++++++
 .../java/com/cloud/upgrade/DatabaseCreator.java    |  2 +-
 .../main/java/com/cloud/vm/dao/VMInstanceDao.java  |  4 ++
 .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java   | 37 +++++++++++++++
 .../configuration/ConfigurationManagerImpl.java    | 15 ++++--
 .../main/java/com/cloud/hypervisor/KVMGuru.java    |  3 +-
 .../java/com/cloud/user/DomainManagerImpl.java     | 25 ++++++++--
 .../java/com/cloud/hypervisor/KVMGuruTest.java     |  4 +-
 .../hypervisor/vmware/mo/VirtualMachineMO.java     | 54 +++++++++++++---------
 11 files changed, 128 insertions(+), 34 deletions(-)

diff --cc engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
index 0f47c9e7155,4936af3caab..44c0be1cb59
--- a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
@@@ -163,5 -163,5 +163,7 @@@ public interface VolumeDao extends Gene
  
      VolumeVO findOneByIScsiName(String iScsiName);
  
+     int getVolumeCountByOfferingId(long diskOfferingId);
++
 +    VolumeVO findByLastIdAndState(long lastVolumeId, Volume.State...states);
  }
diff --cc engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
index 6814636bc66,5ef64b04664..2e263caeea3
--- a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
@@@ -914,11 -916,11 +920,19 @@@ public class VolumeDaoImpl extends Gene
          return findOneIncludingRemovedBy(sc);
      }
  
+     @Override
+     public int getVolumeCountByOfferingId(long diskOfferingId) {
+         SearchCriteria<Integer> sc = CountByOfferingId.create();
+         sc.setParameters("diskOfferingId", diskOfferingId);
+         List<Integer> results = customSearch(sc, null);
+         return results.get(0);
+     }
++
 +    @Override
 +    public VolumeVO findByLastIdAndState(long lastVolumeId, State ...states) {
 +        QueryBuilder<VolumeVO> sc = QueryBuilder.create(VolumeVO.class);
 +        sc.and(sc.entity().getLastId(), SearchCriteria.Op.EQ,  lastVolumeId);
 +        sc.and(sc.entity().getState(), SearchCriteria.Op.IN,  (Object[]) states);
 +        return sc.find();
 +    }
  }
diff --cc engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDao.java
index f722b4c54e4,56e16ddd871..23541c2431e
--- a/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDao.java
+++ b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDao.java
@@@ -187,5 -187,7 +187,9 @@@ public interface VMInstanceDao extends 
  
      Map<String, Long> getNameIdMapForVmIds(Collection<Long> ids);
  
+     int getVmCountByOfferingId(Long serviceOfferingId);
+ 
+     int getVmCountByOfferingNotInDomain(Long serviceOfferingId, List<Long> domainIds);
++
 +    List<VMInstanceVO> listByIdsIncludingRemoved(List<Long> ids);
  }
diff --cc engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
index b277de9330f,518bc3cf497..703fabd2cab
--- a/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/vm/dao/VMInstanceDaoImpl.java
@@@ -1247,13 -1239,26 +1261,36 @@@ public class VMInstanceDaoImpl extends 
                  .collect(Collectors.toMap(VMInstanceVO::getInstanceName, VMInstanceVO::getId));
      }
  
+     @Override
+     public int getVmCountByOfferingId(Long serviceOfferingId) {
+         if (serviceOfferingId == null) {
+             return 0;
+         }
+         SearchCriteria<Integer> sc = CountByOfferingId.create();
+         sc.setParameters("serviceOfferingId", serviceOfferingId);
+         List<Integer> count = customSearch(sc, null);
+         return count.get(0);
+     }
+ 
+     @Override
+     public int getVmCountByOfferingNotInDomain(Long serviceOfferingId, List<Long> domainIds) {
+         if (serviceOfferingId == null || CollectionUtils.isEmpty(domainIds)) {
+             return 0;
+         }
+         SearchCriteria<Integer> sc = CountUserVmNotInDomain.create();
+         sc.setParameters("serviceOfferingId", serviceOfferingId);
+         sc.setParameters("domainIdsNotIn", domainIds.toArray());
+         List<Integer> count = customSearch(sc, null);
+         return count.get(0);
+     }
++
 +    @Override
 +    public List<VMInstanceVO> listByIdsIncludingRemoved(List<Long> ids) {
 +        SearchBuilder<VMInstanceVO> idsSearch = createSearchBuilder();
 +        idsSearch.and("ids", idsSearch.entity().getId(), SearchCriteria.Op.IN);
 +        idsSearch.done();
 +        SearchCriteria<VMInstanceVO> sc = idsSearch.create();
 +        sc.setParameters("ids", ids.toArray());
 +        return listIncludingRemovedBy(sc);
 +    }
  }
diff --cc server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
index fd68770e89f,62b3c23d27e..705e7dea158
--- a/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
@@@ -49,10 -50,9 +49,6 @@@ import java.util.stream.Collectors
  import javax.inject.Inject;
  import javax.naming.ConfigurationException;
  
- import com.cloud.consoleproxy.ConsoleProxyManager;
- import com.cloud.network.router.VirtualNetworkApplianceManager;
- import com.cloud.storage.secondary.SecondaryStorageVmManager;
- import com.cloud.vm.VirtualMachineManager;
 -import com.cloud.exception.UnsupportedServiceException;
 -import com.cloud.network.as.AutoScaleManager;
 -import com.cloud.user.AccountManagerImpl;
  import org.apache.cloudstack.acl.RoleType;
  import org.apache.cloudstack.acl.SecurityChecker;
  import org.apache.cloudstack.affinity.AffinityGroup;
@@@ -154,6 -154,6 +150,7 @@@ import com.cloud.api.query.vo.NetworkOf
  import com.cloud.capacity.CapacityManager;
  import com.cloud.capacity.dao.CapacityDao;
  import com.cloud.configuration.Resource.ResourceType;
++import com.cloud.consoleproxy.ConsoleProxyManager;
  import com.cloud.dc.AccountVlanMapVO;
  import com.cloud.dc.ClusterDetailsDao;
  import com.cloud.dc.ClusterDetailsVO;
@@@ -204,9 -204,7 +201,10 @@@ import com.cloud.exception.InvalidParam
  import com.cloud.exception.PermissionDeniedException;
  import com.cloud.exception.ResourceAllocationException;
  import com.cloud.exception.ResourceUnavailableException;
++import com.cloud.exception.UnsupportedServiceException;
  import com.cloud.gpu.GPU;
 +import com.cloud.gpu.VgpuProfileVO;
 +import com.cloud.gpu.dao.VgpuProfileDao;
  import com.cloud.host.HostTagVO;
  import com.cloud.host.HostVO;
  import com.cloud.host.dao.HostDao;
@@@ -244,9 -239,7 +242,10 @@@ import com.cloud.network.dao.PhysicalNe
  import com.cloud.network.dao.PhysicalNetworkTrafficTypeVO;
  import com.cloud.network.dao.PhysicalNetworkVO;
  import com.cloud.network.dao.UserIpv6AddressDao;
 +import com.cloud.network.element.NetrisProviderVO;
  import com.cloud.network.element.NsxProviderVO;
 +import com.cloud.network.netris.NetrisService;
++import com.cloud.network.router.VirtualNetworkApplianceManager;
  import com.cloud.network.rules.LoadBalancerContainer.Scheme;
  import com.cloud.network.vpc.VpcManager;
  import com.cloud.offering.DiskOffering;
@@@ -281,6 -275,6 +280,7 @@@ import com.cloud.storage.dao.DiskOfferi
  import com.cloud.storage.dao.StoragePoolTagsDao;
  import com.cloud.storage.dao.VMTemplateZoneDao;
  import com.cloud.storage.dao.VolumeDao;
++import com.cloud.storage.secondary.SecondaryStorageVmManager;
  import com.cloud.test.IPRangeConfig;
  import com.cloud.user.Account;
  import com.cloud.user.AccountDetailVO;
@@@ -314,9 -305,10 +314,10 @@@ import com.cloud.utils.exception.CloudR
  import com.cloud.utils.net.NetUtils;
  import com.cloud.vm.NicIpAlias;
  import com.cloud.vm.VirtualMachine;
 -import com.cloud.vm.dao.NicDao;
++import com.cloud.vm.VirtualMachineManager;
 +import com.cloud.vm.VmDetailConstants;
  import com.cloud.vm.dao.NicIpAliasDao;
  import com.cloud.vm.dao.NicIpAliasVO;
 -import com.cloud.vm.dao.NicSecondaryIpDao;
  import com.cloud.vm.dao.VMInstanceDao;
  import com.google.common.base.Enums;
  import com.google.common.base.MoreObjects;