Example #1
0
        /// <summary>
        /// Start an additional silo, so that it joins the existing cluster.
        /// </summary>
        /// <returns>SiloHandle for the newly started silo.</returns>
        public SiloHandle StartAdditionalSilo()
        {
            var   clusterConfig   = this.ClusterConfiguration;
            short instanceNumber  = (short)clusterConfig.Overrides.Count;
            var   defaultNode     = clusterConfig.Defaults;
            int   baseSiloPort    = defaultNode.Port;
            int   baseGatewayPort = defaultNode.ProxyGatewayEndpoint.Port;
            var   nodeConfig      = TestClusterOptions.AddNodeConfiguration(
                this.ClusterConfiguration,
                Silo.SiloType.Secondary,
                instanceNumber,
                baseSiloPort,
                baseGatewayPort);

            SiloHandle instance = StartOrleansSilo(
                Silo.SiloType.Secondary,
                this.ClusterConfiguration,
                nodeConfig);

            additionalSilos.Add(instance);
            return(instance);
        }