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 <[email protected]>
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());