|
35 | 35 | import org.apache.cloudstack.query.QueryService; |
36 | 36 | import org.apache.log4j.Logger; |
37 | 37 |
|
| 38 | +import com.cloud.api.ApiDBUtils; |
38 | 39 | import com.cloud.api.ApiResponseHelper; |
39 | 40 | import com.cloud.api.query.vo.SnapshotJoinVO; |
| 41 | +import com.cloud.storage.GuestOS; |
40 | 42 | import com.cloud.storage.Snapshot; |
41 | 43 | import com.cloud.storage.VMTemplateStorageResourceAssoc; |
| 44 | +import com.cloud.storage.Volume.Type; |
| 45 | +import com.cloud.storage.VolumeVO; |
42 | 46 | import com.cloud.user.Account; |
43 | 47 | import com.cloud.user.AccountService; |
44 | 48 | import com.cloud.utils.Pair; |
45 | 49 | import com.cloud.utils.db.Filter; |
46 | 50 | import com.cloud.utils.db.SearchBuilder; |
47 | 51 | import com.cloud.utils.db.SearchCriteria; |
| 52 | +import com.cloud.vm.VMInstanceVO; |
48 | 53 |
|
49 | 54 | public class SnapshotJoinDaoImpl extends GenericDaoBaseWithTagInformation<SnapshotJoinVO, SnapshotResponse> implements SnapshotJoinDao { |
50 | 55 |
|
@@ -124,6 +129,16 @@ public SnapshotResponse newSnapshotResponse(ResponseObject.ResponseView view, bo |
124 | 129 | snapshotResponse.setVolumeName(snapshot.getVolumeName()); |
125 | 130 | snapshotResponse.setVolumeType(snapshot.getVolumeType().name()); |
126 | 131 | snapshotResponse.setVirtualSize(snapshot.getVolumeSize()); |
| 132 | + VolumeVO volume = ApiDBUtils.findVolumeById(snapshot.getVolumeId()); |
| 133 | + if (volume != null && volume.getVolumeType() == Type.ROOT && volume.getInstanceId() != null) { |
| 134 | + VMInstanceVO vm = ApiDBUtils.findVMInstanceById(volume.getInstanceId()); |
| 135 | + if (vm != null) { |
| 136 | + GuestOS guestOS = ApiDBUtils.findGuestOSById(vm.getGuestOSId()); |
| 137 | + if (guestOS != null) { |
| 138 | + snapshotResponse.setOsTypeId(guestOS.getUuid()); |
| 139 | + } |
| 140 | + } |
| 141 | + } |
127 | 142 | } |
128 | 143 | snapshotResponse.setZoneId(snapshot.getDataCenterUuid()); |
129 | 144 | snapshotResponse.setZoneName(snapshot.getDataCenterName()); |
|
0 commit comments