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.
This commit is contained in:
Scott Lowe 2015-10-08 17:33:06 -06:00
parent 874cebbf2d
commit 76a76cd5b0
2 changed files with 49 additions and 13 deletions

46
ovn/Vagrantfile vendored
View file

@ -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

16
ovn/servers.yml Normal file
View file

@ -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"