public void Run() { try { Console.WriteLine("Monoscape Node Controller"); Console.WriteLine("Version: 1.0.0.0"); String hostName = MonoscapeUtil.FindHostName(); String hostIpAddress = MonoscapeUtil.FindHostIpAddress().ToString(); Console.WriteLine("Host Name: " + hostName); Console.WriteLine("Host IP Address: " + hostIpAddress); if (MonoscapeUtil.IsRunningOnMono()) { Console.WriteLine("Mono: " + MonoscapeUtil.GetMonoRuntime()); } Console.WriteLine(".NET Runtime Version: " + MonoscapeUtil.GetDotNetRuntime()); Console.WriteLine("Operating System: " + Environment.OSVersion.VersionString + Environment.NewLine); Initialize(); SubscribeToApplicationGrid(); StartApplicationGridService(); StartNcApFileReceiveSocket(); Console.WriteLine("Press Enter to stop..."); Console.ReadLine(); } catch (Exception e) { Log.Error(this, e.Message); } finally { Dispose(); } }
public void Run() { try { Console.WriteLine("Monoscape Cloud Controller"); Console.WriteLine("Version: 1.0.0.0"); String hostName = MonoscapeUtil.FindHostName(); String hostIpAddress = MonoscapeUtil.FindHostIpAddress().ToString(); Console.WriteLine("Host Name: " + hostName); Console.WriteLine("Host IP Address: " + hostIpAddress); if (MonoscapeUtil.IsRunningOnMono()) { Console.WriteLine("Mono: " + MonoscapeUtil.GetMonoRuntime()); } Console.WriteLine(".NET Runtime Version: " + MonoscapeUtil.GetDotNetRuntime()); Console.WriteLine("Operating System: " + MonoscapeUtil.GetOperatingSystem() + Environment.NewLine); Initialize(); StartDashboardService(); StartApplicationService(); StartExternalSystemService(); Console.WriteLine("Press Enter to stop..."); Console.ReadLine(); } catch (Exception e) { Log.Error(this, e); Console.ReadLine(); } finally { Dispose(); } }
public static INcApplicationGridService GetNcApplicationGridService(Node node) { try { string serviceUrl = node.ApplicationGridServiceUrl; string hostIpAddress = MonoscapeUtil.FindHostIpAddress().ToString(); if (node.IpAddress.Equals(hostIpAddress) && (serviceUrl.Contains(node.IpAddress))) { Log.Debug(typeof(EndPoints), "Node " + node.ToString() + " is running on the same host as the Application Grid"); serviceUrl.Replace(node.IpAddress, "localhost"); } Log.Debug(typeof(EndPoints), "Creating INcApplicationGridService channel to node: " + serviceUrl); var binding = MonoscapeServiceHost.GetBinding(); var address = new EndpointAddress(serviceUrl); ChannelFactory <INcApplicationGridService> factory = new ChannelFactory <INcApplicationGridService>(binding, address); INcApplicationGridService channel = factory.CreateChannel(); return(channel); } catch (Exception e) { MonoscapeException me = new MonoscapeException("Could not connect to the node", e); Log.Error(typeof(EndPoints), me); throw me; } }
public ApGetConfigurationSettingsResponse GetConfigurationSettings(ApGetConfigurationSettingsRequest request) { Log.Debug(this, "GetConfigurationSettings()"); try { Authenticate(request); ApGetConfigurationSettingsResponse response = new ApGetConfigurationSettingsResponse(); ApConfigurationSettings settings = new ApConfigurationSettings(); settings.IpAddress = MonoscapeUtil.FindHostIpAddress(); settings.RunningOnMono = MonoscapeUtil.IsRunningOnMono(); settings.MonoRuntime = MonoscapeUtil.GetMonoRuntime(); settings.DotNetRuntime = MonoscapeUtil.GetDotNetRuntime(); settings.OperatingSystem = MonoscapeUtil.GetOperatingSystem(); settings.IaasName = Settings.IaasName; settings.IaasAccessKey = Settings.IaasAccessKey; settings.IaasSecretKey = Settings.IaasSecretKey; settings.IaasServiceURL = Settings.IaasServiceURL; settings.IaasKeyName = Settings.IaasKeyName; response.ConfigurationSettings = settings; return(response); } catch (Exception e) { Log.Error(this, e); throw e; } }
public static void Initialize() { Log.Info(typeof(Initializer), "Initializing Node Controller..."); AppSettingsReader reader = new AppSettingsReader(); NodeControllerSettings settings = new NodeControllerSettings(); settings.MonoscapeAccessKey = (string)reader.GetValue("MonoscapeAccessKey", typeof(string)); settings.MonoscapeSecretKey = (string)reader.GetValue("MonoscapeSecretKey", typeof(string)); string hostIp = MonoscapeUtil.FindHostIpAddress().ToString(); settings.ApplicationGridServiceURL = ((string)reader.GetValue("ApplicationGridServiceURL", typeof(string))).Replace("node-ipaddress", hostIp); settings.FileServerServiceURL = ((string)reader.GetValue("FileServerServiceURL", typeof(string))).Replace("node-ipaddress", hostIp); settings.FileServerServiceNetTcpURL = ((string)reader.GetValue("FileServerServiceNetTcpURL", typeof(string))).Replace("node-ipaddress", hostIp); settings.FileServerServiceNetPipeURL = ((string)reader.GetValue("FileServerServiceNetPipeURL", typeof(string))).Replace("node-ipaddress", hostIp); settings.ApplicationGridEndPointURL = ((string)reader.GetValue("ApplicationGridEndPointURL", typeof(string))); settings.ApplicationStoreFolder = (string)reader.GetValue("ApplicationStoreFolder", typeof(string)); settings.ApplicationStorePath = Path.GetFullPath(settings.ApplicationStoreFolder); settings.ApplicationDeployFolder = (string)reader.GetValue("ApplicationDeployFolder", typeof(string)); settings.ApplicationDeployPath = Path.GetFullPath(settings.ApplicationDeployFolder); settings.SQLiteConnectionString = (string)reader.GetValue("SQLiteConnectionString", typeof(string)); settings.InitialWebServerPort = (int)reader.GetValue("InitialWebServerPort", typeof(int)); settings.WindowsXSPWebServerPath = (string)reader.GetValue("WindowsXSPWebServerPath", typeof(string)); settings.UnixXSPWebServerPath = (string)reader.GetValue("UnixXSPWebServerPath", typeof(string)); settings.NcApFileReceiveSocketPort = (int)reader.GetValue("NcApFileReceiveSocketPort", typeof(int)); Settings.Initialize(settings); Database.LastWebServerPort = Settings.InitialWebServerPort - 1; ClearApplicationStore(); ClearWebRoot(); Log.Info(typeof(Initializer), "Node Controller initialized"); }
private void SubscribeToApplicationGrid() { try { Console.WriteLine("Subscribing to Application Grid at: " + Settings.ApplicationGridEndPointURL); MonoscapeCredentials credentials = new MonoscapeCredentials(Settings.MonoscapeAccessKey, Settings.MonoscapeSecretKey); ApSubscribeNodeRequest request = new ApSubscribeNodeRequest(credentials); IPAddress hostIp = MonoscapeUtil.FindHostIpAddress(); request.IpAddress = hostIp.ToString(); request.IpAddress_ = hostIp; request.ApplicationGridServiceUrl = Settings.ApplicationGridServiceUrl; request.FileTransferServiceUrl = Settings.FileServerServiceUrl + "/wsHttp"; IApNodeControllerService channel = EndPoints.GetApNodeControllerService(); ApSubscribeNodeResponse response = channel.SubscribeNode(request); Database.Node = response.Node; Console.WriteLine("Subscribed successfully"); } catch (EndpointNotFoundException e) { throw new MonoscapeException("Could not connect to the Application Grid", e); } }
private void StartNcApFileReceiveSocket() { ncApFileReceiveSocket = new NcApFileReceiveSocket(Settings.ApplicationStorePath, MonoscapeUtil.FindHostIpAddress(), Settings.NcApFileReceiveSocketPort); ncApFileReceiveSocket.Open(); }