From 72243c8382433e4e81aee35fecadba00656f030a Mon Sep 17 00:00:00 2001 From: abhishek Date: Mon, 27 Sep 2010 11:10:25 -0700 Subject: [PATCH] bug 5191: incremental checkin --- core/src/com/cloud/info/ConsoleProxyInfo.java | 12 +++++++++--- server/src/com/cloud/configuration/Config.java | 1 + .../consoleproxy/AgentBasedConsoleProxyManager.java | 5 ++++- .../AgentBasedStandaloneConsoleProxyManager.java | 2 +- .../cloud/consoleproxy/ConsoleProxyManagerImpl.java | 2 +- .../consoleproxy/StaticConsoleProxyManager.java | 2 +- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/core/src/com/cloud/info/ConsoleProxyInfo.java b/core/src/com/cloud/info/ConsoleProxyInfo.java index 1e310ac9764..f17820af586 100644 --- a/core/src/com/cloud/info/ConsoleProxyInfo.java +++ b/core/src/com/cloud/info/ConsoleProxyInfo.java @@ -30,15 +30,21 @@ public class ConsoleProxyInfo { this.proxyUrlPort = proxyUrlPort; } - public ConsoleProxyInfo(boolean sslEnabled, String proxyIpAddress, int port, int proxyUrlPort) { + public ConsoleProxyInfo(boolean sslEnabled, String proxyIpAddress, int port, int proxyUrlPort, String consoleProxyUrlDomain) { this.sslEnabled = sslEnabled; if(sslEnabled) { StringBuffer sb = new StringBuffer(proxyIpAddress); for(int i = 0; i < sb.length(); i++) if(sb.charAt(i) == '.') - sb.setCharAt(i, '-'); - sb.append(".realhostip.com"); + sb.setCharAt(i, '-'); + if(consoleProxyUrlDomain!=null && consoleProxyUrlDomain.length()>0) + { + sb.append("."); + sb.append(consoleProxyUrlDomain); + } + else + sb.append(".realhostip.com"); proxyAddress = sb.toString(); proxyPort = port; this.proxyUrlPort = proxyUrlPort; diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index 5ef77ccc9c3..978335a79b2 100644 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -75,6 +75,7 @@ public enum Config { ConsoleProxyCapacityScanInterval("Console Proxy", AgentManager.class, String.class, "consoleproxy.capacityscan.interval", "30000", "The time interval(in millisecond) to scan whether or not system needs more console proxy to ensure minimal standby capacity", null), ConsoleProxyCmdPort("Console Proxy", AgentManager.class, Integer.class, "consoleproxy.cmd.port", "8001", "Console proxy command port that is used to communicate with management server", null), ConsoleProxyRestart("Console Proxy", AgentManager.class, Boolean.class, "consoleproxy.restart", "true", "Console proxy restart flag, defaulted to true", null), + ConsoleProxyUrlDomain("Console Proxy", AgentManager.class, String.class, "consoleproxy.url.domain", "realhostip.com", "Console proxy url domain", null), // obselete //ConsoleProxyDomPEnable("Console Proxy", ManagementServer.class, Boolean.class, "consoleproxy.domP.enable", null, null, null), diff --git a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java index 9c333af2623..6f4d0f16988 100644 --- a/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java @@ -68,6 +68,7 @@ public class AgentBasedConsoleProxyManager implements ConsoleProxyManager, Virtu @Inject protected UserVmDao _userVmDao; private String _instance; + protected String _consoleProxyUrlDomain; @Inject private VMInstanceDao _instanceDao; private ConsoleProxyListener _listener; @@ -115,6 +116,8 @@ public class AgentBasedConsoleProxyManager implements ConsoleProxyManager, Virtu _instance = configs.get("instance.name"); + _consoleProxyUrlDomain = configs.get("consoleproxy.url.domain"); + _listener = new ConsoleProxyListener(this); _agentMgr.registerForHostEvents(_listener, true, true, false); @@ -169,7 +172,7 @@ public class AgentBasedConsoleProxyManager implements ConsoleProxyManager, Virtu if (host.getProxyPort() != null && host.getProxyPort().intValue() > 0) urlPort = host.getProxyPort().intValue(); - return new ConsoleProxyInfo(_sslEnabled, publicIp, _consoleProxyPort, urlPort); + return new ConsoleProxyInfo(_sslEnabled, publicIp, _consoleProxyPort, urlPort, _consoleProxyUrlDomain); } else { s_logger.warn("Host that VM is running is no longer available, console access to VM " + userVmId + " will be temporarily unavailable."); } diff --git a/server/src/com/cloud/consoleproxy/AgentBasedStandaloneConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/AgentBasedStandaloneConsoleProxyManager.java index 5646bb16f18..0494d9d99b6 100644 --- a/server/src/com/cloud/consoleproxy/AgentBasedStandaloneConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/AgentBasedStandaloneConsoleProxyManager.java @@ -85,7 +85,7 @@ AgentBasedConsoleProxyManager { if(allocatedHost.getProxyPort() != null && allocatedHost.getProxyPort().intValue() > 0) urlPort = allocatedHost.getProxyPort().intValue(); - return new ConsoleProxyInfo(_sslEnabled, publicIp, _consoleProxyPort, urlPort); + return new ConsoleProxyInfo(_sslEnabled, publicIp, _consoleProxyPort, urlPort, _consoleProxyUrlDomain); } else { s_logger.warn("Host that VM is running is no longer available, console access to VM " + userVmId + " will be temporarily unavailable."); } diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index d93ae5807c6..399c7795de3 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -316,7 +316,7 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, VirtualMach if (proxy == null) return null; - return new ConsoleProxyInfo(proxy.isSslEnabled(), proxy.getPublicIpAddress(), _consoleProxyPort, proxy.getPort()); + return new ConsoleProxyInfo(proxy.isSslEnabled(), proxy.getPublicIpAddress(), _consoleProxyPort, proxy.getPort(), _configDao.getValue("consoleproxy.url.domain")); } public ConsoleProxyVO doAssignProxy(long dataCenterId, long vmId) { diff --git a/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java index 30eed551e28..97ac7d3aa77 100644 --- a/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java +++ b/server/src/com/cloud/consoleproxy/StaticConsoleProxyManager.java @@ -48,7 +48,7 @@ public class StaticConsoleProxyManager extends AgentBasedConsoleProxyManager imp @Override public ConsoleProxyInfo assignProxy(long dataCenterId, long userVmId) { - return new ConsoleProxyInfo(false, _ip, _consoleProxyPort, _consoleProxyUrlPort); + return new ConsoleProxyInfo(false, _ip, _consoleProxyPort, _consoleProxyUrlPort, _consoleProxyUrlDomain); } @Override