Towards dev environment for HA
[lui-solr.git] / dev-deploy-ha / Vagrantfile
diff --git a/dev-deploy-ha/Vagrantfile b/dev-deploy-ha/Vagrantfile
new file mode 100644 (file)
index 0000000..627cd5a
--- /dev/null
@@ -0,0 +1,41 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure(2) do |config|
+  # Define and configure SolrCloud cluster
+  cloudservers = {
+    "node1" => "192.168.2.4",
+    "node2" => "192.168.2.5",
+    "node3" => "192.168.2.6"
+  }
+
+  cloudservers.each do |server_name, server_ip|
+    config.vm.define server_name do |cloudconfig|
+      cloudconfig.vm.box = "debian/contrib-jessie64"
+      cloudconfig.vm.host_name = server_name.to_s
+      cloudconfig.vm.network "private_network", ip: server_ip
+    end
+  end
+
+  # Zookeeper node
+  config.vm.define "zookeeper" do |zookeeper|
+    zookeeper.vm.box = "debian/contrib-jessie64"
+    zookeeper.vm.host_name = "zookeeper"
+    zookeeper.vm.network "private_network", ip: "192.168.2.3"
+  end
+  
+  # Load balancer node
+  config.vm.define "loadbalancer" do |loadbalancer|
+    loadbalancer.vm.box = "debian/contrib-jessie64"
+    loadbalancer.vm.host_name = "loadbalancer"
+    loadbalancer.vm.network "private_network", ip: "192.168.2.2"
+  end
+    
+  # Disable the default shared folder, share out project folder as /vagrant for all boxes
+  config.vm.synced_folder ".", "/vagrant", disabled: true
+  config.vm.synced_folder "..", "/vagrant"
+
+  # config.vm.provision "ansible" do |ansible|
+  #   ansible.playbook = "dev-deploy.yml"
+  # end
+end