From 76a76cd5b096568905090aaac7c3c5fe62345cb0 Mon Sep 17 00:00:00 2001 From: Scott Lowe Date: Thu, 8 Oct 2015 17:33:06 -0600 Subject: [PATCH] Develop OVN environment Expand Vagrantfile to include coverage for other providers. Add logic to Vagrantfile for disabling folder sync. Add YAML data file to specify VMs to be created. General syntax clean-up. --- ovn/Vagrantfile | 46 +++++++++++++++++++++++++++++++++------------- ovn/servers.yml | 16 ++++++++++++++++ 2 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 ovn/servers.yml diff --git a/ovn/Vagrantfile b/ovn/Vagrantfile index cdf94b9..7b2a9e7 100644 --- a/ovn/Vagrantfile +++ b/ovn/Vagrantfile @@ -1,10 +1,14 @@ # -*- mode: ruby -*- # vi: set ft=ruby : -# Specify Vagrant version, Vagrant API version, and Vagrant clone location -Vagrant.require_version ">= 1.6.0" -VAGRANTFILE_API_VERSION = "2" +# Specify Vagrant version, Vagrant API version, Vagrant clone location, +# and default Vagrant provider +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' +#ENV['VAGRANT_DEFAULT_PROVIDER'] = 'vmware_appcatalyst' # Require 'yaml' module require 'yaml' @@ -19,22 +23,38 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.insert_key = false # Iterate through entries in YAML file to create VMs - servers.each do |servers| - config.vm.define servers["name"] do |srv| + servers.each do |server| + config.vm.define server['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"] + srv.vm.hostname = server['name'] + srv.vm.box = server['box'] - # Disable default synced folder - srv.vm.synced_folder ".", "/vagrant", disabled: true + # Configure default synced folder (disable by default) + if server['sync_disabled'] != nil + srv.vm.synced_folder '.', '/vagrant', disabled: server['sync_disabled'] + else + srv.vm.synced_folder '.', '/vagrant', disabled: true + end #if servers['sync_disabled'] - # Configure VMs with RAM and CPUs per settings in servers.yml + # Configure CPU & RAM 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 + vmw.vmx['memsize'] = server['ram'] + vmw.vmx['numvcpus'] = server['vcpu'] + end # srv.vm.provider vmware_fusion + + # Configure CPU & RAM per settings in servers.yml (AppCatalyst) + srv.vm.provider :vmware_appcatalyst do |vmw| + vmw.vmx['memsize'] = server['ram'] + vmw.vmx['numvcpus'] = server['vcpu'] + end # srv.vm.provider vmware_appcatalyst + + # Configure CPU & RAM 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 diff --git a/ovn/servers.yml b/ovn/servers.yml new file mode 100644 index 0000000..1cc67de --- /dev/null +++ b/ovn/servers.yml @@ -0,0 +1,16 @@ +--- +- name: "ovn-01" + box: "slowe/ubuntu-trusty-x64" + ram: "512" + vcpu: "1" + ip_addr: "192.168.100.101" +- name: "ovn-02" + box: "slowe/ubuntu-trusty-x64" + ram: "512" + vcpu: "1" + ip_addr: "192.168.100.102" +- name: "ovn-03" + box: "slowe/ubuntu-trusty-x64" + ram: "512" + vcpu: "1" + ip_addr: "192.168.100.103"