|
| 1 | +# -*- mode: ruby -*- |
| 2 | +# vi: set ft=ruby : |
| 3 | + |
| 4 | +$init = <<SCRIPT |
| 5 | +sh -c "echo 'deb http://download.opensuse.org/repositories/home:/liberouter/xUbuntu_16.04/ /' > /etc/apt/sources.list.d/home:liberouter.list" |
| 6 | +wget -nv https://download.opensuse.org/repositories/home:liberouter/xUbuntu_16.04/Release.key -O Release.key |
| 7 | +sudo apt-key add - < Release.key |
| 8 | +apt-get update -y |
| 9 | +apt-get upgrade -y |
| 10 | +apt-get install -y python3-pip python3-flask |
| 11 | +apt-get install -y virtualenv |
| 12 | +apt-get install -y apache2 libapache2-mod-wsgi-py3 |
| 13 | +SCRIPT |
| 14 | + |
| 15 | +$libyang = <<SCRIPT |
| 16 | +apt-get install -y libyang-experimental python3-yang-experimental |
| 17 | +SCRIPT |
| 18 | + |
| 19 | +$libnetconf2 = <<SCRIPT |
| 20 | +apt-get install -y libnetconf2-experimental python3-netconf2-experimental |
| 21 | +SCRIPT |
| 22 | + |
| 23 | +$setup = <<SCRIPT |
| 24 | +wget https://github.com/CESNET/Netopeer2GUI/releases/download/0.1/ncgui.tgz |
| 25 | +tar -xzf ncgui.tgz |
| 26 | +cp /home/vagrant/shared/ncgui.conf /etc/apache2/sites-available/ |
| 27 | +a2enmod rewrite |
| 28 | +a2dissite 000-default.conf |
| 29 | +a2ensite ncgui.conf |
| 30 | +ln -s /home/vagrant/ncgui /var/www/html/ncgui |
| 31 | +cd /var/www/html/ncgui/backend |
| 32 | +/home/vagrant/shared/setvenv.sh |
| 33 | +cp /home/vagrant/shared/lgui-config.ini /var/www/html/ncgui/backend/config.ini |
| 34 | +cp /home/vagrant/shared/netopeer-config.ini /var/www/html/ncgui/backend/liberouterapi/modules/netopeer/config.ini |
| 35 | +service apache2 restart |
| 36 | +SCRIPT |
| 37 | + |
| 38 | +Vagrant::DEFAULT_SERVER_URL.replace('https://vagrantcloud.com') |
| 39 | +Vagrant.configure("2") do |config| |
| 40 | + config.vm.provider :virtualbox do |vb| |
| 41 | + vb.customize ["modifyvm", :id, "--memory", "1024"] |
| 42 | + vb.customize ["modifyvm", :id, "--cpus", "2"] |
| 43 | + vb.customize ["modifyvm", :id, "--hwvirtex", "on"] |
| 44 | + vb.customize ["modifyvm", :id, "--audio", "none"] |
| 45 | + vb.customize ["modifyvm", :id, "--nictype1", "virtio"] |
| 46 | + end |
| 47 | + |
| 48 | + config.vm.define "Netopeer2GUI" do |gui| |
| 49 | + gui.vm.synced_folder ".", "/home/vagrant/shared", create: true |
| 50 | + gui.vm.box = "ubuntu/xenial64" |
| 51 | + gui.vm.network "forwarded_port", host: "8080", guest: "80", auto_correct: true |
| 52 | + gui.vm.network "forwarded_port", host: "8443", guest: "443", auto_correct: true |
| 53 | + gui.ssh.shell = "sh" |
| 54 | + |
| 55 | + gui.vm.provision :shell, inline: $init |
| 56 | + gui.vm.provision :shell, inline: $libyang |
| 57 | + gui.vm.provision :shell, inline: $libnetconf2 |
| 58 | + gui.vm.provision :shell, inline: $setup |
| 59 | + end |
| 60 | +end |
0 commit comments