diff --git a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java index 3a1c387c344..6824b9c731a 100755 --- a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java @@ -175,7 +175,7 @@ public class AgentBasedConsoleProxyManager extends ManagerBase implements Consol } @Override - public ConsoleProxyVO startProxy(long proxyVmId) { + public ConsoleProxyVO startProxy(long proxyVmId, boolean ignoreRestartSetting) { return null; } diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java index 9d22b7f3743..8496301aa43 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java @@ -40,7 +40,7 @@ public interface ConsoleProxyManager extends Manager, ConsoleProxyService { public void resumeLastManagementState(); - public ConsoleProxyVO startProxy(long proxyVmId); + public ConsoleProxyVO startProxy(long proxyVmId, boolean ignoreRestartSetting); public boolean stopProxy(long proxyVmId); diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index bb64fa3a12c..ec23e959565 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -520,7 +520,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy } @Override - public ConsoleProxyVO startProxy(long proxyVmId) { + public ConsoleProxyVO startProxy(long proxyVmId, boolean ignoreRestartSetting) { try { ConsoleProxyVO proxy = _consoleProxyDao.findById(proxyVmId); if (proxy.getState() == VirtualMachine.State.Running) { @@ -528,7 +528,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy } String restart = _configDao.getValue(Config.ConsoleProxyRestart.key()); - if (restart != null && restart.equalsIgnoreCase("false")) { + if (!ignoreRestartSetting && restart != null && restart.equalsIgnoreCase("false")) { return null; } @@ -912,7 +912,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy if (proxy != null) { long proxyVmId = proxy.getId(); - proxy = startProxy(proxyVmId); + proxy = startProxy(proxyVmId, false); if (proxy != null) { if (s_logger.isInfoEnabled()) { @@ -1134,7 +1134,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy return false; } } else { - return startProxy(proxyVmId) != null; + return startProxy(proxyVmId, false) != null; } } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 85ce413d96a..cbf79257ff3 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2182,7 +2182,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } private ConsoleProxyVO startConsoleProxy(long instanceId) { - return _consoleProxyMgr.startProxy(instanceId); + return _consoleProxyMgr.startProxy(instanceId, true); } private ConsoleProxyVO stopConsoleProxy(VMInstanceVO systemVm, boolean isForced) throws ResourceUnavailableException, OperationTimedoutException, ConcurrentOperationException {