scottslowe-learning-tools/photon/Vagrantfile
Scott Lowe 81b1458b0f Add Ruby code to all Vagrantfiles
Add Ruby code to determine full path to supporting files referenced
in all Vagrantfiles. This will allow more effective use of Vagrant
commands when not in the same directory as the Vagrantfile.
2016-01-13 13:48:02 -07:00

47 lines
1.4 KiB
Ruby

# -*- 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"
ENV['VAGRANT_VMWARE_CLONE_DIRECTORY'] = '~/.vagrant'
# Require 'yaml' module
require 'yaml'
# Read YAML file to get VM configuration information
# Edit servers.yml to change VM configuration details
servers = YAML.load_file(File.join(File.dirname(__FILE__), 'servers.yml'))
# Create and configure the VMs
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Use Vagrant's default insecure SSH key
config.ssh.insert_key = false
# Iterate through entries in YAML file to create VMs
servers.each do |servers|
# Configure the VMs per details in servers.yml
config.vm.define servers["name"] do |srv|
# Don't check for box updates
srv.vm.box_check_update = false
# Specify the hostname of the VM
srv.vm.hostname = servers["name"]
# Specify the Vagrant box to use
srv.vm.box = servers["box"]
# Disable default synced folder (not supported with Photon)
srv.vm.synced_folder ".", "/vagrant", disabled: true
# Configure VMs with RAM and CPUs per settings in servers.yml
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end # srv.vm.provider
end # config.vm.define
end # servers.each
end # Vagrant.configure