Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 1 | #!/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 | |
| 7 | sudo apt-get update |
| 8 | |
Jonathan Hart | 5815d9e | 2015-03-26 17:38:24 -0700 | [diff] [blame] | 9 | # TODO erlang, quagga, wireshark |
Jonathan Hart | 047c903 | 2015-03-26 20:18:40 -0700 | [diff] [blame] | 10 | #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 Hart | 17a0039 | 2015-03-26 22:24:25 -0700 | [diff] [blame] | 11 | #sudo apt-get install -y git openjdk-8-jdk maven unzip curl wget lxc |
| 12 | sudo apt-get install -y git wget curl lxc |
Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 13 | sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java |
| 14 | sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac |
| 15 | |
Jonathan Hart | 2f4271d | 2015-03-26 18:40:57 -0700 | [diff] [blame] | 16 | sudo lxc-create --name onos1 -t download -- --dist ubuntu --release utopic --arch amd64 |
Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 17 | |
Jonathan Hart | 2f4271d | 2015-03-26 18:40:57 -0700 | [diff] [blame] | 18 | #sudo sh -c "echo lxc.network.ipv4=10.0.3.11 >> /var/lib/lxc/onos1/config" |
Jonathan Hart | 17a0039 | 2015-03-26 22:24:25 -0700 | [diff] [blame] | 19 | #sudo sh -c "echo lxc.start.auto=1 >> /var/lib/lxc/onos1/config" |
Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 20 | |
Jonathan Hart | 4bb029f | 2015-03-26 22:45:15 -0700 | [diff] [blame^] | 21 | sudo sh -c "sed -i s/dhcp/static/ /var/lib/lxc/onos1/rootfs/etc/network/interfaces" |
| 22 | sudo 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 |
| 27 | EOF" |
| 28 | |
| 29 | sudo sh -c "cat /var/lib/lxc/onos1/rootfs/etc/network/interfaces" |
Jonathan Hart | 2f4271d | 2015-03-26 18:40:57 -0700 | [diff] [blame] | 30 | |
Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 31 | sudo lxc-start --name onos1 --daemon |
Jonathan Hart | a897f4e | 2015-03-26 22:31:41 -0700 | [diff] [blame] | 32 | sudo lxc-ls --fancy |
| 33 | sleep 10 |
| 34 | sudo lxc-ls --fancy |
Jonathan Hart | 17a0039 | 2015-03-26 22:24:25 -0700 | [diff] [blame] | 35 | sudo lxc-attach --name onos1 -- ip a |
| 36 | sudo lxc-attach --name onos1 -- ping -c3 www.google.com |
Jonathan Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 37 | sudo lxc-attach --name onos1 -- useradd -m sdn -s /bin/bash |
| 38 | sudo lxc-attach --name onos1 -- /bin/bash -c "echo sdn:rocks | chpasswd" |
| 39 | sudo lxc-attach --name onos1 -- /bin/bash -c "echo \"sdn ALL=(ALL) NOPASSWD:ALL\" > /etc/sudoers.d/sdn" |
| 40 | sudo lxc-attach --name onos1 -- apt-get update |
Jonathan Hart | 4bb029f | 2015-03-26 22:45:15 -0700 | [diff] [blame^] | 41 | sudo 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 Hart | 53433b5 | 2015-03-26 17:23:34 -0700 | [diff] [blame] | 46 | sudo lxc-stop --name onos1 |