From c30b1b5f53120ea0aefb5604cda6121b331f3782 Mon Sep 17 00:00:00 2001 From: "Scott S. Lowe" Date: Sun, 11 Sep 2016 23:12:15 -0600 Subject: [PATCH] Update multi-platform support Migrate from a Fusion-only configuration to a configuration that supports both Fusion as well as VirtualBox. --- docker-macvlan/Vagrantfile | 13 ++++++++----- docker-macvlan/machines.yml | 6 ++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docker-macvlan/Vagrantfile b/docker-macvlan/Vagrantfile index 45c053e..3981fe1 100644 --- a/docker-macvlan/Vagrantfile +++ b/docker-macvlan/Vagrantfile @@ -4,9 +4,7 @@ # Specify Vagrant version, Vagrant API version, and desired clone location Vagrant.require_version '>= 1.6.0' VAGRANTFILE_API_VERSION = '2' -ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_fusion' ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant' -#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox' # Require 'yaml' module require 'yaml' @@ -26,8 +24,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Don't check for box updates srv.vm.box_check_update = false + + # Define the VM's hostname srv.vm.hostname = machine['name'] - srv.vm.box = machine['box'] + + # Use VMware box by default + srv.vm.box = machine['vmw_box'] # Configure default synced folder (disable by default) if machine['sync_disabled'] != nil @@ -42,7 +44,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| end # if machine['ip_addr'] # Configure CPU & RAM per settings in machines.yml (Fusion) - srv.vm.provider :vmware_fusion do |vmw| + srv.vm.provider 'vmware_fusion' do |vmw| vmw.vmx['memsize'] = machine['ram'] vmw.vmx['numvcpus'] = machine['vcpu'] if machine['nested'] == true @@ -51,9 +53,10 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| end # srv.vm.provider vmware_fusion # Configure CPU & RAM per settings in machines.yml (VirtualBox) - srv.vm.provider :virtualbox do |vb| + srv.vm.provider 'virtualbox' do |vb, override| vb.memory = machine['ram'] vb.cpus = machine['vcpu'] + override.vm.box = machine['vb_box'] end # srv.vm.provider virtualbox # Provision Docker on appropriate VMs diff --git a/docker-macvlan/machines.yml b/docker-macvlan/machines.yml index cbd2a5b..1b318fc 100644 --- a/docker-macvlan/machines.yml +++ b/docker-macvlan/machines.yml @@ -1,12 +1,14 @@ --- - name: docker-01 - box: slowe/ubuntu-trusty-x64 + vmw_box: slowe/ubuntu-trusty-x64 + vb_box: ubuntu/trusty64 ram: 1024 vcpu: 1 ip_addr: 192.168.100.100 docker: true - name: remote-01 - box: slowe/ubuntu-trusty-x64 + vmw_box: slowe/ubuntu-trusty-x64 + vb_box: ubuntu/trusty64 ram: 512 vcpu: 1 ip_addr: 192.168.100.101