internal IMembershipTable GetMembershipTable(GlobalConfiguration.LivenessProviderType livenessType) { IMembershipTable membershipTable; if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.MembershipTableGrain)) { membershipTable = GrainReference.FromGrainId(Constants.SystemMembershipTableId).Cast <IMembershipTableGrain>(); } else if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.SqlServer)) { membershipTable = new SqlMembershipTable(); } else if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.AzureTable)) { membershipTable = AssemblyLoader.LoadAndCreateInstance <IMembershipTable>(Constants.ORLEANS_AZURE_UTILS_DLL, logger); } else if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.ZooKeeper)) { membershipTable = AssemblyLoader.LoadAndCreateInstance <IMembershipTable>(Constants.ORLEANS_ZOOKEEPER_UTILS_DLL, logger); } else { throw new NotImplementedException("No membership table provider found for LivenessType=" + livenessType); } return(membershipTable); }
private async Task <IMembershipTable> GetMembershipTable(GlobalConfiguration.LivenessProviderType membershipType) { string runId = Guid.NewGuid().ToString("N"); var config = new GlobalConfiguration { LivenessType = membershipType, DeploymentId = runId }; IMembershipTable membership; switch (membershipType) { case GlobalConfiguration.LivenessProviderType.AzureTable: config.DataConnectionString = StorageTestConstants.DataConnectionString; membership = await AzureBasedMembershipTable.GetMembershipTable(config, true); break; case GlobalConfiguration.LivenessProviderType.SqlServer: config.DataConnectionString = StorageTestConstants.GetSqlConnectionString(TestContext.DeploymentDirectory); membership = await SqlMembershipTable.GetMembershipTable(config, true); break; default: throw new NotImplementedException(membershipType.ToString()); } return(membership); }
internal async Task <IMembershipTable> GetMembershipTable(Silo silo) { var config = silo.GlobalConfig; IMembershipTable membershipTable; GlobalConfiguration.LivenessProviderType livenessType = config.LivenessType; if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.MembershipTableGrain)) { membershipTable = MembershipTableFactory.Cast(GrainReference.FromGrainId(Constants.SystemMembershipTableId)); } else if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.SqlServer)) { membershipTable = await SqlMembershipTable.GetMembershipTable(config, true); } else if (livenessType.Equals(GlobalConfiguration.LivenessProviderType.AzureTable)) { membershipTable = await AzureBasedMembershipTable.GetMembershipTable(config, true); } else { throw new NotImplementedException("No membership table provider found for LivenessType=" + livenessType); } return(membershipTable); }
private async Task <IMembershipTable> GetMembershipTable(GlobalConfiguration.LivenessProviderType membershipType) { string runId = Guid.NewGuid().ToString("N"); var config = new GlobalConfiguration(); config.LivenessType = membershipType; config.DeploymentId = runId; IMembershipTable membership; if (membershipType == GlobalConfiguration.LivenessProviderType.AzureTable) { config.DataConnectionString = StorageTestConstants.DataConnectionString; membership = new AzureBasedMembershipTable(); } else if (membershipType == GlobalConfiguration.LivenessProviderType.SqlServer) { config.DataConnectionString = TestUtils.GetSqlConnectionString(TestContext); membership = new SqlMembershipTable(); } else { throw new NotImplementedException(membershipType.ToString()); } await membership.InitializeMembershipTable(config, true, logger); return(membership); }
public UnitTestSiloOptions() { // all defaults except: StartFreshOrleans = true; StartPrimary = true; StartSecondary = true; StartClient = true; PickNewDeploymentId = false; BasePort = -1; // use default from configuration file MachineName = "."; LivenessType = GlobalConfiguration.LivenessProviderType.MembershipTableGrain; }
public static void SetGlobals(this GlobalConfiguration globals, GlobalConfiguration.LivenessProviderType liveness = GlobalConfiguration.LivenessProviderType.Custom, string dataConnectionString = "http://localhost:8500", string membershipTableAssembly = "OrleansConsulUtils") { globals.LivenessType = liveness; globals.DataConnectionString = dataConnectionString; if (!string.IsNullOrWhiteSpace(membershipTableAssembly)) { globals.MembershipTableAssembly = membershipTableAssembly; } }
/// <summary> /// Set the membership liveness type to be used by this silo. /// </summary> /// <param name="livenessType">Liveness type for this silo</param> public void SetSiloLivenessType(GlobalConfiguration.LivenessProviderType livenessType) { logger.Info(ErrorCode.SetSiloLivenessType, "Setting silo Liveness Provider Type={0}", livenessType); Config.Globals.LivenessType = livenessType; }