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