Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 1 | # -*- mode: ruby -*- |
| 2 | # vi: set ft=ruby : |
| 3 | |
Sergio Slobodrian | bf77c86 | 2017-06-08 13:24:27 -0400 | [diff] [blame] | 4 | require 'yaml' |
| 5 | |
| 6 | settings = YAML.load_file 'settings.vagrant.yaml' |
| 7 | |
Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 8 | Vagrant.configure(2) do |config| |
| 9 | |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 10 | if /cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM |
| 11 | puts("Configuring for windows") |
alshabib | eef9b13 | 2017-02-02 17:46:51 -0800 | [diff] [blame] | 12 | config.vm.synced_folder "../..", "/cord", mount_options: ["dmode=700,fmode=600"] |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 13 | Box = "ubuntu/xenial64" |
| 14 | Provider = "virtualbox" |
| 15 | elsif RUBY_PLATFORM =~ /linux/ |
| 16 | puts("Configuring for linux") |
Sergio Slobodrian | bf77c86 | 2017-06-08 13:24:27 -0400 | [diff] [blame] | 17 | if settings['vProvider'] == "virtualbox" |
| 18 | puts("Using the virtualbox configuration"); |
| 19 | config.vm.synced_folder "../..", "/cord" |
| 20 | Box = "ubuntu/xenial64" |
| 21 | Provider = "virtualbox" |
| 22 | else |
| 23 | puts("Using the QEMU/KVM configuration"); |
| 24 | config.vm.synced_folder "../..", "/cord", type: "nfs" |
| 25 | Box = "ubuntu1604" |
| 26 | Provider = "libvirt" |
| 27 | end |
Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 28 | else |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 29 | puts("Configuring for other") |
alshabib | eef9b13 | 2017-02-02 17:46:51 -0800 | [diff] [blame] | 30 | config.vm.synced_folder "../..", "/cord" |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 31 | Box = "ubuntu/xenial64" |
| 32 | Provider = "virtualbox" |
Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 33 | end |
| 34 | |
| 35 | config.vm.define "voltha" do |d| |
| 36 | d.ssh.forward_agent = true |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 37 | d.vm.box = Box |
Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 38 | d.vm.hostname = "voltha" |
| 39 | d.vm.network "private_network", ip: "10.100.198.220" |
| 40 | d.vm.provision :shell, path: "ansible/scripts/bootstrap_ansible.sh" |
alshabib | eef9b13 | 2017-02-02 17:46:51 -0800 | [diff] [blame] | 41 | d.vm.provision :shell, inline: "PYTHONUNBUFFERED=1 ansible-playbook /cord/incubator/voltha/ansible/voltha.yml -c local" |
| 42 | d.vm.provision :shell, inline: "cd /cord/incubator/voltha && source env.sh && make install-protoc && chmod 777 /tmp/fluentd" |
Sergio Slobodrian | 2f1a3f8 | 2017-05-31 10:35:00 -0400 | [diff] [blame] | 43 | d.vm.provider Provider do |v| |
Zsolt Haraszti | 9b485fb | 2016-12-26 23:11:15 -0800 | [diff] [blame] | 44 | v.memory = 6144 |
Zsolt Haraszti | 3d16353 | 2016-09-08 15:57:32 -0700 | [diff] [blame] | 45 | end |
| 46 | end |
| 47 | |
| 48 | if Vagrant.has_plugin?("vagrant-cachier") |
| 49 | config.cache.scope = :box |
| 50 | end |
| 51 | |
| 52 | end |