| #  Licensed to the Apache Software Foundation (ASF) under one | 
 | #  or more contributor license agreements.  See the NOTICE file | 
 | #  distributed with this work for additional information | 
 | #  regarding copyright ownership.  The ASF licenses this file | 
 | #  to you under the Apache License, Version 2.0 (the | 
 | #  "License"); you may not use this file except in compliance | 
 | #  with the License.  You may obtain a copy of the License at | 
 | # | 
 | #      http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | #  Unless required by applicable law or agreed to in writing, software | 
 | #  distributed under the License is distributed on an "AS IS" BASIS, | 
 | #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | #  See the License for the specific language governing permissions and | 
 | #  limitations under the License. | 
 |  | 
 | $network = { | 
 |   "trusty_64"  => "192.168.2.101", | 
 |   "trusty_32"  => "192.168.2.102", | 
 |   "jessie_64" => "192.168.2.103", | 
 |   "jessie_32" => "192.168.2.104", | 
 |   "centos7_64" => "192.168.2.105", | 
 |   "centos6_64" => "192.168.2.106", | 
 |   "centos6_32" => "192.168.2.107", | 
 |   "omnios" => "192.168.2.108", | 
 |   "fedora23_64" => "192.168.2.109", | 
 |   "xenial_64" => "192.168.2.110", | 
 |   "fedora24_64" => "192.168.2.111", | 
 | } | 
 |  | 
 | $vmspec = { | 
 |   "trusty_64" => [ | 
 |     "ubuntu/trusty64" | 
 |   ], | 
 |   "trusty_32" => [ | 
 |     "ubuntu/trusty32" | 
 |   ], | 
 |   "xenial_64" => [ | 
 |     "ubuntu/xenial64" | 
 |   ], | 
 |   "jessie_64" => [ | 
 |     "puppetlabs/debian-8.2-64-nocm" | 
 |   ], | 
 |   "jessie_32" => [ | 
 |     "puppetlabs/debian-8.2-32-nocm" | 
 |   ], | 
 |   "centos7_64" => [ | 
 |     "puppetlabs/centos-7.2-64-nocm" | 
 |   ], | 
 |   "centos6_64" => [ | 
 |     "puppetlabs/centos-6.6-64-nocm" | 
 |   ], | 
 |   "centos6_32" => [ | 
 |     "puppetlabs/centos-6.6-32-nocm" | 
 |   ], | 
 |   "omnios" => [ | 
 |     "omniti/omnios-r151014" | 
 |   ], | 
 |   "fedora23_64" => [ | 
 |     "fedora/23-cloud-base" | 
 |   ], | 
 |   "fedora24_64" => [ | 
 |     "fedora/24-cloud-base" | 
 |   ], | 
 | } | 
 |  | 
 | Vagrant.configure("2") do |config| | 
 |  | 
 |   # Default all VMs to 1GB and 2 cores | 
 |   config.vm.provider :virtualbox do |v| | 
 |     v.memory = 1024 | 
 |     v.cpus = 2 | 
 |   end | 
 |  | 
 |   config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" | 
 |  | 
 |   $vmspec.each do | name, spec | | 
 |     config.vm.define name do | config | | 
 |       if name == 'omnios' | 
 |         # nfs seems to be the only way to make this work for omnios | 
 |         # this method fails if hostfs is encrypted | 
 |         config.vm.synced_folder ".", "/vagrant", type: "nfs" | 
 |         config.ssh.username = "root" | 
 |         config.ssh.password = "vagrant" | 
 |       else | 
 |         config.vm.synced_folder ".", "/vagrant" | 
 |       end | 
 |       config.vm.box = spec[0] | 
 |       config.vm.network :private_network, ip: $network[name] | 
 |       config.vm.provision "shell" do |s| | 
 |         s.path = "contrib/vagrant-setup.sh" | 
 |         s.args = name | 
 |       end | 
 |     end | 
 |   end | 
 |  | 
 | end | 
 |  | 
 | # -*- mode: ruby -*- | 
 | # vi: set ft=ruby : |