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());