Graft the REST console onto the grid server. Same procedure as with

the user server.
arthursv
Melanie 2009-08-19 05:15:25 +01:00
parent c5bbcb04e0
commit dd0234f500
5 changed files with 53 additions and 4 deletions

View File

@ -45,6 +45,8 @@ namespace OpenSim.Framework
public string SimSendKey = String.Empty; public string SimSendKey = String.Empty;
public string UserRecvKey = String.Empty; public string UserRecvKey = String.Empty;
public string UserSendKey = String.Empty; public string UserSendKey = String.Empty;
public string ConsoleUser = String.Empty;
public string ConsolePass = String.Empty;
public GridConfig(string description, string filename) public GridConfig(string description, string filename)
{ {
@ -95,6 +97,12 @@ namespace OpenSim.Framework
"Allow regions to register immediately upon grid server startup? true/false", "Allow regions to register immediately upon grid server startup? true/false",
"True", "True",
false); false);
m_configMember.addConfigurationOption("console_user", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"Remote console access user name [Default: disabled]", "0", false);
m_configMember.addConfigurationOption("console_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"Remote console access password [Default: disabled]", "0", false);
} }
public bool handleIncomingConfiguration(string configuration_key, object configuration_result) public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
@ -140,9 +148,15 @@ namespace OpenSim.Framework
case "allow_region_registration": case "allow_region_registration":
AllowRegionRegistration = (bool)configuration_result; AllowRegionRegistration = (bool)configuration_result;
break; break;
case "console_user":
ConsoleUser = (string)configuration_result;
break;
case "console_pass":
ConsolePass = (string)configuration_result;
break;
} }
return true; return true;
} }
} }
} }

View File

@ -31,6 +31,7 @@ using System.IO;
using System.Reflection; using System.Reflection;
using System.Timers; using System.Timers;
using log4net; using log4net;
using Nini.Config;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
@ -46,6 +47,8 @@ namespace OpenSim.Grid.GridServer
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected GridConfig m_config; protected GridConfig m_config;
public string m_consoleType = "local";
public IConfigSource m_configSource = null;
public GridConfig Config public GridConfig Config
{ {
@ -71,16 +74,36 @@ namespace OpenSim.Grid.GridServer
public GridServerBase() public GridServerBase()
{ {
m_console = new LocalConsole("Grid");
MainConsole.Instance = m_console;
} }
protected override void StartupSpecific() protected override void StartupSpecific()
{ {
switch (m_consoleType)
{
case "rest":
m_console = new RemoteConsole("Grid");
break;
case "basic":
m_console = new CommandConsole("Grid");
break;
default:
m_console = new LocalConsole("Grid");
break;
}
MainConsole.Instance = m_console;
m_config = new GridConfig("GRID SERVER", (Path.Combine(Util.configDir(), "GridServer_Config.xml"))); m_config = new GridConfig("GRID SERVER", (Path.Combine(Util.configDir(), "GridServer_Config.xml")));
m_log.Info("[GRID]: Starting HTTP process"); m_log.Info("[GRID]: Starting HTTP process");
m_httpServer = new BaseHttpServer(m_config.HttpPort); m_httpServer = new BaseHttpServer(m_config.HttpPort);
if (m_console is RemoteConsole)
{
RemoteConsole c = (RemoteConsole)m_console;
c.SetServer(m_httpServer);
IConfig netConfig = m_configSource.AddConfig("Network");
netConfig.Set("ConsoleUser", m_config.ConsoleUser);
netConfig.Set("ConsolePass", m_config.ConsolePass);
c.ReadConfig(m_configSource);
}
LoadPlugins(); LoadPlugins();

View File

@ -26,6 +26,7 @@
*/ */
using log4net.Config; using log4net.Config;
using Nini.Config;
namespace OpenSim.Grid.GridServer namespace OpenSim.Grid.GridServer
{ {
@ -33,10 +34,21 @@ namespace OpenSim.Grid.GridServer
{ {
public static void Main(string[] args) public static void Main(string[] args)
{ {
ArgvConfigSource argvSource = new ArgvConfigSource(args);
argvSource.AddSwitch("Startup", "console", "c");
XmlConfigurator.Configure(); XmlConfigurator.Configure();
GridServerBase app = new GridServerBase(); GridServerBase app = new GridServerBase();
IConfig startupConfig = argvSource.Configs["Startup"];
if (startupConfig != null)
{
app.m_consoleType = startupConfig.GetString("console", "local");
}
app.m_configSource = argvSource;
// if (args.Length > 0 && args[0] == "-setuponly") // if (args.Length > 0 && args[0] == "-setuponly")
// { // {
// app.Config(); // app.Config();

View File

@ -157,7 +157,6 @@ namespace OpenSim.Grid.UserServer
if (m_console is RemoteConsole) if (m_console is RemoteConsole)
{ {
System.Console.WriteLine("Initialized REST console");
RemoteConsole c = (RemoteConsole)m_console; RemoteConsole c = (RemoteConsole)m_console;
c.SetServer(m_httpServer); c.SetServer(m_httpServer);
IConfig netConfig = m_config.AddConfig("Network"); IConfig netConfig = m_config.AddConfig("Network");

View File

@ -911,6 +911,7 @@
<Reference name="OpenMetaverse.dll"/> <Reference name="OpenMetaverse.dll"/>
<Reference name="XMLRPC.dll"/> <Reference name="XMLRPC.dll"/>
<Reference name="log4net.dll"/> <Reference name="log4net.dll"/>
<Reference name="Nini.dll"/>
<Files> <Files>
<Match pattern="*.cs" recurse="true"/> <Match pattern="*.cs" recurse="true"/>