Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,5 @@ List<ServiceOfferingVO> createSystemServiceOfferings(String name, String uniqueN

List<ServiceOfferingVO> listPublicByCpuAndMemory(Integer cpus, Integer memory);

ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(long diskOfferingId);
ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(long diskOfferingId, boolean includingRemoved);
}
Original file line number Diff line number Diff line change
Expand Up @@ -284,10 +284,10 @@ public List<ServiceOfferingVO> listPublicByCpuAndMemory(Integer cpus, Integer me
}

@Override
public ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(long diskOfferingId) {
public ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(long diskOfferingId, boolean includingRemoved) {
SearchCriteria<ServiceOfferingVO> sc = SearchComputeOfferingByComputeOnlyDiskOffering.create();
sc.setParameters("disk_offering_id", diskOfferingId);
List<ServiceOfferingVO> vos = listBy(sc);
List<ServiceOfferingVO> vos = includingRemoved ? listIncludingRemovedBy(sc) : listBy(sc);
if (vos.size() == 0) {
return null;
}
Expand Down
4 changes: 2 additions & 2 deletions server/src/main/java/com/cloud/api/ApiDBUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -1109,8 +1109,8 @@ public static DiskOfferingVO findDiskOfferingById(Long diskOfferingId) {
return null;
}

public static ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(Long diskOfferingId) {
ServiceOfferingVO off = s_serviceOfferingDao.findServiceOfferingByComputeOnlyDiskOffering(diskOfferingId);
public static ServiceOfferingVO findServiceOfferingByComputeOnlyDiskOffering(Long diskOfferingId, boolean includingRemoved) {
ServiceOfferingVO off = s_serviceOfferingDao.findServiceOfferingByComputeOnlyDiskOffering(diskOfferingId, includingRemoved);
return off;
}
public static DomainVO findDomainById(Long domainId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ public VolumeResponse newVolumeResponse(ResponseView view, VolumeJoinVO volume)

if (volume.getDiskOfferingId() > 0) {
DiskOffering computeOnlyDiskOffering = ApiDBUtils.findComputeOnlyDiskOfferingById(volume.getDiskOfferingId());
if (computeOnlyDiskOffering != null) {
ServiceOffering serviceOffering = ApiDBUtils.findServiceOfferingByComputeOnlyDiskOffering(volume.getDiskOfferingId());
ServiceOffering serviceOffering = getServiceOfferingForDiskOffering(volume, computeOnlyDiskOffering);
if (serviceOffering != null) {
volResponse.setServiceOfferingId(String.valueOf(serviceOffering.getId()));
volResponse.setServiceOfferingName(serviceOffering.getName());
volResponse.setServiceOfferingDisplayText(serviceOffering.getDisplayText());
Expand Down Expand Up @@ -283,6 +283,26 @@ public VolumeResponse newVolumeResponse(ResponseView view, VolumeJoinVO volume)
return volResponse;
}

/**
* gets the {@see ServiceOffering} for the {@see Volume} with {@see DiskOffering}
* It will first try existing ones
* If not found it will try to get a removed one
*
* @param volume
* @param computeOnlyDiskOffering
* @return the resulting offering or null
*/
private static ServiceOffering getServiceOfferingForDiskOffering(VolumeJoinVO volume, DiskOffering computeOnlyDiskOffering) {
ServiceOffering serviceOffering = null;
if (computeOnlyDiskOffering != null) {
serviceOffering = ApiDBUtils.findServiceOfferingByComputeOnlyDiskOffering(volume.getDiskOfferingId(), false);
}
if (serviceOffering == null) {
serviceOffering = ApiDBUtils.findServiceOfferingByComputeOnlyDiskOffering(volume.getDiskOfferingId(), true);
}
return serviceOffering;
}

@Override
public VolumeResponse setVolumeResponse(ResponseView view, VolumeResponse volData, VolumeJoinVO vol) {
long tag_id = vol.getTagId();
Expand Down