mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-23 21:31:00 +02:00
Change-Id: Iacf2ca8f8467dc91e696ace5ed30412f7869110a (cherry picked from commit 2b8bcbcd3d0e3e66ee2bc681f0f1dfbb0e2a218f)
59 lines
1.9 KiB
Ruby
59 lines
1.9 KiB
Ruby
USE_STRATUM = ENV['USE_STRATUM'] || "false"
|
|
|
|
REQUIRED_PLUGINS = %w( vagrant-vbguest vagrant-reload vagrant-disksize )
|
|
|
|
Vagrant.configure(2) do |config|
|
|
|
|
# Install plugins if missing...
|
|
_retry = false
|
|
REQUIRED_PLUGINS.each do |plugin|
|
|
unless Vagrant.has_plugin? plugin
|
|
system "vagrant plugin install #{plugin}"
|
|
_retry = true
|
|
end
|
|
end
|
|
|
|
if (_retry)
|
|
exec "vagrant " + ARGV.join(' ')
|
|
end
|
|
|
|
# Common config.
|
|
config.vm.box = "ubuntu/bionic64"
|
|
config.vbguest.auto_update = true
|
|
config.disksize.size = '50GB'
|
|
config.vm.synced_folder ".", "/vagrant", disabled: false, type: "virtualbox"
|
|
config.vm.network "private_network", :type => 'dhcp', :adapter => 2
|
|
|
|
# Dev VM
|
|
config.vm.define "dev" do |d|
|
|
d.vm.hostname = "onos-p4-dev"
|
|
d.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ONOS+P4 Dev " + Time.now.strftime("(%Y-%m-%d)")
|
|
vb.gui = false
|
|
vb.cpus = 2
|
|
vb.memory = 4096
|
|
vb.customize ["modifyvm", :id, "--vram", "32"]
|
|
end
|
|
d.vm.provision "shell", path: "root-bootstrap.sh", :args => ["dev", USE_STRATUM]
|
|
d.vm.provision "shell", inline: "su sdn '/vagrant/user-bootstrap.sh' dev %s" % ["dev", USE_STRATUM]
|
|
end
|
|
|
|
# Tutorial VM (with desktop)
|
|
config.vm.define "tutorial" do |d|
|
|
d.vm.hostname = "onos-p4-tutorial"
|
|
d.vm.provider "virtualbox" do |vb|
|
|
vb.name = "ONOS+P4 Tutorial " + Time.now.strftime("(%Y-%m-%d)")
|
|
vb.gui = true
|
|
vb.cpus = 4
|
|
vb.memory = 4096
|
|
vb.customize ['modifyvm', :id, '--clipboard', 'bidirectional']
|
|
vb.customize ["modifyvm", :id, "--accelerate3d", "on"]
|
|
vb.customize ["modifyvm", :id, "--vram", "128"]
|
|
end
|
|
d.vm.provision "shell", path: "root-bootstrap.sh", :args => ["tutorial"]
|
|
d.vm.provision "shell", path: "tutorial-bootstrap.sh"
|
|
d.vm.provision "shell", inline: "su sdn '/vagrant/user-bootstrap.sh' %s %s" % ["tutorial", USE_STRATUM]
|
|
end
|
|
|
|
config.vm.provision :reload
|
|
end |