From 56830cbe8ecbb4583266d8f4386ff4c187dc26ab Mon Sep 17 00:00:00 2001 From: Eric Lippmann Date: Mon, 15 Dec 2014 18:02:13 +0100 Subject: [PATCH] puppet: Use one Vagrantfile for both virtualbox and parallels provisioner refs #6842 --- Vagrantfile | 105 ++++++++++++---------------------------------------- 1 file changed, 24 insertions(+), 81 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 6db946f47..02c92f214 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -15,93 +15,36 @@ else end Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # All Vagrant configuration is done here. The most common configuration - # options are documented and commented below. For a complete reference, - # please see the online documentation at vagrantup.com. - - # Every Vagrant virtual environment requires a box to build off of. - config.vm.box = "centos-6.4-x64-vbox" - - # The url from where the 'config.vm.box' box will be fetched if it - # doesn't already exist on the user's system. - config.vm.box_url = "http://vagrant-boxes.icinga.org/centos-64-x64-vbox4212.box" - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - config.vm.network :forwarded_port, guest: 80, host: 8080, - # Port collision auto-correction must be manually enabled for each forwarded port, - # since it is often surprising when it occurs and can lead the Vagrant user to - # think that the port wasn't properly forwarded. During a vagrant up or vagrant reload, - # Vagrant will output information about any collisions detections and auto corrections made, - # so you can take notice and act accordingly. + config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: true - # Create a private network, which allows host-only access to the machine - # using a specific IP. - # config.vm.network :private_network, ip: "192.168.33.10" + config.vm.provision :shell, :path => ".puppet/manifests/puppet.sh" - # Create a public network, which generally matched to bridged network. - # Bridged networks make the machine appear as another physical device on - # your network. - # config.vm.network :public_network + config.vm.provider :virtualbox do |v, override| + override.vm.box = "puppetlabs/centos-6.5-64-puppet" - # If true, then any SSH connections made will enable agent forwarding. - # Default value: false - # config.ssh.forward_agent = true - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - config.vm.synced_folder "./var/log", "/vagrant/var/log" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - # config.vm.provider :virtualbox do |vb| - # # Don't boot with headless mode - # vb.gui = true - # - # # Use VBoxManage to customize the VM. For example to change memory: - # vb.customize ["modifyvm", :id, "--memory", "1024"] - # end - # - # View the documentation for the provider you're using for more - # information on available options. - config.vm.provider "virtualbox" do |vb| - vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant/config", "1"] - vb.customize ["modifyvm", :id, "--memory", "1024"] + v.customize ["modifyvm", :id, "--memory", "1024"] + end + + config.vm.provider :parallels do |p, override| + override.vm.box = "parallels/centos-6.5" + + p.name = "Icinga Web 2 Development" + + # Update Parallels Tools automatically + p.update_guest_tools = true + + # Set power consumption mode to "Better Performance" + p.optimize_power_consumption = false + + p.memory = 1024 + p.cpus = 2 end - # Enable provisioning with Puppet stand alone. Puppet manifests - # are contained in a directory path relative to this Vagrantfile. - # You will need to create the manifests directory and a manifest in - # the file base.pp in the manifests_path directory. - # - # An example Puppet manifest to provision the message of the day: - # - # # group { "puppet": - # # ensure => "present", - # # } - # # - # # File { owner => 0, group => 0, mode => 0644 } - # # - # # file { '/etc/motd': - # # content => "Welcome to your Vagrant-built virtual machine! - # # Managed by Puppet.\n" - # # } - # - # config.vm.provision :puppet do |puppet| - # puppet.manifests_path = "manifests" - # puppet.manifest_file = "init.pp" - # end config.vm.provision :puppet do |puppet| - puppet.module_path = [ ".vagrant-puppet/modules", ".vagrant-puppet/profiles" ] - puppet.manifests_path = ".vagrant-puppet/manifests" - # puppet.options = "-v -d" + puppet.hiera_config_path = ".puppet/hiera/hiera.yaml" + puppet.module_path = [ ".puppet/modules", ".puppet/profiles" ] + puppet.manifests_path = ".puppet/manifests" + puppet.manifest_file = "site.pp" end - - config.vm.provision :shell, :path => ".vagrant-puppet/manifests/finalize.sh" end