mirror of https://github.com/apache/cloudstack.git
bug 7101 : DetachISO API and AttachISO API would start returning an embedded object of virtualmachine so that the UI could use that to update the vm.
status 7101: resolved fixed
This commit is contained in:
parent
b42458fa0d
commit
5215f6f817
|
|
@ -21,12 +21,14 @@ import org.apache.log4j.Logger;
|
|||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.IsoVmResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientAddressCapacityException;
|
||||
|
|
@ -35,6 +37,7 @@ import com.cloud.exception.InvalidParameterValueException;
|
|||
import com.cloud.exception.PermissionDeniedException;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
|
||||
@Implementation(description="Attaches an ISO to a virtual machine.")
|
||||
|
|
@ -99,21 +102,9 @@ public class AttachIsoCmd extends BaseAsyncCmd {
|
|||
public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{
|
||||
boolean result = _templateMgr.attachIso(this);
|
||||
if (result) {
|
||||
IsoVmResponse response = new IsoVmResponse();
|
||||
VMTemplateVO iso = ApiDBUtils.findTemplateById(id);
|
||||
VMInstanceVO vmInstance = ApiDBUtils.findVMInstanceById(virtualMachineId);
|
||||
|
||||
response.setId(id);
|
||||
response.setName(iso.getName());
|
||||
response.setDisplayText(iso.getDisplayText());
|
||||
response.setOsTypeId(iso.getGuestOSId());
|
||||
response.setOsTypeName(ApiDBUtils.findGuestOSById(iso.getGuestOSId()).getName());
|
||||
response.setVirtualMachineId(virtualMachineId);
|
||||
response.setVirtualMachineName(vmInstance.getHostName());
|
||||
response.setVirtualMachineState(vmInstance.getState().toString());
|
||||
response.setResponseName(getName());
|
||||
response.setObjectName("iso");
|
||||
|
||||
UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId);
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm);
|
||||
response.setResponseName(DeployVMCmd.getResultObjectName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to attach iso");
|
||||
|
|
|
|||
|
|
@ -21,18 +21,21 @@ import org.apache.log4j.Logger;
|
|||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientAddressCapacityException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.exception.PermissionDeniedException;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
|
||||
|
|
@ -90,7 +93,9 @@ public class DetachIsoCmd extends BaseAsyncCmd {
|
|||
public void execute() throws ServerApiException, InvalidParameterValueException, PermissionDeniedException, InsufficientAddressCapacityException, InsufficientCapacityException, ConcurrentOperationException{
|
||||
boolean result = _templateMgr.detachIso(this);
|
||||
if (result) {
|
||||
SuccessResponse response = new SuccessResponse(getName());
|
||||
UserVm userVm = ApiDBUtils.findUserVmById(virtualMachineId);
|
||||
UserVmResponse response = ApiResponseHelper.createUserVmResponse(userVm);
|
||||
response.setResponseName(DeployVMCmd.getResultObjectName());
|
||||
this.setResponseObject(response);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to detach iso");
|
||||
|
|
|
|||
Loading…
Reference in New Issue