blob: 833e538669fee3c9c84f892992eba14ef4048465 [file] [log] [blame]
Jonathan Hart53433b52015-03-26 17:23:34 -07001#!/bin/bash
2# vm-setup.sh
3#
4# This script sets up the VM ready to run ONOS and tutorials, including installing an LXC cluster
5# for ONOS to run in.
6
7sudo apt-get update
8
Jonathan Hart5815d9e2015-03-26 17:38:24 -07009# TODO erlang, quagga, wireshark
Jonathan Hart047c9032015-03-26 20:18:40 -070010#sudo apt-get install -y git openjdk-8-jdk maven unzip curl make gcc wget autoconf openssl libssl0.9.8 libssl-dev libncurses5 libncurses5-dev lxc
Jonathan Hart17a00392015-03-26 22:24:25 -070011#sudo apt-get install -y git openjdk-8-jdk maven unzip curl wget lxc
12sudo apt-get install -y git wget curl lxc
Jonathan Hart53433b52015-03-26 17:23:34 -070013sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
14sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
15
Jonathan Hart2f4271d2015-03-26 18:40:57 -070016sudo lxc-create --name onos1 -t download -- --dist ubuntu --release utopic --arch amd64
Jonathan Hart53433b52015-03-26 17:23:34 -070017
Jonathan Hart2f4271d2015-03-26 18:40:57 -070018#sudo sh -c "echo lxc.network.ipv4=10.0.3.11 >> /var/lib/lxc/onos1/config"
Jonathan Hart17a00392015-03-26 22:24:25 -070019#sudo sh -c "echo lxc.start.auto=1 >> /var/lib/lxc/onos1/config"
Jonathan Hart53433b52015-03-26 17:23:34 -070020
Jonathan Hart4bb029f2015-03-26 22:45:15 -070021sudo sh -c "sed -i s/dhcp/static/ /var/lib/lxc/onos1/rootfs/etc/network/interfaces"
22sudo sh -c "cat << EOF >> /var/lib/lxc/onos1/rootfs/etc/network/interfaces
23 address 10.0.3.11
24 netmask 255.255.255.0
25 gateway 10.0.3.1
26 dns-nameservers 10.0.3.1
27EOF"
28
29sudo sh -c "cat /var/lib/lxc/onos1/rootfs/etc/network/interfaces"
Jonathan Hart2f4271d2015-03-26 18:40:57 -070030
Jonathan Hart53433b52015-03-26 17:23:34 -070031sudo lxc-start --name onos1 --daemon
Jonathan Harta897f4e2015-03-26 22:31:41 -070032sudo lxc-ls --fancy
33sleep 10
34sudo lxc-ls --fancy
Jonathan Hart17a00392015-03-26 22:24:25 -070035sudo lxc-attach --name onos1 -- ip a
36sudo lxc-attach --name onos1 -- ping -c3 www.google.com
Jonathan Hart53433b52015-03-26 17:23:34 -070037sudo lxc-attach --name onos1 -- useradd -m sdn -s /bin/bash
38sudo lxc-attach --name onos1 -- /bin/bash -c "echo sdn:rocks | chpasswd"
39sudo lxc-attach --name onos1 -- /bin/bash -c "echo \"sdn ALL=(ALL) NOPASSWD:ALL\" > /etc/sudoers.d/sdn"
40sudo lxc-attach --name onos1 -- apt-get update
Jonathan Hart4bb029f2015-03-26 22:45:15 -070041sudo lxc-attach --name onos1 -- apt-get install -y openssh-server openjdk-8-jdk
42#sudo lxc-attach --name onos1 -- apt-get install software-properties-common -y
43#sudo lxc-attach --name onos1 -- add-apt-repository ppa:webupd8team/java -y
44#sudo lxc-attach --name onos1 -- apt-get update
45#sudo lxc-attach --name onos1 -- apt-get install oracle-java8-installer oracle-java8-set-default -y
Jonathan Hart53433b52015-03-26 17:23:34 -070046sudo lxc-stop --name onos1