/// <summary> /// Provisions the entry point Couchbase server node. /// </summary> /// <param name="hostname">The hostname.</param> /// <param name="defaultSettings">The default settings.</param> /// <param name="dataRamQuota">The data ram quota.</param> /// <param name="indexRamQuota">The index ram quota.</param> /// <returns></returns> public async Task <CompositeResult> ProvisionEntryPointAsync(string hostname = null, BucketSettings defaultSettings = null, uint dataRamQuota = 544, uint indexRamQuota = 256) { hostname = hostname ?? _cluster.Configuration.Servers.First().Host; defaultSettings = defaultSettings ?? new BucketSettings(); var compositeResults = new CompositeResult(); try { var result = await _clusterManager.InitializeClusterAsync(hostname); compositeResults.Add(result); if (compositeResults.Success) { result = await _clusterManager.RenameNodeAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureMemoryAsync(hostname, dataRamQuota, indexRamQuota); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.SetupServicesAsync(hostname, defaultSettings.Services); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureAdminAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.CreateBucketAsync(defaultSettings); compositeResults.Add(result); } } catch (Exception e) { compositeResults.Add(new DefaultResult(false, e.Message, e)); } return(compositeResults); }
/// <summary> /// Provisions the entry point Couchbase server node. /// </summary> /// <param name="hostname">The hostname.</param> /// <param name="defaultSettings">The default settings.</param> /// <param name="dataRamQuota">The data ram quota.</param> /// <param name="indexRamQuota">The index ram quota.</param> /// <returns></returns> public async Task<CompositeResult> ProvisionEntryPointAsync(string hostname = null, BucketSettings defaultSettings = null, uint dataRamQuota = 544, uint indexRamQuota = 256) { hostname = hostname ?? _cluster.Configuration.Servers.First().Host; defaultSettings = defaultSettings ?? new BucketSettings(); var compositeResults = new CompositeResult(); try { var result = await _clusterManager.InitializeClusterAsync(hostname); compositeResults.Add(result); if (compositeResults.Success) { result = await _clusterManager.RenameNodeAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureMemoryAsync(hostname, dataRamQuota, indexRamQuota); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.SetupServicesAsync(hostname, defaultSettings.Services); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureAdminAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.CreateBucketAsync(defaultSettings); compositeResults.Add(result); } } catch (Exception e) { compositeResults.Add(new DefaultResult(false, e.Message, e)); } return compositeResults; }
/// <summary> /// Provisions the nodes defined in the ClientConfiguration.Servers list, skipping /// the first node which is the entry point (EP). /// </summary> /// <returns></returns> public async Task<CompositeResult> ProvisionNodesAsync(params CouchbaseService[] services) { var compositeResult = new CompositeResult(); var nodes = _cluster.Configuration.Servers; if (nodes.Count < 2) { var ioe = new InvalidOperationException( "Not enough nodes defined in ClientConfiguration.Servers to provision the cluster"); compositeResult.Add(new DefaultResult(false, ioe.Message, ioe)); } if (compositeResult.Success) { //skip the first node which is the EP var tasks = nodes.Skip(1).Select(node => _clusterManager.AddNodeAsync(node.Host, services)).ToList(); var results = await Task.WhenAll(tasks); foreach (var r in results) { compositeResult.Add(r); } } return compositeResult; }
/// <summary> /// Provisions the nodes defined in the ClientConfiguration.Servers list, skipping /// the first node which is the entry point (EP). /// </summary> /// <returns></returns> public async Task <CompositeResult> ProvisionNodesAsync(params CouchbaseService[] services) { var compositeResult = new CompositeResult(); var nodes = _cluster.Configuration.Servers; if (nodes.Count < 2) { var ioe = new InvalidOperationException( "Not enough nodes defined in ClientConfiguration.Servers to provision the cluster"); compositeResult.Add(new DefaultResult(false, ioe.Message, ioe)); } if (compositeResult.Success) { //skip the first node which is the EP var tasks = nodes.Skip(1).Select(node => _clusterManager.AddNodeAsync(node.Host, services)).ToList(); var results = await Task.WhenAll(tasks); foreach (var r in results) { compositeResult.Add(r); } } return(compositeResult); }