mirror of https://github.com/apache/cloudstack.git
bug 6736: rebootSystemVm should return the vm properties, not success true/false.
status 6736: resolved fixed
This commit is contained in:
parent
95da86ef1a
commit
a788d2cb2e
|
|
@ -20,14 +20,18 @@ package com.cloud.api.commands;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd.Manager;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.SystemVmResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
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=Manager.ManagementServer, description="Reboots a system VM.")
|
||||
public class RebootSystemVmCmd extends BaseAsyncCmd {
|
||||
|
|
@ -80,10 +84,50 @@ public class RebootSystemVmCmd extends BaseAsyncCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
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());
|
||||
}
|
||||
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class RebootConsoleProxyExecutor extends VMOperationExecutor {
|
|||
AsyncJobVO job = getJob();
|
||||
ManagementServer managementServer = asyncMgr.getExecutorContext().getManagementServer();
|
||||
VMOperationParam param = gson.fromJson(job.getCmdInfo(), VMOperationParam.class);
|
||||
|
||||
/*
|
||||
if(getSyncSource() == null) {
|
||||
asyncMgr.syncAsyncJobExecution(job, "ConsoleProxy", param.getVmId());
|
||||
return true;
|
||||
|
|
@ -58,7 +58,9 @@ public class RebootConsoleProxyExecutor extends VMOperationExecutor {
|
|||
e.getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
|
||||
public void processAnswer(VMOperationListener listener, long agentId, long seq, Answer answer) {
|
||||
|
|
|
|||
|
|
@ -145,6 +145,7 @@ import com.cloud.user.UserAccountVO;
|
|||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.exception.ExecutionException;
|
||||
import com.cloud.vm.ConsoleProxy;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.InstanceGroupVO;
|
||||
|
|
@ -788,13 +789,13 @@ public interface ManagementServer {
|
|||
ConsoleProxyInfo getConsoleProxy(long dataCenterId, long userVmId);
|
||||
ConsoleProxyVO startConsoleProxy(long instanceId, long startEventId) throws InternalErrorException;
|
||||
boolean stopConsoleProxy(long instanceId, long startEventId);
|
||||
boolean rebootConsoleProxy(long instanceId, long startEventId);
|
||||
ConsoleProxyVO rebootConsoleProxy(long instanceId, long startEventId);
|
||||
String getConsoleAccessUrlRoot(long vmId);
|
||||
ConsoleProxyVO findConsoleProxyById(long instanceId);
|
||||
VMInstanceVO findSystemVMById(long instanceId);
|
||||
VMInstanceVO stopSystemVM(StopSystemVmCmd cmd);
|
||||
VMInstanceVO startSystemVM(StartSystemVMCmd cmd) throws InternalErrorException;
|
||||
boolean rebootSystemVM(RebootSystemVmCmd cmd);
|
||||
VMInstanceVO rebootSystemVM(RebootSystemVmCmd cmd);
|
||||
|
||||
/**
|
||||
* Returns a configuration value with the specified name
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import java.net.URLEncoder;
|
|||
import java.net.UnknownHostException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.cert.Certificate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
|
|
@ -146,10 +145,8 @@ import com.cloud.async.AsyncJobResult;
|
|||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.async.BaseAsyncJobExecutor;
|
||||
import com.cloud.async.dao.AsyncJobDao;
|
||||
import com.cloud.async.executor.ExtractJobResultObject;
|
||||
import com.cloud.capacity.CapacityVO;
|
||||
import com.cloud.capacity.dao.CapacityDao;
|
||||
import com.cloud.certificate.CertificateVO;
|
||||
import com.cloud.certificate.dao.CertificateDao;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
|
|
@ -228,7 +225,6 @@ import com.cloud.storage.GuestOSCategoryVO;
|
|||
import com.cloud.storage.GuestOSVO;
|
||||
import com.cloud.storage.LaunchPermissionVO;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.Upload;
|
||||
import com.cloud.storage.Snapshot.SnapshotType;
|
||||
import com.cloud.storage.SnapshotPolicyVO;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
|
|
@ -238,6 +234,7 @@ import com.cloud.storage.StorageManager;
|
|||
import com.cloud.storage.StoragePoolHostVO;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.StorageStats;
|
||||
import com.cloud.storage.Upload;
|
||||
import com.cloud.storage.Upload.Mode;
|
||||
import com.cloud.storage.Upload.Type;
|
||||
import com.cloud.storage.UploadVO;
|
||||
|
|
@ -298,6 +295,7 @@ import com.cloud.utils.exception.CloudRuntimeException;
|
|||
import com.cloud.utils.exception.ExecutionException;
|
||||
import com.cloud.utils.net.MacAddress;
|
||||
import com.cloud.utils.net.NetUtils;
|
||||
import com.cloud.vm.ConsoleProxy;
|
||||
import com.cloud.vm.ConsoleProxyVO;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.InstanceGroupVMMapVO;
|
||||
|
|
@ -308,7 +306,6 @@ import com.cloud.vm.UserVmManager;
|
|||
import com.cloud.vm.UserVmVO;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.VirtualMachineName;
|
||||
import com.cloud.vm.dao.ConsoleProxyDao;
|
||||
import com.cloud.vm.dao.DomainRouterDao;
|
||||
import com.cloud.vm.dao.InstanceGroupDao;
|
||||
|
|
@ -4707,8 +4704,9 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean rebootConsoleProxy(long instanceId, long startEventId) {
|
||||
return _consoleProxyMgr.rebootProxy(instanceId, startEventId);
|
||||
public ConsoleProxyVO rebootConsoleProxy(long instanceId, long startEventId) {
|
||||
_consoleProxyMgr.rebootProxy(instanceId, startEventId);
|
||||
return _consoleProxyDao.findById(instanceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -6281,8 +6279,9 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
return _secStorageVmMgr.stopSecStorageVm(instanceId, startEventId);
|
||||
}
|
||||
|
||||
public boolean rebootSecondaryStorageVm(long instanceId, long startEventId) {
|
||||
return _secStorageVmMgr.rebootSecStorageVm(instanceId, startEventId);
|
||||
public SecondaryStorageVmVO rebootSecondaryStorageVm(long instanceId, long startEventId) {
|
||||
_secStorageVmMgr.rebootSecStorageVm(instanceId, startEventId);
|
||||
return _secStorageVmDao.findById(instanceId);
|
||||
}
|
||||
|
||||
public boolean destroySecondaryStorageVm(long instanceId, long startEventId) {
|
||||
|
|
@ -6416,7 +6415,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean rebootSystemVM(RebootSystemVmCmd cmd) {
|
||||
public VMInstanceVO rebootSystemVM(RebootSystemVmCmd cmd) {
|
||||
VMInstanceVO systemVm = _vmInstanceDao.findByIdTypes(cmd.getId(), VirtualMachine.Type.ConsoleProxy, VirtualMachine.Type.SecondaryStorageVm);
|
||||
|
||||
if (systemVm == null) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue