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 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 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(); } }
private ApplicationInstance StartWebServer(Application application, Tenant tenant, int port) { try { string xsp = Settings.WindowsXSPWebServerPath; if (MonoscapeUtil.IsRunningOnMono() && (Environment.OSVersion.Platform == PlatformID.Unix)) { xsp = Settings.UnixXSPWebServerPath; } string arguments = "--port " + port + " --applications /" + tenant.Name.Replace(" ", "").ToLower() + "/" + MonoscapeUtil.PrepareApplicationVirtualFolderName(application.Name) + ":."; string workingDirectory = PrepareApplicationDeployPath(application, tenant.Name, port); var p = new Process() { StartInfo = new ProcessStartInfo(xsp, arguments) { RedirectStandardOutput = false, RedirectStandardError = false, UseShellExecute = false, CreateNoWindow = true, WorkingDirectory = workingDirectory } }; if (p.Start()) { Database.LastWebServerPort = port; ApplicationInstance instance = new ApplicationInstance(); instance.Id = FindNextInstanceId(application); instance.ProcessId = p.Id; instance.ApplicationId = application.Id; instance.ApplicationName = application.Name; instance.NodeId = Database.Node.Id; instance.IpAddress = Database.Node.IpAddress; instance.Port = port; instance.Tenant = tenant; instance.CreatedTime = DateTime.Now; instance.State = "Started"; instance.Url = "http://" + instance.IpAddress + ":" + instance.Port + "/" + tenant.Name.Replace(" ", "").ToLower() + "/" + MonoscapeUtil.PrepareApplicationVirtualFolderName(application.Name); Database.ChildProcesses.Add(p); Log.Info(typeof(NcApplicationGridService), "Started web server: " + instance.Url); return(instance); } else { Database.ChildProcesses.Add(p); Log.Error(typeof(NcApplicationGridService), "Could not start web server for application " + application.Name + " " + application.Version); return(null); } } catch (Exception e) { Log.Error(this, "Could not start web server"); throw e; } }