diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java index d7445927f37..5ee39cf2d5e 100644 --- a/server/src/main/java/com/cloud/api/ApiDBUtils.java +++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java @@ -27,8 +27,6 @@ import java.util.Set; import javax.annotation.PostConstruct; import javax.inject.Inject; -import com.cloud.vm.NicVO; -import com.cloud.vm.dao.NicDao; import org.apache.cloudstack.acl.Role; import org.apache.cloudstack.acl.RoleService; import org.apache.cloudstack.affinity.AffinityGroup; @@ -318,6 +316,7 @@ import com.cloud.vm.DomainRouterVO; import com.cloud.vm.InstanceGroup; import com.cloud.vm.InstanceGroupVO; import com.cloud.vm.NicProfile; +import com.cloud.vm.NicVO; import com.cloud.vm.UserVmDetailVO; import com.cloud.vm.UserVmManager; import com.cloud.vm.UserVmVO; @@ -327,6 +326,7 @@ import com.cloud.vm.VmDetailConstants; import com.cloud.vm.VmStats; import com.cloud.vm.dao.ConsoleProxyDao; import com.cloud.vm.dao.DomainRouterDao; +import com.cloud.vm.dao.NicDao; import com.cloud.vm.dao.NicSecondaryIpDao; import com.cloud.vm.dao.NicSecondaryIpVO; import com.cloud.vm.dao.UserVmDao; @@ -1117,6 +1117,10 @@ public class ApiDBUtils { return s_serviceOfferingDao.findByIdIncludingRemoved(serviceOfferingId); } + public static ServiceOffering findServiceOfferingByUuid(String serviceOfferingUuid) { + return s_serviceOfferingDao.findByUuidIncludingRemoved(serviceOfferingUuid); + } + public static ServiceOfferingDetailsVO findServiceOfferingDetail(long serviceOfferingId, String key) { return s_serviceOfferingDetailsDao.findDetail(serviceOfferingId, key); } diff --git a/server/src/main/java/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/VolumeJoinDaoImpl.java index 2ee0ca1b1f4..6cbc834c408 100644 --- a/server/src/main/java/com/cloud/api/query/dao/VolumeJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/VolumeJoinDaoImpl.java @@ -176,22 +176,8 @@ public class VolumeJoinDaoImpl extends GenericDaoBaseWithTagInformation 0) { - boolean isServiceOffering = false; - if (volume.getVolumeType().equals(Volume.Type.ROOT)) { - isServiceOffering = true; - } else { - // can't rely on the fact that the volume is the datadisk as it might have been created as a root, and - // then detached later - long offeringId = volume.getDiskOfferingId(); - if (ApiDBUtils.findDiskOfferingById(offeringId) == null) { - isServiceOffering = true; - } - } - - if (isServiceOffering) { + if (ApiDBUtils.findServiceOfferingByUuid(volume.getDiskOfferingUuid()) != null) { volResponse.setServiceOfferingId(volume.getDiskOfferingUuid()); volResponse.setServiceOfferingName(volume.getDiskOfferingName()); volResponse.setServiceOfferingDisplayText(volume.getDiskOfferingDisplayText());