mirror of https://github.com/apache/cloudstack.git
1) Return embedded object for upgradeRouter command
2) Build response objects in ApiResponseHelper for stop/start/reboot/list router/systemVm commands
This commit is contained in:
parent
0b177848fa
commit
abb8f45667
|
|
@ -25,10 +25,12 @@ import com.cloud.api.response.AccountResponse;
|
|||
import com.cloud.api.response.ConfigurationResponse;
|
||||
import com.cloud.api.response.DiskOfferingResponse;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.api.response.DomainRouterResponse;
|
||||
import com.cloud.api.response.ResourceLimitResponse;
|
||||
import com.cloud.api.response.ServiceOfferingResponse;
|
||||
import com.cloud.api.response.SnapshotPolicyResponse;
|
||||
import com.cloud.api.response.SnapshotResponse;
|
||||
import com.cloud.api.response.SystemVmResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
|
|
@ -52,8 +54,13 @@ import com.cloud.user.UserAccount;
|
|||
import com.cloud.user.UserContext;
|
||||
import com.cloud.user.UserStatisticsVO;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
import com.cloud.vm.InstanceGroupVO;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.State;
|
||||
import com.cloud.vm.SystemVm;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
import com.cloud.vm.VmStats;
|
||||
|
||||
public class ApiResponseHelper {
|
||||
|
|
@ -408,6 +415,106 @@ public class ApiResponseHelper {
|
|||
userVmResponse.setNetworkGroupList(ApiDBUtils.getNetworkGroupsNamesForVm(userVm.getId()));
|
||||
|
||||
return userVmResponse;
|
||||
}
|
||||
|
||||
public static SystemVmResponse createSystemVmResponse (VMInstanceVO systemVM) {
|
||||
SystemVmResponse vmResponse = new SystemVmResponse();
|
||||
if (systemVM instanceof SystemVm) {
|
||||
SystemVm vm = (SystemVm)systemVM;
|
||||
|
||||
vmResponse.setId(vm.getId());
|
||||
vmResponse.setSystemVmType(vm.getType().toString().toLowerCase());
|
||||
|
||||
String instanceType = "console_proxy";
|
||||
if (systemVM instanceof SecondaryStorageVmVO) {
|
||||
instanceType = "sec_storage_vm"; // FIXME: this should be a constant so that the async jobs get updated with the correct instance type, they are using
|
||||
// different instance types at the moment
|
||||
}
|
||||
|
||||
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob(instanceType, vm.getId());
|
||||
if (asyncJob != null) {
|
||||
vmResponse.setJobId(asyncJob.getId());
|
||||
vmResponse.setJobStatus(asyncJob.getStatus());
|
||||
}
|
||||
|
||||
vmResponse.setZoneId(vm.getDataCenterId());
|
||||
vmResponse.setZoneName(ApiDBUtils.findZoneById(vm.getDataCenterId()).getName());
|
||||
vmResponse.setDns1(vm.getDns1());
|
||||
vmResponse.setDns2(vm.getDns2());
|
||||
vmResponse.setNetworkDomain(vm.getDomain());
|
||||
vmResponse.setGateway(vm.getGateway());
|
||||
vmResponse.setName(vm.getName());
|
||||
vmResponse.setPodId(vm.getPodId());
|
||||
if (vm.getHostId() != null) {
|
||||
vmResponse.setHostId(vm.getHostId());
|
||||
vmResponse.setHostName(ApiDBUtils.findHostById(vm.getHostId()).getName());
|
||||
}
|
||||
vmResponse.setPrivateIp(vm.getPrivateIpAddress());
|
||||
vmResponse.setPrivateMacAddress(vm.getPrivateMacAddress());
|
||||
vmResponse.setPrivateNetmask(vm.getPrivateNetmask());
|
||||
vmResponse.setPublicIp(vm.getPublicIpAddress());
|
||||
vmResponse.setPublicMacAddress(vm.getPublicMacAddress());
|
||||
vmResponse.setPublicNetmask(vm.getPublicNetmask());
|
||||
vmResponse.setTemplateId(vm.getTemplateId());
|
||||
vmResponse.setCreated(vm.getCreated());
|
||||
if (vm.getState() != null) {
|
||||
vmResponse.setState(vm.getState().toString());
|
||||
}
|
||||
}
|
||||
|
||||
// for console proxies, add the active sessions
|
||||
if (systemVM instanceof ConsoleProxyVO) {
|
||||
ConsoleProxyVO proxy = (ConsoleProxyVO)systemVM;
|
||||
vmResponse.setActiveViewerSessions(proxy.getActiveSession());
|
||||
}
|
||||
return vmResponse;
|
||||
}
|
||||
|
||||
|
||||
public static DomainRouterResponse createDomainRouterResponse (DomainRouter router) {
|
||||
DomainRouterResponse routerResponse = new DomainRouterResponse();
|
||||
routerResponse.setId(router.getId());
|
||||
|
||||
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("domain_router", router.getId());
|
||||
if (asyncJob != null) {
|
||||
routerResponse.setJobId(asyncJob.getId());
|
||||
routerResponse.setJobStatus(asyncJob.getStatus());
|
||||
}
|
||||
|
||||
routerResponse.setZoneId(router.getDataCenterId());
|
||||
routerResponse.setZoneName(ApiDBUtils.findZoneById(router.getDataCenterId()).getName());
|
||||
routerResponse.setDns1(router.getDns1());
|
||||
routerResponse.setDns2(router.getDns2());
|
||||
routerResponse.setNetworkDomain(router.getDomain());
|
||||
routerResponse.setGateway(router.getGateway());
|
||||
routerResponse.setName(router.getName());
|
||||
routerResponse.setPodId(router.getPodId());
|
||||
|
||||
if (router.getHostId() != null) {
|
||||
routerResponse.setHostId(router.getHostId());
|
||||
routerResponse.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName());
|
||||
}
|
||||
|
||||
routerResponse.setPrivateIp(router.getPrivateIpAddress());
|
||||
routerResponse.setPrivateMacAddress(router.getPrivateMacAddress());
|
||||
routerResponse.setPrivateNetmask(router.getPrivateNetmask());
|
||||
routerResponse.setPublicIp(router.getPublicIpAddress());
|
||||
routerResponse.setPublicMacAddress(router.getPublicMacAddress());
|
||||
routerResponse.setPublicNetmask(router.getPublicNetmask());
|
||||
routerResponse.setGuestIpAddress(router.getGuestIpAddress());
|
||||
routerResponse.setGuestMacAddress(router.getGuestMacAddress());
|
||||
routerResponse.setGuestNetmask(router.getGuestNetmask());
|
||||
routerResponse.setTemplateId(router.getTemplateId());
|
||||
routerResponse.setCreated(router.getCreated());
|
||||
routerResponse.setState(router.getState());
|
||||
|
||||
Account accountTemp = ApiDBUtils.findAccountById(router.getAccountId());
|
||||
if (accountTemp != null) {
|
||||
routerResponse.setAccountName(accountTemp.getAccountName());
|
||||
routerResponse.setDomainId(accountTemp.getDomainId());
|
||||
routerResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
|
||||
}
|
||||
|
||||
return routerResponse;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,15 +24,13 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.DomainRouterResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
|
||||
@Implementation(method="searchForRouters", description="List routers.")
|
||||
public class ListRoutersCmd extends BaseListCmd {
|
||||
|
|
@ -108,54 +106,11 @@ public class ListRoutersCmd extends BaseListCmd {
|
|||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public ListResponse<DomainRouterResponse> getResponse() {
|
||||
List<DomainRouterVO> routers = (List<DomainRouterVO>)getResponseObject();
|
||||
|
||||
List<DomainRouter> routers = (List<DomainRouter>)getResponseObject();
|
||||
ListResponse<DomainRouterResponse> response = new ListResponse<DomainRouterResponse>();
|
||||
List<DomainRouterResponse> routerResponses = new ArrayList<DomainRouterResponse>();
|
||||
for (DomainRouterVO router : routers) {
|
||||
DomainRouterResponse routerResponse = new DomainRouterResponse();
|
||||
routerResponse.setId(router.getId());
|
||||
|
||||
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob("domain_router", router.getId());
|
||||
if (asyncJob != null) {
|
||||
routerResponse.setJobId(asyncJob.getId());
|
||||
routerResponse.setJobStatus(asyncJob.getStatus());
|
||||
}
|
||||
|
||||
routerResponse.setZoneId(router.getDataCenterId());
|
||||
routerResponse.setZoneName(ApiDBUtils.findZoneById(router.getDataCenterId()).getName());
|
||||
routerResponse.setDns1(router.getDns1());
|
||||
routerResponse.setDns2(router.getDns2());
|
||||
routerResponse.setNetworkDomain(router.getDomain());
|
||||
routerResponse.setGateway(router.getGateway());
|
||||
routerResponse.setName(router.getName());
|
||||
routerResponse.setPodId(router.getPodId());
|
||||
|
||||
if (router.getHostId() != null) {
|
||||
routerResponse.setHostId(router.getHostId());
|
||||
routerResponse.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName());
|
||||
}
|
||||
|
||||
routerResponse.setPrivateIp(router.getPrivateIpAddress());
|
||||
routerResponse.setPrivateMacAddress(router.getPrivateMacAddress());
|
||||
routerResponse.setPrivateNetmask(router.getPrivateNetmask());
|
||||
routerResponse.setPublicIp(router.getPublicIpAddress());
|
||||
routerResponse.setPublicMacAddress(router.getPublicMacAddress());
|
||||
routerResponse.setPublicNetmask(router.getPublicNetmask());
|
||||
routerResponse.setGuestIpAddress(router.getGuestIpAddress());
|
||||
routerResponse.setGuestMacAddress(router.getGuestMacAddress());
|
||||
routerResponse.setGuestNetmask(router.getGuestNetmask());
|
||||
routerResponse.setTemplateId(router.getTemplateId());
|
||||
routerResponse.setCreated(router.getCreated());
|
||||
routerResponse.setState(router.getState());
|
||||
|
||||
Account accountTemp = ApiDBUtils.findAccountById(router.getAccountId());
|
||||
if (accountTemp != null) {
|
||||
routerResponse.setAccountName(accountTemp.getAccountName());
|
||||
routerResponse.setDomainId(accountTemp.getDomainId());
|
||||
routerResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
|
||||
}
|
||||
|
||||
for (DomainRouter router : routers) {
|
||||
DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router);
|
||||
routerResponse.setResponseName("router");
|
||||
routerResponses.add(routerResponse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,16 +23,12 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.api.response.SystemVmResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.SystemVm;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
|
||||
@Implementation(method="searchForSystemVm", description="List system virtual machines.")
|
||||
|
|
@ -110,60 +106,10 @@ public class ListSystemVMsCmd extends BaseListCmd {
|
|||
@Override @SuppressWarnings("unchecked")
|
||||
public ListResponse<SystemVmResponse> getResponse() {
|
||||
List<? extends VMInstanceVO> systemVMs = (List<? extends VMInstanceVO>)getResponseObject();
|
||||
|
||||
ListResponse<SystemVmResponse> response = new ListResponse<SystemVmResponse>();
|
||||
List<SystemVmResponse> vmResponses = new ArrayList<SystemVmResponse>();
|
||||
for (VMInstanceVO systemVM : systemVMs) {
|
||||
SystemVmResponse vmResponse = new SystemVmResponse();
|
||||
if (systemVM instanceof SystemVm) {
|
||||
SystemVm vm = (SystemVm)systemVM;
|
||||
|
||||
vmResponse.setId(vm.getId());
|
||||
vmResponse.setSystemVmType(vm.getType().toString().toLowerCase());
|
||||
|
||||
String instanceType = "console_proxy";
|
||||
if (systemVM instanceof SecondaryStorageVmVO) {
|
||||
instanceType = "sec_storage_vm"; // FIXME: this should be a constant so that the async jobs get updated with the correct instance type, they are using
|
||||
// different instance types at the moment
|
||||
}
|
||||
|
||||
AsyncJobVO asyncJob = ApiDBUtils.findInstancePendingAsyncJob(instanceType, vm.getId());
|
||||
if (asyncJob != null) {
|
||||
vmResponse.setJobId(asyncJob.getId());
|
||||
vmResponse.setJobStatus(asyncJob.getStatus());
|
||||
}
|
||||
|
||||
vmResponse.setZoneId(vm.getDataCenterId());
|
||||
vmResponse.setZoneName(ApiDBUtils.findZoneById(vm.getDataCenterId()).getName());
|
||||
vmResponse.setDns1(vm.getDns1());
|
||||
vmResponse.setDns2(vm.getDns2());
|
||||
vmResponse.setNetworkDomain(vm.getDomain());
|
||||
vmResponse.setGateway(vm.getGateway());
|
||||
vmResponse.setName(vm.getName());
|
||||
vmResponse.setPodId(vm.getPodId());
|
||||
if (vm.getHostId() != null) {
|
||||
vmResponse.setHostId(vm.getHostId());
|
||||
vmResponse.setHostName(ApiDBUtils.findHostById(vm.getHostId()).getName());
|
||||
}
|
||||
vmResponse.setPrivateIp(vm.getPrivateIpAddress());
|
||||
vmResponse.setPrivateMacAddress(vm.getPrivateMacAddress());
|
||||
vmResponse.setPrivateNetmask(vm.getPrivateNetmask());
|
||||
vmResponse.setPublicIp(vm.getPublicIpAddress());
|
||||
vmResponse.setPublicMacAddress(vm.getPublicMacAddress());
|
||||
vmResponse.setPublicNetmask(vm.getPublicNetmask());
|
||||
vmResponse.setTemplateId(vm.getTemplateId());
|
||||
vmResponse.setCreated(vm.getCreated());
|
||||
if (vm.getState() != null) {
|
||||
vmResponse.setState(vm.getState().toString());
|
||||
}
|
||||
}
|
||||
|
||||
// for console proxies, add the active sessions
|
||||
if (systemVM instanceof ConsoleProxyVO) {
|
||||
ConsoleProxyVO proxy = (ConsoleProxyVO)systemVM;
|
||||
vmResponse.setActiveViewerSessions(proxy.getActiveSession());
|
||||
}
|
||||
|
||||
SystemVmResponse vmResponse = ApiResponseHelper.createSystemVmResponse(systemVM);
|
||||
vmResponse.setResponseName("systemvm");
|
||||
vmResponses.add(vmResponse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ 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.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -29,6 +30,7 @@ import com.cloud.api.response.DomainRouterResponse;
|
|||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.network.NetworkManager;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
|
||||
@Implementation(method="rebootRouter", manager=NetworkManager.class, description="Starts a router.")
|
||||
|
|
@ -82,44 +84,8 @@ public class RebootRouterCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public DomainRouterResponse getResponse() {
|
||||
DomainRouterResponse response = new DomainRouterResponse();
|
||||
DomainRouterVO router = (DomainRouterVO)getResponseObject();
|
||||
|
||||
response.setId(router.getId());
|
||||
response.setZoneId(router.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(router.getDataCenterId()).getName());
|
||||
response.setDns1(router.getDns1());
|
||||
response.setDns2(router.getDns2());
|
||||
response.setNetworkDomain(router.getDomain());
|
||||
response.setGateway(router.getGateway());
|
||||
response.setName(router.getName());
|
||||
response.setPodId(router.getPodId());
|
||||
|
||||
if (router.getHostId() != null) {
|
||||
response.setHostId(router.getHostId());
|
||||
response.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName());
|
||||
}
|
||||
|
||||
response.setPrivateIp(router.getPrivateIpAddress());
|
||||
response.setPrivateMacAddress(router.getPrivateMacAddress());
|
||||
response.setPrivateNetmask(router.getPrivateNetmask());
|
||||
response.setPublicIp(router.getPublicIpAddress());
|
||||
response.setPublicMacAddress(router.getPublicMacAddress());
|
||||
response.setPublicNetmask(router.getPublicNetmask());
|
||||
response.setGuestIpAddress(router.getGuestIpAddress());
|
||||
response.setGuestMacAddress(router.getGuestMacAddress());
|
||||
response.setGuestNetmask(router.getGuestNetmask());
|
||||
response.setTemplateId(router.getTemplateId());
|
||||
response.setCreated(router.getCreated());
|
||||
response.setState(router.getState());
|
||||
|
||||
Account accountTemp = ApiDBUtils.findAccountById(router.getAccountId());
|
||||
if (accountTemp != null) {
|
||||
response.setAccountName(accountTemp.getAccountName());
|
||||
response.setDomainId(accountTemp.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
|
||||
}
|
||||
|
||||
DomainRouter router = (DomainRouter)getResponseObject();
|
||||
DomainRouterResponse response = ApiResponseHelper.createDomainRouterResponse(router);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ package com.cloud.api.commands;
|
|||
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.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -30,8 +30,6 @@ import com.cloud.event.EventTypes;
|
|||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
|
||||
@Implementation(method="rebootSystemVM", manager=ManagementServer.class, description="Reboots a system VM.")
|
||||
|
|
@ -87,48 +85,7 @@ public class RebootSystemVmCmd extends BaseAsyncCmd {
|
|||
@Override @SuppressWarnings("unchecked")
|
||||
public SystemVmResponse getResponse() {
|
||||
VMInstanceVO instance = (VMInstanceVO)getResponseObject();
|
||||
|
||||
SystemVmResponse response = new SystemVmResponse();
|
||||
response.setId(instance.getId());
|
||||
response.setName(instance.getName());
|
||||
response.setZoneId(instance.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(instance.getDataCenterId()).getName());
|
||||
response.setPodId(instance.getPodId());
|
||||
response.setHostId(instance.getHostId());
|
||||
if (response.getHostId() != null) {
|
||||
response.setHostName(ApiDBUtils.findHostById(instance.getHostId()).getName());
|
||||
}
|
||||
|
||||
response.setPrivateIp(instance.getPrivateIpAddress());
|
||||
response.setPrivateMacAddress(instance.getPrivateMacAddress());
|
||||
response.setPrivateNetmask(instance.getPrivateNetmask());
|
||||
response.setTemplateId(instance.getTemplateId());
|
||||
response.setCreated(instance.getCreated());
|
||||
response.setState(instance.getState().toString());
|
||||
|
||||
if (instance instanceof SecondaryStorageVmVO) {
|
||||
SecondaryStorageVmVO ssVm = (SecondaryStorageVmVO) instance;
|
||||
response.setDns1(ssVm.getDns1());
|
||||
response.setDns2(ssVm.getDns2());
|
||||
response.setNetworkDomain(ssVm.getDomain());
|
||||
response.setGateway(ssVm.getGateway());
|
||||
|
||||
response.setPublicIp(ssVm.getPublicIpAddress());
|
||||
response.setPublicMacAddress(ssVm.getPublicMacAddress());
|
||||
response.setPublicNetmask(ssVm.getPublicNetmask());
|
||||
} else if (instance instanceof ConsoleProxyVO) {
|
||||
ConsoleProxyVO proxy = (ConsoleProxyVO)instance;
|
||||
response.setDns1(proxy.getDns1());
|
||||
response.setDns2(proxy.getDns2());
|
||||
response.setNetworkDomain(proxy.getDomain());
|
||||
response.setGateway(proxy.getGateway());
|
||||
|
||||
response.setPublicIp(proxy.getPublicIpAddress());
|
||||
response.setPublicMacAddress(proxy.getPublicMacAddress());
|
||||
response.setPublicNetmask(proxy.getPublicNetmask());
|
||||
response.setActiveViewerSessions(proxy.getActiveSession());
|
||||
}
|
||||
|
||||
SystemVmResponse response = ApiResponseHelper.createSystemVmResponse(instance);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ 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.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -30,7 +31,7 @@ import com.cloud.event.EventTypes;
|
|||
import com.cloud.network.DomainRouterService;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
|
||||
|
||||
@Implementation(method="startRouter", manager=DomainRouterService.class, description="Starts a router.")
|
||||
|
|
@ -89,44 +90,8 @@ public class StartRouterCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public DomainRouterResponse getResponse() {
|
||||
DomainRouterResponse routerResponse = new DomainRouterResponse();
|
||||
DomainRouterVO router = (DomainRouterVO)getResponseObject();
|
||||
|
||||
routerResponse.setId(router.getId());
|
||||
routerResponse.setZoneId(router.getDataCenterId());
|
||||
routerResponse.setZoneName(ApiDBUtils.findZoneById(router.getDataCenterId()).getName());
|
||||
routerResponse.setDns1(router.getDns1());
|
||||
routerResponse.setDns2(router.getDns2());
|
||||
routerResponse.setNetworkDomain(router.getDomain());
|
||||
routerResponse.setGateway(router.getGateway());
|
||||
routerResponse.setName(router.getName());
|
||||
routerResponse.setPodId(router.getPodId());
|
||||
|
||||
if (router.getHostId() != null) {
|
||||
routerResponse.setHostId(router.getHostId());
|
||||
routerResponse.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName());
|
||||
}
|
||||
|
||||
routerResponse.setPrivateIp(router.getPrivateIpAddress());
|
||||
routerResponse.setPrivateMacAddress(router.getPrivateMacAddress());
|
||||
routerResponse.setPrivateNetmask(router.getPrivateNetmask());
|
||||
routerResponse.setPublicIp(router.getPublicIpAddress());
|
||||
routerResponse.setPublicMacAddress(router.getPublicMacAddress());
|
||||
routerResponse.setPublicNetmask(router.getPublicNetmask());
|
||||
routerResponse.setGuestIpAddress(router.getGuestIpAddress());
|
||||
routerResponse.setGuestMacAddress(router.getGuestMacAddress());
|
||||
routerResponse.setGuestNetmask(router.getGuestNetmask());
|
||||
routerResponse.setTemplateId(router.getTemplateId());
|
||||
routerResponse.setCreated(router.getCreated());
|
||||
routerResponse.setState(router.getState());
|
||||
|
||||
Account accountTemp = ApiDBUtils.findAccountById(router.getAccountId());
|
||||
if (accountTemp != null) {
|
||||
routerResponse.setAccountName(accountTemp.getAccountName());
|
||||
routerResponse.setDomainId(accountTemp.getDomainId());
|
||||
routerResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
|
||||
}
|
||||
|
||||
DomainRouter router = (DomainRouter)getResponseObject();
|
||||
DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router);
|
||||
routerResponse.setResponseName(getName());
|
||||
return routerResponse;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ package com.cloud.api.commands;
|
|||
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.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -30,8 +30,6 @@ import com.cloud.event.EventTypes;
|
|||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.SecondaryStorageVmVO;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
|
||||
@Implementation(method="startSystemVM", manager=ManagementServer.class, description="Starts a system virtual machine.")
|
||||
|
|
@ -91,48 +89,7 @@ public class StartSystemVMCmd extends BaseAsyncCmd {
|
|||
@Override @SuppressWarnings("unchecked")
|
||||
public SystemVmResponse getResponse() {
|
||||
VMInstanceVO instance = (VMInstanceVO)getResponseObject();
|
||||
|
||||
SystemVmResponse response = new SystemVmResponse();
|
||||
response.setId(instance.getId());
|
||||
response.setName(instance.getName());
|
||||
response.setZoneId(instance.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(instance.getDataCenterId()).getName());
|
||||
response.setPodId(instance.getPodId());
|
||||
response.setHostId(instance.getHostId());
|
||||
if (response.getHostId() != null) {
|
||||
response.setHostName(ApiDBUtils.findHostById(instance.getHostId()).getName());
|
||||
}
|
||||
|
||||
response.setPrivateIp(instance.getPrivateIpAddress());
|
||||
response.setPrivateMacAddress(instance.getPrivateMacAddress());
|
||||
response.setPrivateNetmask(instance.getPrivateNetmask());
|
||||
response.setTemplateId(instance.getTemplateId());
|
||||
response.setCreated(instance.getCreated());
|
||||
response.setState(instance.getState().toString());
|
||||
|
||||
if (instance instanceof SecondaryStorageVmVO) {
|
||||
SecondaryStorageVmVO ssVm = (SecondaryStorageVmVO) instance;
|
||||
response.setDns1(ssVm.getDns1());
|
||||
response.setDns2(ssVm.getDns2());
|
||||
response.setNetworkDomain(ssVm.getDomain());
|
||||
response.setGateway(ssVm.getGateway());
|
||||
|
||||
response.setPublicIp(ssVm.getPublicIpAddress());
|
||||
response.setPublicMacAddress(ssVm.getPublicMacAddress());
|
||||
response.setPublicNetmask(ssVm.getPublicNetmask());
|
||||
} else if (instance instanceof ConsoleProxyVO) {
|
||||
ConsoleProxyVO proxy = (ConsoleProxyVO)instance;
|
||||
response.setDns1(proxy.getDns1());
|
||||
response.setDns2(proxy.getDns2());
|
||||
response.setNetworkDomain(proxy.getDomain());
|
||||
response.setGateway(proxy.getGateway());
|
||||
|
||||
response.setPublicIp(proxy.getPublicIpAddress());
|
||||
response.setPublicMacAddress(proxy.getPublicMacAddress());
|
||||
response.setPublicNetmask(proxy.getPublicNetmask());
|
||||
response.setActiveViewerSessions(proxy.getActiveSession());
|
||||
}
|
||||
|
||||
SystemVmResponse response = ApiResponseHelper.createSystemVmResponse(instance);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ 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.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -30,7 +31,7 @@ import com.cloud.event.EventTypes;
|
|||
import com.cloud.network.DomainRouterService;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
|
||||
|
||||
@Implementation(method="stopRouter", manager=DomainRouterService.class, description="Stops a router.")
|
||||
|
|
@ -84,46 +85,8 @@ public class StopRouterCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public DomainRouterResponse getResponse() {
|
||||
DomainRouterVO router = (DomainRouterVO)getResponseObject();
|
||||
|
||||
DomainRouterResponse response = new DomainRouterResponse();
|
||||
response.setId(router.getId());
|
||||
response.setZoneId(router.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(router.getDataCenterId()).getName());
|
||||
response.setDns1(router.getDns1());
|
||||
response.setDns2(router.getDns2());
|
||||
response.setNetworkDomain(router.getDomain());
|
||||
response.setGateway(router.getGateway());
|
||||
response.setName(router.getName());
|
||||
response.setPodId(router.getPodId());
|
||||
response.setPrivateIp(router.getPrivateIpAddress());
|
||||
response.setPrivateMacAddress(router.getPrivateMacAddress());
|
||||
response.setPrivateNetmask(router.getPrivateNetmask());
|
||||
response.setPublicIp(router.getPublicIpAddress());
|
||||
response.setPublicMacAddress(router.getPublicMacAddress());
|
||||
response.setPublicNetmask(router.getPrivateNetmask());
|
||||
response.setGuestIpAddress(router.getGuestIpAddress());
|
||||
response.setGuestMacAddress(router.getGuestMacAddress());
|
||||
response.setTemplateId(router.getTemplateId());
|
||||
response.setCreated(router.getCreated());
|
||||
response.setGuestNetmask(router.getGuestNetmask());
|
||||
|
||||
if (router.getHostId() != null) {
|
||||
response.setHostName(ApiDBUtils.findHostById(router.getHostId()).getName());
|
||||
response.setHostId(router.getHostId());
|
||||
}
|
||||
|
||||
Account acct = ApiDBUtils.findAccountById(router.getAccountId());
|
||||
if (acct != null) {
|
||||
response.setAccountName(acct.getAccountName());
|
||||
response.setDomainId(acct.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(acct.getDomainId()).getName());
|
||||
}
|
||||
|
||||
if (router.getState() != null) {
|
||||
response.setState(router.getState());
|
||||
}
|
||||
|
||||
DomainRouter router = (DomainRouter)getResponseObject();
|
||||
DomainRouterResponse response =ApiResponseHelper.createDomainRouterResponse(router);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.DomainRouterResponse;
|
||||
import com.cloud.network.NetworkManager;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
|
||||
@Implementation(method="upgradeRouter", manager=NetworkManager.class)
|
||||
public class UpgradeRouterCmd extends BaseCmd {
|
||||
|
|
@ -63,12 +65,10 @@ public class UpgradeRouterCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
public DomainRouterResponse getResponse() {
|
||||
DomainRouter router = (DomainRouter)getResponseObject();
|
||||
DomainRouterResponse routerResponse = ApiResponseHelper.createDomainRouterResponse(router);
|
||||
routerResponse.setResponseName(getName());
|
||||
return routerResponse;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import com.cloud.api.commands.StopRouterCmd;
|
|||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.exception.PermissionDeniedException;
|
||||
import com.cloud.utils.component.Manager;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.DomainRouter;
|
||||
|
||||
public interface DomainRouterService extends Manager {
|
||||
/**
|
||||
|
|
@ -31,7 +31,7 @@ public interface DomainRouterService extends Manager {
|
|||
* @return DomainRouter object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainRouter startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* Stops domain router
|
||||
|
|
@ -39,5 +39,5 @@ public interface DomainRouterService extends Manager {
|
|||
* @return router if successful, null otherwise
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO stopRouter(StopRouterCmd cmd);
|
||||
DomainRouter stopRouter(StopRouterCmd cmd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ public interface NetworkManager extends Manager {
|
|||
* @return DomainRouter object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO startRouter(StartRouterCmd cmd);
|
||||
DomainRouter startRouter(StartRouterCmd cmd);
|
||||
|
||||
boolean releaseRouter(long routerId);
|
||||
|
||||
|
|
@ -136,7 +136,7 @@ public interface NetworkManager extends Manager {
|
|||
* @return router if successful, null otherwise
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO stopRouter(StopRouterCmd cmd);
|
||||
DomainRouter stopRouter(StopRouterCmd cmd);
|
||||
|
||||
boolean getRouterStatistics(long vmId, Map<String, long[]> netStats, Map<String, long[]> diskStats);
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ public interface NetworkManager extends Manager {
|
|||
* @return the rebooted router
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO rebootRouter(RebootRouterCmd cmd);
|
||||
DomainRouter rebootRouter(RebootRouterCmd cmd);
|
||||
/**
|
||||
* @param hostId get all of the virtual machine routers on a host.
|
||||
* @return collection of VirtualMachineRouter
|
||||
|
|
@ -306,7 +306,7 @@ public interface NetworkManager extends Manager {
|
|||
void release(VirtualMachineProfile vmProfile);
|
||||
|
||||
<K extends VMInstanceVO> List<NicVO> getNics(K vm);
|
||||
boolean upgradeRouter(UpgradeRouterCmd cmd);
|
||||
DomainRouter upgradeRouter(UpgradeRouterCmd cmd);
|
||||
|
||||
List<AccountVO> getAccountsUsingNetworkConfiguration(long configurationId);
|
||||
AccountVO getNetworkConfigurationOwner(long configurationId);
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ public class NetworkManagerImpl implements NetworkManager, DomainRouterService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
public DomainRouter upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
return _routerMgr.upgradeRouter(cmd);
|
||||
}
|
||||
|
||||
|
|
@ -500,7 +500,7 @@ public class NetworkManagerImpl implements NetworkManager, DomainRouterService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
public DomainRouter startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
return _routerMgr.startRouter(cmd);
|
||||
}
|
||||
|
||||
|
|
@ -511,7 +511,7 @@ public class NetworkManagerImpl implements NetworkManager, DomainRouterService {
|
|||
|
||||
|
||||
@Override
|
||||
public DomainRouterVO stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public DomainRouter stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
return _routerMgr.stopRouter(cmd);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public interface DomainRouterManager extends Manager {
|
|||
* @return DomainRouter object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainRouter startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
boolean releaseRouter(long routerId);
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ public interface DomainRouterManager extends Manager {
|
|||
* @return router if successful, null otherwise
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
DomainRouterVO stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainRouter stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
boolean getRouterStatistics(long vmId, Map<String, long[]> netStats, Map<String, long[]> diskStats);
|
||||
|
||||
|
|
@ -124,10 +124,10 @@ public interface DomainRouterManager extends Manager {
|
|||
/**
|
||||
* Reboots domain router
|
||||
* @param cmd the command specifying router's id
|
||||
* @return success or failure
|
||||
* @return router if successful
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean rebootRouter(RebootRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainRouter rebootRouter(RebootRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
/**
|
||||
* @param hostId get all of the virtual machine routers on a host.
|
||||
* @return collection of VirtualMachineRouter
|
||||
|
|
@ -167,7 +167,7 @@ public interface DomainRouterManager extends Manager {
|
|||
|
||||
String createZoneVlan(DomainRouterVO router);
|
||||
|
||||
boolean upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainRouter upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
DomainRouterVO getRouter(long accountId, long zoneId);
|
||||
DomainRouterVO getRouter(String publicIpAddress);
|
||||
|
|
|
|||
|
|
@ -657,7 +657,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
|
||||
@Override
|
||||
@DB
|
||||
public boolean upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
public DomainRouter upgradeRouter(UpgradeRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
Long routerId = cmd.getId();
|
||||
Long serviceOfferingId = cmd.getServiceOfferingId();
|
||||
Account account = UserContext.current().getAccount();
|
||||
|
|
@ -673,7 +673,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
|
||||
if (router.getServiceOfferingId() == serviceOfferingId) {
|
||||
s_logger.debug("Router: " + routerId + "already has service offering: " + serviceOfferingId);
|
||||
return true;
|
||||
return _routerDao.findById(routerId);
|
||||
}
|
||||
|
||||
ServiceOfferingVO newServiceOffering = _serviceOfferingDao.findById(serviceOfferingId);
|
||||
|
|
@ -693,7 +693,10 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
}
|
||||
|
||||
router.setServiceOfferingId(serviceOfferingId);
|
||||
return _routerDao.update(routerId, router);
|
||||
if (_routerDao.update(routerId, router))
|
||||
return _routerDao.findById(routerId);
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to upgrade router " + routerId);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -747,7 +750,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public DomainRouter startRouter(StartRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long routerId = cmd.getId();
|
||||
Account account = UserContext.current().getAccount();
|
||||
|
||||
|
|
@ -1234,7 +1237,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
|
||||
|
||||
@Override
|
||||
public DomainRouterVO stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public DomainRouter stopRouter(StopRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long routerId = cmd.getId();
|
||||
Account account = UserContext.current().getAccount();
|
||||
|
||||
|
|
@ -1382,7 +1385,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean rebootRouter(RebootRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public DomainRouter rebootRouter(RebootRouterCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long routerId = cmd.getId();
|
||||
Account account = UserContext.current().getAccount();
|
||||
|
||||
|
|
@ -1397,7 +1400,10 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach
|
|||
}
|
||||
long eventId = EventUtils.saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_ROUTER_REBOOT, "rebooting Router with Id: "+routerId);
|
||||
|
||||
return rebootRouter(routerId, eventId);
|
||||
if (rebootRouter(routerId, eventId))
|
||||
return _routerDao.findById(routerId);
|
||||
else
|
||||
throw new CloudRuntimeException("Fail to reboot router " + routerId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue