Skip to content

Commit

Permalink
Merge pull request #1622 from sergeybykov/azure-config
Browse files Browse the repository at this point in the history
Add helper methods to AzureClient and AzureSilo for easier programmatic config
  • Loading branch information
jdom committed Mar 30, 2016
2 parents 77f1593 + 506dc2b commit 691208e
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
21 changes: 19 additions & 2 deletions src/OrleansAzureUtils/Hosting/AzureClient.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Threading;
using Orleans.Runtime.Configuration;

Expand Down Expand Up @@ -74,6 +75,22 @@ public static void Uninitialize()
GrainClient.Uninitialize();
}

/// <summary>
/// Returns default client configuration object for passing to AzureClient.
/// </summary>
/// <returns></returns>
public static ClientConfiguration DefaultConfiguration()
{
var config = new ClientConfiguration
{
GatewayProvider = ClientConfiguration.GatewayProviderType.AzureTable,
DeploymentId = GetDeploymentId(),
DataConnectionString = GetDataConnectionString(),
};

return config;
}

#region Internal implementation of client initialization processing

private static void InitializeImpl_FromFile(FileInfo configFile)
Expand Down Expand Up @@ -123,12 +140,12 @@ private static void InitializeImpl_FromFile(FileInfo configFile)
InitializeImpl_FromConfig(config);
}

private static string GetDeploymentId()
internal static string GetDeploymentId()
{
return GrainClient.TestOnlyNoConnect ? "FakeDeploymentId" : serviceRuntimeWrapper.DeploymentId;
}

private static string GetDataConnectionString()
internal static string GetDataConnectionString()
{
return GrainClient.TestOnlyNoConnect
? "FakeConnectionString"
Expand Down
11 changes: 11 additions & 0 deletions src/OrleansAzureUtils/Hosting/AzureSilo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@ public AzureSilo()
logger = TraceLogger.GetLogger("OrleansAzureSilo", TraceLogger.LoggerType.Runtime);
}

public static ClusterConfiguration DefaultConfiguration()
{
var config = new ClusterConfiguration();

config.Globals.LivenessType = GlobalConfiguration.LivenessProviderType.AzureTable;
config.Globals.DeploymentId = AzureClient.GetDeploymentId();
config.Globals.DataConnectionString = AzureClient.GetDataConnectionString();

return config;
}

#region Azure RoleEntryPoint methods

/// <summary>
Expand Down

0 comments on commit 691208e

Please sign in to comment.