Vagrantfile and Makefile required for creating vagrant base image -
Also updating .gitignore file to not to incluse the created
vagrant base box in the commit

Change-Id: If7508f8c67e47b1cf282eb72cd6e32ba8442312f
diff --git a/vagrant-base/Makefile b/vagrant-base/Makefile
new file mode 100644
index 0000000..e632302
--- /dev/null
+++ b/vagrant-base/Makefile
@@ -0,0 +1,37 @@
+PROTO_FILES := $(wildcard *.proto) $(wildcard third_party/google/api/*proto)
+PROTO_PB2_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,_pb2.py,$(f)))
+PROTO_DESC_FILES := $(foreach f,$(PROTO_FILES),$(subst .proto,.desc,$(f)))
+
+PROTOC_PREFIX := /usr/local
+PROTOC_LIBDIR := $(PROTOC_PREFIX)/lib
+
+PROTOC := $(PROTOC_PREFIX)/bin/protoc
+
+PROTOC_VERSION := "3.0.2"
+PROTOC_DOWNLOAD_PREFIX := "https://github.com/google/protobuf/releases/download"
+PROTOC_DIR := protobuf-$(PROTOC_VERSION)
+PROTOC_TARBALL := protobuf-python-$(PROTOC_VERSION).tar.gz
+PROTOC_DOWNLOAD_URI := $(PROTOC_DOWNLOAD_PREFIX)/v$(PROTOC_VERSION)/$(PROTOC_TARBALL)
+PROTOC_BUILD_TMP_DIR := "/tmp/protobuf-build-$(shell uname -s | tr '[:upper:]' '[:lower:]')"
+
+$(PROTOC):
+	@echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+	@echo "It looks like you don't have protocol buffer tools installed."
+	@echo "To install the protocol buffer toolchain, you can run:"
+	@echo "    make install-protoc"
+	@echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+
+install-protoc: $(PROTOC)
+	@echo "Downloading and installing protocol buffer support."
+	@echo "Installation will require sodo priviledges"
+	@echo "This will take a few minutes."
+	mkdir -p $(PROTOC_BUILD_TMP_DIR)
+	@echo "We ask for sudo credentials now so we can install at the end"; \
+	sudo echo "Thanks"; \
+	    cd $(PROTOC_BUILD_TMP_DIR); \
+	    wget $(PROTOC_DOWNLOAD_URI); \
+	    tar xzvf $(PROTOC_TARBALL); \
+	    cd $(PROTOC_DIR); \
+	    ./configure --prefix=$(PROTOC_PREFIX); \
+	    make; \
+	    sudo make install
\ No newline at end of file
diff --git a/vagrant-base/Vagrantfile b/vagrant-base/Vagrantfile
new file mode 100644
index 0000000..ce086aa
--- /dev/null
+++ b/vagrant-base/Vagrantfile
@@ -0,0 +1,25 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure(2) do |config|
+
+  if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
+    config.vm.synced_folder "../", "/voltha", mount_options: ["dmode=700,fmode=600"]
+  else
+    config.vm.synced_folder "../", "/voltha"
+  end
+
+  config.vm.define "voltha" do |d|
+    d.vm.box = "voltha-base"
+    d.vm.hostname = "voltha"
+    d.vm.network "private_network", ip: "10.100.198.220"
+    d.vm.provision :shell, inline: "cd /voltha && source env.sh && chmod 777 /tmp/fluentd"
+  end
+
+  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
+
+  if Vagrant.has_plugin?("vagrant-cachier")
+    config.cache.scope = :box
+  end
+
+end
diff --git a/vagrant-base/Vagrantfile_base b/vagrant-base/Vagrantfile_base
new file mode 100644
index 0000000..d77ef9a
--- /dev/null
+++ b/vagrant-base/Vagrantfile_base
@@ -0,0 +1,34 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure(2) do |config|
+
+  if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
+    config.vm.synced_folder "../", "/voltha", mount_options: ["dmode=700,fmode=600"]
+  else
+    config.vm.synced_folder "../", "/voltha"
+  end
+
+  config.vm.define "voltha" do |d|
+    d.ssh.forward_agent = true
+    d.vm.box = "ubuntu/trusty64"
+    d.vm.hostname = "voltha"
+    d.vm.network "private_network", ip: "10.100.198.220"
+    #d.vm.network "public_network"
+    d.vm.provision :shell, path: "../ansible/scripts/bootstrap_ansible.sh"
+    d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /voltha/ansible/voltha.yml -c local"
+    d.vm.provision :shell, inline: "cd /voltha/base-vagrant && make install-protoc"
+    #d.vm.provision :shell, path: "./test_script.sh"
+    d.vm.provider "virtualbox" do |v|
+      v.name = "voltha-base"
+      v.memory = 4096
+    end
+  end
+
+  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
+
+  if Vagrant.has_plugin?("vagrant-cachier")
+    config.cache.scope = :box
+  end
+
+end
diff --git a/vagrant-base/test_script.sh b/vagrant-base/test_script.sh
new file mode 100644
index 0000000..0c4d07b
--- /dev/null
+++ b/vagrant-base/test_script.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+echo "Testing script..."
+sudo usermod -a -G sudo vagrant
\ No newline at end of file