* If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message)
parent
690294c578
commit
d3fb6039ca
|
@ -38,6 +38,7 @@ namespace OpenSim.Framework.Communications
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="regionInfos"> </param>
|
/// <param name="regionInfos"> </param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
/// <exception cref="System.Exception">Thrown if region registration failed</exception>
|
||||||
RegionCommsListener RegisterRegion(RegionInfo regionInfos);
|
RegionCommsListener RegisterRegion(RegionInfo regionInfos);
|
||||||
|
|
||||||
bool DeregisterRegion(RegionInfo regionInfo);
|
bool DeregisterRegion(RegionInfo regionInfo);
|
||||||
|
|
|
@ -388,7 +388,7 @@ namespace OpenSim.Grid.GridServer
|
||||||
" " + sim.regionLocY + " currently occupied by " + existingSim.regionName);
|
" " + sim.regionLocY + " currently occupied by " + existingSim.regionName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ErrorResponse("The key required to login your region did not match. Please check your send and receive keys.");
|
return ErrorResponse("The key required to login your region did not match. Please check your grid send and receive keys.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -569,7 +569,18 @@ namespace OpenSim
|
||||||
//moved these here as the terrain texture has to be created after the modules are initialized
|
//moved these here as the terrain texture has to be created after the modules are initialized
|
||||||
// and has to happen before the region is registered with the grid.
|
// and has to happen before the region is registered with the grid.
|
||||||
scene.CreateTerrainTexture(true);
|
scene.CreateTerrainTexture(true);
|
||||||
scene.RegisterRegionWithGrid();
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
scene.RegisterRegionWithGrid();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat("[STARTUP]: Registration of region with grid failed, aborting startup - {0}", e);
|
||||||
|
|
||||||
|
// Carrying on now causes a lot of confusion down the line - we need to get the user's attention
|
||||||
|
System.Environment.Exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
// We need to do this after we've initialized the scripting engines.
|
// We need to do this after we've initialized the scripting engines.
|
||||||
scene.StartScripts();
|
scene.StartScripts();
|
||||||
|
|
|
@ -129,10 +129,6 @@ namespace OpenSim.Region.ClientStack
|
||||||
|
|
||||||
scene.LoadWorldMap();
|
scene.LoadWorldMap();
|
||||||
|
|
||||||
//moved to opensimMain as these have to happen after modules are initialised
|
|
||||||
// scene.CreateTerrainTexture(true);
|
|
||||||
// scene.RegisterRegionWithGrid();
|
|
||||||
|
|
||||||
scene.PhysicsScene = GetPhysicsScene();
|
scene.PhysicsScene = GetPhysicsScene();
|
||||||
scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised());
|
scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised());
|
||||||
scene.PhysicsScene.SetWaterLevel(regionInfo.EstateSettings.waterHeight);
|
scene.PhysicsScene.SetWaterLevel(regionInfo.EstateSettings.waterHeight);
|
||||||
|
@ -171,4 +167,4 @@ namespace OpenSim.Region.ClientStack
|
||||||
protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager,
|
protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager,
|
||||||
AgentCircuitManager circuitManager);
|
AgentCircuitManager circuitManager);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
// see IGridServices
|
// see IGridServices
|
||||||
public RegionCommsListener RegisterRegion(RegionInfo regionInfo)
|
public RegionCommsListener RegisterRegion(RegionInfo regionInfo)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat(
|
m_log.InfoFormat(
|
||||||
"[OGS1 GRID SERVICES]: Attempting to register region {0} with grid at {1}",
|
"[OGS1 GRID SERVICES]: Attempting to register region {0} with grid at {1}",
|
||||||
regionInfo.RegionName, serversInfo.GridURL);
|
regionInfo.RegionName, serversInfo.GridURL);
|
||||||
|
|
||||||
|
@ -137,14 +137,16 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams);
|
XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams);
|
||||||
GridResp = GridReq.Send(serversInfo.GridURL, 30000);
|
GridResp = GridReq.Send(serversInfo.GridURL, 30000);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
m_log.ErrorFormat(
|
Exception e2
|
||||||
"[OGS1 GRID SERVICES]: Unable to connect to grid at {0}. Grid server not running? Exception {1}",
|
= new Exception(
|
||||||
serversInfo.GridURL, ex);
|
String.Format("Unable to connect to grid at {0}. Grid service not running?", serversInfo.GridURL),
|
||||||
|
e);
|
||||||
|
|
||||||
throw(ex);
|
throw(e2);
|
||||||
}
|
}
|
||||||
|
|
||||||
Hashtable GridRespData = (Hashtable)GridResp.Value;
|
Hashtable GridRespData = (Hashtable)GridResp.Value;
|
||||||
Hashtable griddatahash = GridRespData;
|
Hashtable griddatahash = GridRespData;
|
||||||
|
|
||||||
|
@ -152,11 +154,10 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
if (GridRespData.ContainsKey("error"))
|
if (GridRespData.ContainsKey("error"))
|
||||||
{
|
{
|
||||||
string errorstring = (string) GridRespData["error"];
|
string errorstring = (string) GridRespData["error"];
|
||||||
m_log.ErrorFormat(
|
|
||||||
"[OGS1 GRID SERVICES]: Unable to connect to grid at {0}: {1}",
|
|
||||||
serversInfo.GridURL, errorstring);
|
|
||||||
|
|
||||||
return null;
|
Exception e = new Exception(String.Format("Unable to connect to grid at {0}: {1}", serversInfo.GridURL, errorstring));
|
||||||
|
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -292,7 +293,7 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
|
|
||||||
if (responseData.ContainsKey("error"))
|
if (responseData.ContainsKey("error"))
|
||||||
{
|
{
|
||||||
Console.WriteLine("error received from grid server" + responseData["error"]);
|
m_log.WarnFormat("[OGS1 GRID SERVICES]: Error received from grid server: {0}", responseData["error"]);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,7 +356,7 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
|
|
||||||
if (responseData.ContainsKey("error"))
|
if (responseData.ContainsKey("error"))
|
||||||
{
|
{
|
||||||
m_log.Error("[OGS1 GRID SERVICES]: Error received from grid server" + responseData["error"]);
|
m_log.Error("[OGS1 GRID SERVICES]: Error received from grid server: " + responseData["error"]);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -924,13 +924,20 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Register this region with a grid service
|
||||||
|
/// </summary>
|
||||||
|
/// <exception cref="System.Exception">Thrown if registration of the region itself fails.</exception>
|
||||||
public void RegisterRegionWithGrid()
|
public void RegisterRegionWithGrid()
|
||||||
{
|
{
|
||||||
RegisterCommsEvents();
|
RegisterCommsEvents();
|
||||||
|
|
||||||
// These two 'commands' *must be* next to each other or sim rebooting fails.
|
// These two 'commands' *must be* next to each other or sim rebooting fails.
|
||||||
m_sceneGridService.RegisterRegion(RegionInfo);
|
m_sceneGridService.RegisterRegion(RegionInfo);
|
||||||
m_sceneGridService.InformNeighborsThatRegionisUp(RegionInfo);
|
m_sceneGridService.InformNeighborsThatRegionisUp(RegionInfo);
|
||||||
|
|
||||||
Dictionary<string, string> dGridSettings = m_sceneGridService.GetGridSettings();
|
Dictionary<string, string> dGridSettings = m_sceneGridService.GetGridSettings();
|
||||||
|
|
||||||
if (dGridSettings.ContainsKey("allow_forceful_banlines"))
|
if (dGridSettings.ContainsKey("allow_forceful_banlines"))
|
||||||
{
|
{
|
||||||
if (dGridSettings["allow_forceful_banlines"] != "TRUE")
|
if (dGridSettings["allow_forceful_banlines"] != "TRUE")
|
||||||
|
|
|
@ -84,6 +84,11 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_commsProvider.InterRegion.rdebugRegionName = _debugRegionName;
|
m_commsProvider.InterRegion.rdebugRegionName = _debugRegionName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Register a region with the grid
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="regionInfos"></param>
|
||||||
|
/// <exception cref="System.Exception">Thrown if region registration fails.</exception>
|
||||||
public void RegisterRegion(RegionInfo regionInfos)
|
public void RegisterRegion(RegionInfo regionInfos)
|
||||||
{
|
{
|
||||||
m_regionInfo = regionInfos;
|
m_regionInfo = regionInfos;
|
||||||
|
|
Loading…
Reference in New Issue