Add VirtualBox support

Modify Vagrantfile in various environments to add support for VirtualBox
This commit is contained in:
Scott Lowe 2016-03-10 21:38:04 -07:00
parent 005fc84014
commit 149631aa90
6 changed files with 80 additions and 23 deletions

View file

@ -5,6 +5,8 @@
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml', 'fileutils', and 'erb' modules
require 'yaml'
@ -52,6 +54,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
srv.vm.box = servers["box"]
# Assign an additional static private network
srv.vm.network "private_network", ip: servers["priv_ip"]
# Configure VMs based on CoreOS box
if srv.vm.box == "coreos-stable"
# Disable default synced folder for CoreOS VMs
@ -60,7 +63,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
srv.vm.provision "file", source: "#{USER_DATA}", destination: "/tmp/vagrantfile-user-data"
# Move user_data to correct location to be processed by cloud-init
srv.vm.provision "shell", inline: "mv /tmp/vagrantfile-user-data /var/lib/coreos-vagrant/", privileged: true
end
end # if srv.vm.box
# Configure VMs based on Ubuntu box
if srv.vm.box == "slowe/ubuntu-trusty-x64"
# Enable default synced folder (needed for provisioning)
@ -68,12 +72,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Run final provisioning script
# Note that default shared folder is needed for script to work
srv.vm.provision "shell", path: "provision.sh", privileged: true
end
# Configure VMs with RAM and CPUs per settings in servers.yml
end # if srv.vm.box
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end
end
end
end
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = servers["ram"]
vb.cpus = servers["vcpu"]
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure

View file

@ -5,6 +5,8 @@
Vagrant.require_version '>= 1.6.0'
VAGRANTFILE_API_VERSION = '2'
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml', 'fileutils', and 'erb' modules
require 'yaml'
@ -74,11 +76,17 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
srv.vm.provision 'shell', path: 'consul.sh'
end # srv.vm.box == 'ubuntu-trusty-x64'
# Configure VMs with RAM and CPUs per settings in servers.yml
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx['memsize'] = server['ram']
vmw.vmx['numvcpus'] = server['vcpu']
end # srv.vm.provider
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = server['ram']
vb.cpus = server['vcpu']
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure

23
etcd-2.0/Vagrantfile vendored
View file

@ -5,6 +5,8 @@
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml' module
require 'yaml'
@ -39,22 +41,33 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Iterate through entries in YAML file to create VMs
servers.each do |servers|
config.vm.define servers["name"] do |srv|
# Don't check for box updates
srv.vm.box_check_update = false
srv.vm.hostname = servers["name"]
srv.vm.box = servers["box"]
# Assign an additional static private network
srv.vm.network "private_network", ip: servers["priv_ip"]
# Specify default synced folder; requires VMware Tools
# Note shared folders are REQUIRED for the shell provisioning to work
srv.vm.synced_folder ".", "/vagrant"
# Provision etcd to the VMs
srv.vm.provision "shell", path: "provision.sh", privileged: true
# Configure VMs with RAM and CPUs per settings in servers.yml
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end
end
end
end
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = servers["ram"]
vb.cpus = servers["vcpu"]
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure

12
lxd-ovs/Vagrantfile vendored
View file

@ -5,6 +5,8 @@
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml' module
require 'yaml'
@ -33,11 +35,17 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Perform final provisioning activities
srv.vm.provision "shell", path: "setup.sh", privileged: true
# Configure VMs with RAM and CPUs per settings in servers.yml
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end # srv.vm.provider
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = servers["ram"]
vb.cpus = servers["vcpu"]
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure

12
lxd-shell/Vagrantfile vendored
View file

@ -5,6 +5,8 @@
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml' module
require 'yaml'
@ -33,11 +35,17 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Perform final provisioning activities
srv.vm.provision "shell", path: "setup.sh", privileged: true
# Configure VMs with RAM and CPUs per settings in servers.yml
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end # srv.vm.provider
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = servers["ram"]
vb.cpus = servers["vcpu"]
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure

View file

@ -5,6 +5,8 @@
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion'
#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
# Require 'yaml' module
require 'yaml'
@ -29,15 +31,22 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Enable default synced folder
srv.vm.synced_folder ".", "/vagrant"
# Perform final provisioning activities
srv.vm.provision "shell", path: "config.sh", privileged: true
srv.vm.provision "file", source: "adminrc", destination: "/home/vagrant/adminrc"
# Configure VMs with RAM and CPUs per settings in servers.yml
# Configure VMs with RAM and CPUs per settings in servers.yml (Fusion)
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end
end
end
end
end # srv.vm.provider vmware_fusion
# Configure VMs with RAM and CPUs per settings in servers.yml (VirtualBox)
srv.vm.provider :virtualbox do |vb|
vb.memory = servers["ram"]
vb.cpus = servers["vcpu"]
end # srv.vm.provider virtualbox
end # config.vm.define
end # servers.each
end # Vagrant.configure