summaryrefslogtreecommitdiff
path: root/Vagrantfile
blob: 5b2e2da55c2e5aaa223f3ff40b731a5789569c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Note:
# This file is maintained in the openstack-ansible-tests repository.
# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/Vagrantfile
#
# If you need to perform any change on it, you should modify the central file,
# then, an OpenStack CI job will propagate your changes to every OSA repository
# since every repo uses the same Vagrantfile

# Verify whether required plugins are installed.
required_plugins = [ "vagrant-disksize" ]
required_plugins.each do |plugin|
  if not Vagrant.has_plugin?(plugin)
    raise "The vagrant plugin #{plugin} is required. Please run `vagrant plugin install #{plugin}`"
  end
end

Vagrant.configure(2) do |config|
  config.vm.provider "virtualbox" do |v|
    v.memory = 6144
    v.cpus = 2
    # https://github.com/hashicorp/vagrant/issues/9524
    v.customize ["modifyvm", :id, "--audio", "none"]
  end

  config.vm.synced_folder ".", "/vagrant", type: "rsync"

  config.vm.provision "shell",
      privileged: false,
      inline: <<-SHELL
          cd /vagrant
         ./run_tests.sh
      SHELL

  config.vm.define "ubuntu1604" do |xenial|
    xenial.disksize.size = "40GB"
    xenial.vm.box = "ubuntu/xenial64"
  end

  config.vm.define "ubuntu1804" do |bionic|
    bionic.disksize.size = "40GB"
    bionic.vm.box = "ubuntu/bionic64"
  end

  config.vm.define "opensuse423" do |leap423|
    leap423.vm.box = "opensuse/openSUSE-42.3-x86_64"
  end

  config.vm.define "opensuse150" do |leap150|
    leap150.vm.box = "opensuse/openSUSE-15.0-x86_64"
  end

  config.vm.define "centos7" do |centos7|
    centos7.vm.box = "centos/7"
  end

end