فهرست منبع

auto generate the output script

Chris Mague 5 سال پیش
والد
کامیت
354d9b2699
3فایلهای تغییر یافته به همراه76 افزوده شده و 0 حذف شده
  1. 1 0
      .gitignore
  2. 18 0
      main.tf
  3. 57 0
      raft_group_setup.tpl

+ 1 - 0
.gitignore

@@ -2,3 +2,4 @@
 terraform.tfstate*
 ansible/*.retry
 inventories/*.ini
+ansible/raft_group_setup

+ 18 - 0
main.tf

@@ -85,3 +85,21 @@ output "tester-ips" {
   value = formatlist("ssh -i ~/.ssh/${var.vpc-name}.pem -o IdentitiesOnly=yes  -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ubuntu@%s", aws_eip.re-eip.public_ip)
 }
 
+data "template_file" "raft_group_setup" {
+  template = "${file("${path.module}/raft_group_setup.tpl")}"
+  vars = {
+    node1 = module.nodes.node-internal-ips[0]
+    node2 = module.nodes.node-internal-ips[1]
+    node3 = module.nodes.node-internal-ips[2]
+  }
+}
+
+resource "null_resource" "raft_group_setup" {
+  provisioner "local-exec" {
+    command = "echo \"${data.template_file.raft_group_setup.rendered}\" > ${path.module}/ansible/raft_group_setup"
+  }
+  depends_on = ["data.template_file.raft_group_setup"]
+}
+
+
+

+ 57 - 0
raft_group_setup.tpl

@@ -0,0 +1,57 @@
+#!/bin/bash
+
+#############################################################################
+#  Setting up the raft groups
+#  
+#  IPS:
+#  ${node1}
+#  ${node2}
+#  ${node3}
+#  
+#  Run once from from any node
+#############################################################################
+
+# setup clusters
+redis-cli -h ${node1} -p 19901 raft.cluster init
+redis-cli -h ${node1} -p 19902 raft.cluster init
+redis-cli -h ${node1} -p 19903 raft.cluster init
+redis-cli -h ${node1} -p 19904 raft.cluster init
+
+redis-cli -h ${node2} -p 19905 raft.cluster init
+redis-cli -h ${node2} -p 19906 raft.cluster init
+redis-cli -h ${node2} -p 19907 raft.cluster init
+redis-cli -h ${node2} -p 19908 raft.cluster init
+
+redis-cli -h ${node3} -p 19909 raft.cluster init
+redis-cli -h ${node3} -p 19910 raft.cluster init
+redis-cli -h ${node3} -p 19911 raft.cluster init
+redis-cli -h ${node3} -p 19912 raft.cluster init
+
+# setup groups
+redis-cli -h ${node2} -p 19901 raft.cluster join ${node1}:19901
+redis-cli -h ${node3} -p 19901 raft.cluster join ${node1}:19901
+redis-cli -h ${node2} -p 19902 raft.cluster join ${node1}:19902
+redis-cli -h ${node3} -p 19902 raft.cluster join ${node1}:19902
+redis-cli -h ${node2} -p 19903 raft.cluster join ${node1}:19903
+redis-cli -h ${node3} -p 19903 raft.cluster join ${node1}:19903
+redis-cli -h ${node2} -p 19904 raft.cluster join ${node1}:19904
+redis-cli -h ${node3} -p 19904 raft.cluster join ${node1}:19904
+
+redis-cli -h ${node1} -p 19905 raft.cluster join ${node2}:19905
+redis-cli -h ${node3} -p 19905 raft.cluster join ${node2}:19905
+redis-cli -h ${node1} -p 19906 raft.cluster join ${node2}:19906
+redis-cli -h ${node3} -p 19906 raft.cluster join ${node2}:19906
+redis-cli -h ${node1} -p 19907 raft.cluster join ${node2}:19907
+redis-cli -h ${node3} -p 19907 raft.cluster join ${node2}:19907
+redis-cli -h ${node1} -p 19908 raft.cluster join ${node2}:19908
+redis-cli -h ${node3} -p 19908 raft.cluster join ${node2}:19908
+
+redis-cli -h ${node1} -p 19909 raft.cluster join ${node3}:19909
+redis-cli -h ${node2} -p 19909 raft.cluster join ${node3}:19909
+redis-cli -h ${node1} -p 19910 raft.cluster join ${node3}:19910
+redis-cli -h ${node2} -p 19910 raft.cluster join ${node3}:19910
+redis-cli -h ${node1} -p 19911 raft.cluster join ${node3}:19911
+redis-cli -h ${node2} -p 19911 raft.cluster join ${node3}:19911
+redis-cli -h ${node1} -p 19912 raft.cluster join ${node3}:19912
+redis-cli -h ${node2} -p 19912 raft.cluster join ${node3}:19912
+