Update OS distro/version support
[integration/packaging/puppet-opendaylight.git] / Vagrantfile
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
3
4 Vagrant.configure(2) do |config|
5
6   # Re-map sync'd dir so it has the same name as the module
7   # Not doing this causes `puppet apply` to fail at catalog compile
8   config.vm.synced_folder ".", "/home/vagrant/puppet-opendaylight", type: "rsync"
9   config.vm.synced_folder ".", "/vagrant", disabled: true
10   config.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
11
12   # We run out of RAM once ODL starts with default 500MB
13   config.vm.provider :libvirt do |libvirt|
14     libvirt.memory = 4096
15     libvirt.cpus = 2
16   end
17
18   config.vm.define "f23" do |f23|
19     f23.vm.box = "fedora/23-cloud-base"
20
21     f23.vm.provision "shell", inline: "dnf update -y"
22
23     # Install required gems via Bundler
24     f23.vm.provision "shell", inline: "dnf install -y rubygems ruby-devel gcc-c++ zlib-devel patch redhat-rpm-config make"
25     f23.vm.provision "shell", inline: "gem install bundler"
26     f23.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /home/vagrant/.bashrc"
27     f23.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /root/.bashrc"
28     f23.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle install" vagrant'
29     f23.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle update" vagrant'
30
31     # Git is required for cloning Puppet module deps in `rake test`
32     f23.vm.provision "shell", inline: "dnf install -y git"
33
34     # Install Docker for Docker-based Beaker tests
35     f23.vm.provision "shell", inline: "tee /etc/yum.repos.d/docker.repo <<-'EOF'
36 [dockerrepo]
37 name=Docker Repository
38 baseurl=https://yum.dockerproject.org/repo/main/fedora/$releasever/
39 enabled=1
40 gpgcheck=1
41 gpgkey=https://yum.dockerproject.org/gpg
42 EOF
43 "
44     f23.vm.provision "shell", inline: "dnf install -y docker-engine xfsprogs"
45     f23.vm.provision "shell", inline: "usermod -a -G docker vagrant"
46     f23.vm.provision "shell", inline: "systemctl start docker"
47     f23.vm.provision "shell", inline: "systemctl enable docker"
48   end
49
50   config.vm.define "cent7" do |cent7|
51     cent7.vm.box = "centos/7"
52
53     cent7.vm.provision "shell", inline: "yum update -y"
54
55     # Install required gems via Bundler
56     cent7.vm.provision "shell", inline: "yum install -y rubygems ruby-devel gcc-c++ zlib-devel patch redhat-rpm-config make"
57     cent7.vm.provision "shell", inline: "gem install bundler"
58     cent7.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /home/vagrant/.bashrc"
59     cent7.vm.provision "shell", inline: "echo export PATH=$PATH:/usr/local/bin >> /root/.bashrc"
60     cent7.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle install" vagrant'
61     cent7.vm.provision "shell", inline: 'su -c "cd /home/vagrant/puppet-opendaylight; bundle update" vagrant'
62
63     # Git is required for cloning Puppet module deps in `rake test`
64     cent7.vm.provision "shell", inline: "yum install -y git"
65
66     # Install Docker for Docker-based Beaker tests
67     cent7.vm.provision "shell", inline: "tee /etc/yum.repos.d/docker.repo <<-'EOF'
68 [dockerrepo]
69 name=Docker Repository
70 baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
71 enabled=1
72 gpgcheck=1
73 gpgkey=https://yum.dockerproject.org/gpg
74 EOF
75 "
76     cent7.vm.provision "shell", inline: "yum install -y docker-engine"
77     cent7.vm.provision "shell", inline: "usermod -a -G docker vagrant"
78     cent7.vm.provision "shell", inline: "systemctl start docker"
79     cent7.vm.provision "shell", inline: "systemctl enable docker"
80   end
81
82 end