Add Docker-based Beaker tests for Ubuntu
[integration/packaging/puppet-opendaylight.git] / Vagrantfile
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
3
4 Vagrant.configure(2) do |config|
5
6   # Not doing this causes `puppet apply` to fail at catalog compile
7   config.vm.synced_folder ".", "/home/vagrant/puppet-opendaylight", type: "rsync"
8   config.vm.synced_folder ".", "/vagrant", disabled: true
9
10   # We run out of RAM once ODL starts with default 500MB
11   config.vm.provider :libvirt do |libvirt|
12     libvirt.memory = 4096
13     libvirt.cpus = 2
14   end
15
16   config.vm.define "f23" do |f23|
17     f23.vm.box = "fedora/23-cloud-base"
18
19     f23.vm.provision "shell", inline: "dnf update -y"
20
21     # Install required gems via Bundler
22     f23.vm.provision "shell", inline: "dnf install -y rubygems ruby-devel gcc-c++ zlib-devel patch redhat-rpm-config make"
23     f23.vm.provision "shell", inline: "gem install bundler"
24     f23.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /home/vagrant/.bashrc"
25     f23.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /root/.bashrc"
26     f23.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle install" vagrant'
27     f23.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle update" vagrant'
28
29     # Git is required for cloning Puppet module deps in `rake test`
30     f23.vm.provision "shell", inline: "dnf install -y git"
31
32     # Install Docker for Docker-based Beaker tests
33     f23.vm.provision "shell", inline: "tee /etc/yum.repos.d/docker.repo <<-'EOF'
34 [dockerrepo]
35 name=Docker Repository
36 baseurl=https://yum.dockerproject.org/repo/main/fedora/$releasever/
37 enabled=1
38 gpgcheck=1
39 gpgkey=https://yum.dockerproject.org/gpg
40 EOF
41 "
42     f23.vm.provision "shell", inline: "dnf install -y docker-engine xfsprogs"
43     f23.vm.provision "shell", inline: "usermod -a -G docker vagrant"
44     f23.vm.provision "shell", inline: "systemctl start docker"
45     f23.vm.provision "shell", inline: "systemctl enable docker"
46   end
47 end