public static void Start(this LocalCassandraNode node)
        {
            var localNodeName = LocalCassandraProcessManager.StartLocalCassandraProcess(node.DeployDirectory);

            if (localNodeName != node.LocalNodeName)
            {
                throw new InvalidOperationException($"actual localNodeName ({localNodeName}) != LocalNodeName ({node.LocalNodeName})");
            }
        }
Пример #2
0
        public static void Start(this LocalCassandraNode node, TimeSpan?timeout = null)
        {
            var localNodeName = LocalCassandraProcessManager.StartLocalCassandraProcess(node.DeployDirectory);

            if (localNodeName != node.LocalNodeName)
            {
                throw new InvalidOperationException($"actual localNodeName ({localNodeName}) != LocalNodeName ({node.LocalNodeName})");
            }
            LocalCassandraProcessManager.WaitForLocalCassandraPortsToOpen(node.RpcPort, node.CqlPort, timeout);
        }
        public static void Deploy(this LocalCassandraNode node)
        {
            if (Directory.Exists(node.DeployDirectory))
            {
                Directory.Delete(node.DeployDirectory, recursive: true);
            }
            Directory.CreateDirectory(node.DeployDirectory);

            DirectoryCopy(node.TemplateDirectory, node.DeployDirectory);

            ExpandSettingsTemplates(node);
        }
Пример #4
0
        private static void ExpandSettingsTemplates(LocalCassandraNode node)
        {
            var templateFiles = new[]
            {
                @"conf/cassandra.yaml",
                @"bin/cassandra.bat"
            };

            foreach (var templateFile in templateFiles)
            {
                ExpandSettingsTemplate(Path.Combine(node.DeployDirectory, templateFile), node);
            }
        }
Пример #5
0
 private static void ExpandSettingsTemplate(string templateFilePath, LocalCassandraNode node)
 {
     ExpandSettingsTemplate(templateFilePath, new Dictionary <string, string>
     {
         { "ClusterName", node.ClusterName },
         { "LocalNodeName", node.LocalNodeName },
         { "HeapSize", node.HeapSize },
         { "RpcAddress", node.RpcAddress },
         { "ListenAddress", node.ListenAddress },
         { "SeedAddresses", string.Join(",", node.SeedAddresses) },
         { "RpcPort", node.RpcPort.ToString() },
         { "CqlPort", node.CqlPort.ToString() },
         { "JmxPort", node.JmxPort.ToString() },
         { "GossipPort", node.GossipPort.ToString() }
     });
 }
Пример #6
0
 public static void Restart(this LocalCassandraNode node, TimeSpan?timeout = null)
 {
     Stop(node, timeout);
     Deploy(node);
     Start(node, timeout);
 }
Пример #7
0
 public static void Deploy(this LocalCassandraNode node)
 {
     CleanupCassandraDeployDirectory(node.DeployDirectory);
     DirectoryCopy(node.TemplateDirectory, node.DeployDirectory);
     ExpandSettingsTemplates(node);
 }
Пример #8
0
 public static void Stop(this LocalCassandraNode node, TimeSpan?timeout = null)
 {
     LocalCassandraProcessManager.StopLocalCassandraProcess(node.LocalNodeName, timeout);
 }
 public static void Restart(this LocalCassandraNode node)
 {
     Stop(node);
     Deploy(node);
     Start(node);
 }
 public static void Stop(this LocalCassandraNode node)
 {
     LocalCassandraProcessManager.StopLocalCassandraProcess(node.LocalNodeName);
 }