public void SiloConfig_Azure_Default() { const string filename = "Config_Azure_Default.xml"; string deploymentId = "SiloConfig_Azure_Default" + TestConstants.random.Next(); string connectionString = "UseDevelopmentStorage=true"; var initialConfig = new ClusterConfiguration(); initialConfig.LoadFromFile(filename); output.WriteLine(initialConfig.Globals); // Do same code that AzureSilo does for configuring silo host var siloName = "SiloConfig_Azure_Default"; var host = new SiloHost(siloName, initialConfig); // Use supplied config data + Initializes logger configurations host.SetSiloType(Silo.SiloType.Secondary); ////// Always use Azure table for membership when running silo in Azure host.SetSiloLivenessType(GlobalConfiguration.LivenessProviderType.AzureTable); host.SetReminderServiceType(GlobalConfiguration.ReminderServiceProviderType.AzureTable); host.SetDeploymentId(deploymentId, connectionString); ClusterConfiguration siloConfig = host.Config; Assert.Equal(GlobalConfiguration.LivenessProviderType.AzureTable, siloConfig.Globals.LivenessType); // LivenessType Assert.Equal(GlobalConfiguration.ReminderServiceProviderType.AzureTable, siloConfig.Globals.ReminderServiceType); // ReminderServiceType Assert.Equal(deploymentId, siloConfig.Globals.DeploymentId); // DeploymentId Assert.Equal(connectionString, siloConfig.Globals.DataConnectionString); // DataConnectionString Assert.True(siloConfig.Globals.UseAzureSystemStore, "Should be using Azure storage"); Assert.False(siloConfig.Globals.UseSqlSystemStore, "Should not be using SqlServer storage"); }
private static void Run() { var config = GetClusterConfiguration(); config.Globals.SeedNodes.Add(new IPEndPoint(IPAddress.Loopback, 11111)); config.Defaults.HostNameOrIPAddress = "localhost"; config.Defaults.Port = 11111; config.Defaults.ProxyGatewayEndpoint = new IPEndPoint(IPAddress.Loopback, 12345); var process = Process.GetCurrentProcess(); var name = Environment.MachineName + "_" + process.Id + Guid.NewGuid().ToString("N").Substring(3); var silo = new SiloHost(name, config); // Configure the silo for the current environment. silo.SetSiloType(Silo.SiloType.Primary); Trace.TraceInformation("Silo configuration: \n" + silo.Config.ToString(name)); silo.InitializeOrleansSilo(); Trace.TraceInformation("Successfully initialized Orleans silo '{0}' as a {1} node.", silo.Name, silo.Type); Trace.TraceInformation("Starting Orleans silo '{0}' as a {1} node.", silo.Name, silo.Type); if (silo.StartOrleansSilo()) { silo.WaitForOrleansSiloShutdown(); } }