示例#1
0
 public void UseVNodes(string nodesToPopulate)
 {
     CcmBridge.ExecuteCcm("remove");
     CcmBridge.ExecuteCcm(String.Format("create {0} -v {1}", CcmBridge.Name, CassandraVersion));
     CcmBridge.ExecuteCcm(String.Format("populate -n {0} -i {1} --vnodes", nodesToPopulate, CcmBridge.IpPrefix), CcmBridge.DefaultCmdTimeout, true);
     CcmBridge.ExecuteCcm("start", CcmBridge.DefaultCmdTimeout, true);
 }
示例#2
0
        public static CcmBridge Create(string name, string localIpPrefix, int nodeCount, string cassandraVersion, bool startTheCluster = true, string[] jvmArgs = null, bool useSsl = false)
        {
            CcmBridge ccmBridge       = new CcmBridge(name, localIpPrefix);
            string    clusterStartStr = "";

            if (startTheCluster)
            {
                clusterStartStr = "-s";
            }
            var jvmArgsParams = "";

            if (jvmArgs != null && jvmArgs.Length > 0)
            {
                jvmArgsParams = String.Join(" ", jvmArgs.Select(a => "--jvm_arg=" + a));
            }
            var sslParams = "";

            if (useSsl)
            {
                var sslPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "ssl");
                if (!File.Exists(Path.Combine(sslPath, "keystore.jks")))
                {
                    throw new Exception(string.Format("In order to use SSL with CCM you must provide have the keystore.jks and cassandra.crt files located in your {0} folder", sslPath));
                }
                sslParams = "--ssl " + sslPath;
            }
            ccmBridge.ExecuteCcm(string.Format("create {0} -n {1} {2} -i {3} -b -v {4} {5} {6}", name, nodeCount, clusterStartStr, localIpPrefix, cassandraVersion, jvmArgsParams, sslParams));
            return(ccmBridge);
        }
示例#3
0
 public static CcmBridge Create(string name, string localIpPrefix, int nodeCount, string cassandraVersion, bool startTheCluster = true)
 {
     CcmBridge ccmBridge = new CcmBridge(name, localIpPrefix);
     string clusterStartStr = "";
     if (startTheCluster)
         clusterStartStr = "-s";
     ccmBridge.ExecuteCcm(string.Format("Create {0} -n {1} {2} -i {3} -b -v {4}", name, nodeCount, clusterStartStr, localIpPrefix, cassandraVersion));
     return ccmBridge;
 }
示例#4
0
 public void UpdateConfig(params string[] yamlChanges)
 {
     if (yamlChanges == null)
     {
         return;
     }
     foreach (var setting in yamlChanges)
     {
         CcmBridge.ExecuteCcm($"updateconf \"{setting}\"");
     }
 }
示例#5
0
        public static CcmBridge Create(string name, string localIpPrefix, int nodeCountDc1, int nodeCountDc2, string cassandraVersion, bool startTheCluster = true, bool throwOnError = false)
        {
            CcmBridge ccmBridge       = new CcmBridge(name, localIpPrefix);
            string    clusterStartStr = "";

            if (startTheCluster)
            {
                clusterStartStr = "-s";
            }
            ccmBridge.ExecuteCcm(string.Format("Create {0} -n {1}:{2} {3} -i {4} -b -v {5}", name, nodeCountDc1, nodeCountDc2, clusterStartStr, localIpPrefix, cassandraVersion), DefaultCmdTimeout, throwOnError);
            return(ccmBridge);
        }
示例#6
0
        public static CcmBridge Create(string name, string localIpPrefix, int nodeCount, string cassandraVersion, bool startTheCluster = true)
        {
            CcmBridge ccmBridge       = new CcmBridge(name, localIpPrefix);
            string    clusterStartStr = "";

            if (startTheCluster)
            {
                clusterStartStr = "-s";
            }
            ccmBridge.ExecuteCcm(string.Format("Create {0} -n {1} {2} -i {3} -b -v {4}", name, nodeCount, clusterStartStr, localIpPrefix, cassandraVersion));
            return(ccmBridge);
        }
 /// <summary>
 /// Removes the current ccm cluster, without throwing exceptions if it fails
 /// </summary>
 public static void TryRemove()
 {
     try
     {
         CcmBridge.ExecuteCcm("remove");
     }
     catch (Exception ex)
     {
         if (Diagnostics.CassandraTraceSwitch.Level == TraceLevel.Verbose)
         {
             Trace.TraceError("ccm test cluster could not be removed: {0}", ex);
         }
     }
 }
示例#8
0
 public void DecommissionNodeForcefully(int nodeId)
 {
     _ccm.ExecuteCcm(string.Format("node{0} nodetool \"decommission -f\"", nodeId), false);
 }
 /// <summary>
 /// Removes the current ccm cluster
 /// </summary>
 public static void Remove()
 {
     CcmBridge.ExecuteCcm("remove");
 }
示例#10
0
 public void ResumeNode(int nodeId)
 {
     CcmBridge.ExecuteCcm($"node{nodeId} resume");
 }
示例#11
0
 public void PauseNode(int nodeId)
 {
     CcmBridge.ExecuteCcm($"node{nodeId} pause");
 }
示例#12
0
 public static CcmBridge Create(string name, string localIpPrefix, int nodeCount, string cassandraVersion, bool startTheCluster = true, string[] jvmArgs = null, bool useSsl = false)
 {
     CcmBridge ccmBridge = new CcmBridge(name, localIpPrefix);
     string clusterStartStr = "";
     if (startTheCluster)
         clusterStartStr = "-s";
     var jvmArgsParams = "";
     if (jvmArgs != null && jvmArgs.Length > 0)
     {
         jvmArgsParams = String.Join(" ", jvmArgs.Select(a => "--jvm_arg=" + a));
     }
     var sslParams = "";
     if (useSsl)
     {
         var sslPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "ssl");
         if (!File.Exists(Path.Combine(sslPath, "keystore.jks")))
         {
             throw new Exception(string.Format("In order to use SSL with CCM you must provide have the keystore.jks and cassandra.crt files located in your {0} folder", sslPath));
         }
         sslParams = "--ssl " + sslPath;
     }
     ccmBridge.ExecuteCcm(string.Format("create {0} -n {1} {2} -i {3} -b -v {4} {5} {6}", name, nodeCount, clusterStartStr, localIpPrefix, cassandraVersion, jvmArgsParams, sslParams));
     return ccmBridge;
 }
示例#13
0
 public static CcmBridge Create(string name, string localIpPrefix, int nodeCountDc1, int nodeCountDc2, string cassandraVersion, bool startTheCluster = true, bool throwOnError = false)
 {
     CcmBridge ccmBridge = new CcmBridge(name, localIpPrefix);
     string clusterStartStr = "";
     if (startTheCluster)
         clusterStartStr = "-s";
     ccmBridge.ExecuteCcm(string.Format("create {0} -n {1}:{2} {3} -i {4} -b -v {5}", name, nodeCountDc1, nodeCountDc2, clusterStartStr, localIpPrefix, cassandraVersion), DefaultCmdTimeout, throwOnError);
     return ccmBridge;
 }
 public void ResumeNode(int nodeId)
 {
     CcmBridge.ExecuteCcm(string.Format("node{0} resume", nodeId));
 }
 public void PauseNode(int nodeId)
 {
     CcmBridge.ExecuteCcm(string.Format("node{0} pause", nodeId));
 }
示例#16
0
 public static CcmBridge Create(string name, string localIpPrefix, int nodeCount, string cassandraVersion, bool startTheCluster = true, string[] jvmArgs = null)
 {
     CcmBridge ccmBridge = new CcmBridge(name, localIpPrefix);
     string clusterStartStr = "";
     if (startTheCluster)
         clusterStartStr = "-s";
     var jvmArgsParams = "";
     if (jvmArgs != null && jvmArgs.Length > 0)
     {
         jvmArgsParams = String.Join(" ", jvmArgs.Select(a => "--jvm_arg=" + a));
     }
     ccmBridge.ExecuteCcm(string.Format("create {0} -n {1} {2} -i {3} -b -v {4} {5}", name, nodeCount, clusterStartStr, localIpPrefix, cassandraVersion, jvmArgsParams));
     return ccmBridge;
 }