|
| 1 | +REQUIRED_PLUGINS = %w( vagrant-vbguest vagrant-reload vagrant-disksize ) |
| 2 | + |
| 3 | +Vagrant.configure(2) do |config| |
| 4 | + |
| 5 | + # Install plugins if missing... |
| 6 | + _retry = false |
| 7 | + REQUIRED_PLUGINS.each do |plugin| |
| 8 | + unless Vagrant.has_plugin? plugin |
| 9 | + system "vagrant plugin install #{plugin}" |
| 10 | + _retry = true |
| 11 | + end |
| 12 | + end |
| 13 | + |
| 14 | + if (_retry) |
| 15 | + exec "vagrant " + ARGV.join(' ') |
| 16 | + end |
| 17 | + |
| 18 | + # Common config. |
| 19 | + config.vm.box = "lasp/ubuntu16.04-desktop" |
| 20 | + config.vbguest.auto_update = true |
| 21 | + config.disksize.size = '50GB' |
| 22 | + config.vm.synced_folder ".", "/vagrant", disabled: false, type: "virtualbox" |
| 23 | + config.vm.network "private_network", :type => 'dhcp', :adapter => 2 |
| 24 | + |
| 25 | + config.vm.define "default" do |d| |
| 26 | + d.vm.hostname = "tutorial-vm" |
| 27 | + d.vm.provider "virtualbox" do |vb| |
| 28 | + vb.name = "ONF NG-SDN Tutorial " + Time.now.strftime("(%Y-%m-%d)") |
| 29 | + vb.gui = true |
| 30 | + vb.cpus = 8 |
| 31 | + vb.memory = 8192 |
| 32 | + vb.customize ['modifyvm', :id, '--clipboard', 'bidirectional'] |
| 33 | + vb.customize ["modifyvm", :id, "--accelerate3d", "on"] |
| 34 | + vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxvga"] |
| 35 | + vb.customize ["modifyvm", :id, "--vram", "128"] |
| 36 | + end |
| 37 | + d.vm.provision "shell", path: "root-bootstrap.sh" |
| 38 | + d.vm.provision "shell", inline: "su sdn '/vagrant/user-bootstrap.sh'" |
| 39 | + end |
| 40 | +end |
0 commit comments