Initial outline of opencord integration repo

- Vagrantfile to support standardized 'corddev' development environment
- Ansible playbooks to properly bring up devenv
- Gradle build structure
- Gradle plugin to manage docker-based workflow (pull, build, run, tag,
  push, etc.)
- Gradle top-level build file to allow pre-fetching and publishing
  component docker images. Supported main tasks: fetch, publish
- Example to how to manage 'as-is' upstream components
- A cleaner way of handling gradle rules
- Added initial content to README.md
- Added initial content to docs/quickstart.md
- Updated .gitignore
- Placeholder, parametric entry for deploy step
- Placeholder deployment profile config file (config/default.yml)

Change-Id: I0ff82e0aa3a5299422bd500f9ab8e41e4814a7ca
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..917fbaa
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,36 @@
+# -*- 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 ".", "/opencord", mount_options: ["dmode=700,fmode=600"]
+  else
+    config.vm.synced_folder ".", "/opencord"
+  end
+
+  config.vm.define "corddev" do |d|
+    d.vm.box = "ubuntu/trusty64"
+    d.vm.hostname = "corddev"
+    d.vm.network "private_network", ip: "10.100.198.200"
+    d.vm.provision :shell, path: "scripts/bootstrap_ansible.sh"
+    d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /opencord/ansible/corddev.yml -c local"
+    d.vm.provider "virtualbox" do |v|
+      v.memory = 2048
+    end
+  end
+
+  config.vm.define "prod" do |d|
+    d.vm.box = "ubuntu/trusty64"
+    d.vm.hostname = "prod"
+    d.vm.network "private_network", ip: "10.100.198.201"
+    d.vm.provider "virtualbox" do |v|
+      v.memory = 1024
+    end
+  end
+
+  if Vagrant.has_plugin?("vagrant-cachier")
+    config.cache.scope = :box
+  end
+
+end