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

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


The following commit(s) were added to refs/heads/4.19 by this push:
     new f7f7013ed02 Added ostypeid in the snapshot response (#9150)
f7f7013ed02 is described below

commit f7f7013ed0291421b942efc566e9e28dcd41ae7d
Author: slavkap <51903378+slav...@users.noreply.github.com>
AuthorDate: Wed Jun 26 11:48:38 2024 +0300

    Added ostypeid in the snapshot response (#9150)
---
 .../java/com/cloud/api/query/dao/SnapshotJoinDaoImpl.java | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git 
a/server/src/main/java/com/cloud/api/query/dao/SnapshotJoinDaoImpl.java 
b/server/src/main/java/com/cloud/api/query/dao/SnapshotJoinDaoImpl.java
index a913dd7f568..b08fb4529f4 100644
--- a/server/src/main/java/com/cloud/api/query/dao/SnapshotJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/SnapshotJoinDaoImpl.java
@@ -35,16 +35,21 @@ import 
org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.query.QueryService;
 import org.apache.log4j.Logger;
 
+import com.cloud.api.ApiDBUtils;
 import com.cloud.api.ApiResponseHelper;
 import com.cloud.api.query.vo.SnapshotJoinVO;
+import com.cloud.storage.GuestOS;
 import com.cloud.storage.Snapshot;
 import com.cloud.storage.VMTemplateStorageResourceAssoc;
+import com.cloud.storage.Volume.Type;
+import com.cloud.storage.VolumeVO;
 import com.cloud.user.Account;
 import com.cloud.user.AccountService;
 import com.cloud.utils.Pair;
 import com.cloud.utils.db.Filter;
 import com.cloud.utils.db.SearchBuilder;
 import com.cloud.utils.db.SearchCriteria;
+import com.cloud.vm.VMInstanceVO;
 
 public class SnapshotJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<SnapshotJoinVO, SnapshotResponse> implements 
SnapshotJoinDao {
 
@@ -124,6 +129,16 @@ public class SnapshotJoinDaoImpl extends 
GenericDaoBaseWithTagInformation<Snapsh
             snapshotResponse.setVolumeName(snapshot.getVolumeName());
             snapshotResponse.setVolumeType(snapshot.getVolumeType().name());
             snapshotResponse.setVirtualSize(snapshot.getVolumeSize());
+            VolumeVO volume = 
ApiDBUtils.findVolumeById(snapshot.getVolumeId());
+            if (volume != null && volume.getVolumeType() == Type.ROOT && 
volume.getInstanceId() != null) {
+                VMInstanceVO vm = 
ApiDBUtils.findVMInstanceById(volume.getInstanceId());
+                if (vm != null) {
+                    GuestOS guestOS = 
ApiDBUtils.findGuestOSById(vm.getGuestOSId());
+                    if (guestOS != null) {
+                        snapshotResponse.setOsTypeId(guestOS.getUuid());
+                    }
+                }
+            }
         }
         snapshotResponse.setZoneId(snapshot.getDataCenterUuid());
         snapshotResponse.setZoneName(snapshot.getDataCenterName());

Reply via email to