mirror of
https://codeberg.org/scottslowe/learning-tools.git
synced 2026-03-11 09:04:37 +00:00
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:
parent
874cebbf2d
commit
76a76cd5b0
2 changed files with 49 additions and 13 deletions
46
ovn/Vagrantfile
vendored
46
ovn/Vagrantfile
vendored
|
|
@ -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
16
ovn/servers.yml
Normal 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"
|
||||
Loading…
Reference in a new issue