blob: 741150c2bd9f6a842169d8db1832a2ef823744d5 [file] [log] [blame]
Brian O'Connor5abe3db2014-08-05 02:08:34 -07001#!/bin/bash
Brian O'Connor37f0cc72014-06-06 20:03:05 -07002# vm-setup.sh
3#
4# This script installs ONOS dependencies and installs a desktop environment on a Miniet VM.
5
alshabibbca6bf22014-11-15 16:38:45 -08006
alshabib22a2c3a2014-11-17 14:37:18 -08007export CURRENT_USER=tutorial1
alshabibb32cca82014-12-01 10:12:01 -08008export SDN_IP_USER=sdnip
alshabib48b63e12014-12-08 23:53:03 -08009export DIST_USER=distributed
alshabib22a2c3a2014-11-17 14:37:18 -080010export USER_HOME=/home/${CURRENT_USER}
Brian O'Connor37f0cc72014-06-06 20:03:05 -070011
Jonathan Hart449f4462014-12-04 15:37:46 -080012URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial;f=tutorial1-setup.sh'
13SDNIP_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial;f=sdnip-setup.sh'
alshabib48b63e12014-12-08 23:53:03 -080014DIST_URL='https://gerrit.onosproject.org/gitweb?p=onos-vm.git;a=blob_plain;hb=refs/heads/onos-tutorial;f=dist-setup.sh'
alshabib3881a142014-11-17 15:04:35 -080015
alshabib22a2c3a2014-11-17 14:37:18 -080016sudo /usr/sbin/useradd -c "Basic ONOS Tutorial" -d /home/${CURRENT_USER} -U -m -p $(openssl passwd -1 ${CURRENT_USER}) -s /bin/bash ${CURRENT_USER}
Jonathan Hart2af01a02014-12-01 21:38:50 -080017sudo /usr/sbin/useradd -c "Basic SDN-IP Tutorial" -d /home/${SDN_IP_USER} -U -m -p $(openssl passwd -1 ${SDN_IP_USER}) -s /bin/bash ${SDN_IP_USER}
alshabib48b63e12014-12-08 23:53:03 -080018sudo /usr/sbin/useradd -c "Distributed Tutorial" -d /home/${DIST_USER} -U -m -p $(openssl passwd -1 ${DIST_USER}) -s /bin/bash ${DIST_USER}
alshabibbca6bf22014-11-15 16:38:45 -080019
alshabibcf82ac72014-12-01 09:42:32 -080020
alshabib19073f72014-11-18 17:02:55 -080021echo "${CURRENT_USER} ALL=(ALL) NOPASSWD:ALL" >> tutorial1
alshabib3881a142014-11-17 15:04:35 -080022sudo cp tutorial1 /etc/sudoers.d
23sudo chown root:root /etc/sudoers.d/tutorial1
alshabibbca6bf22014-11-15 16:38:45 -080024
alshabibb32cca82014-12-01 10:12:01 -080025echo "${SDN_IP_USER} ALL=(ALL) NOPASSWD:ALL" >> sdnip
26sudo cp sdnip /etc/sudoers.d
27sudo chown root:root /etc/sudoers.d/sdnip
28
alshabibcf82ac72014-12-01 09:42:32 -080029
alshabib48b63e12014-12-08 23:53:03 -080030echo "${DIST_USER} ALL=(ALL) NOPASSWD:ALL" >> dist
31sudo cp dist /etc/sudoers.d
32sudo chown root:root /etc/sudoers.d/dist
33
Brian O'Connor37f0cc72014-06-06 20:03:05 -070034sudo apt-get update
35
alshabibffbf45a2014-12-09 10:00:47 -080036sudo apt-get install -y git openjdk-8-jdk maven unzip quagga docker.io curl
alshabib8b561d42014-11-18 10:54:06 -080037sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
alshabib1207a832014-11-18 13:27:11 -080038sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
Brian O'Connor10d941e2014-06-12 19:55:09 -070039
alshabibbca6bf22014-11-15 16:38:45 -080040#--------------- Setup Mininet ----------------
Brian O'Connor10d941e2014-06-12 19:55:09 -070041
alshabib91de3b52014-11-17 10:52:55 -080042#git clone git://github.com/mininet/mininet
Brian O'Connor10d941e2014-06-12 19:55:09 -070043
alshabib91de3b52014-11-17 10:52:55 -080044#mininet/util/install.sh -a
Brian O'Connor3ca84022014-08-11 19:46:54 -070045
alshabibbca6bf22014-11-15 16:38:45 -080046# -------------- Switch User ------------------
Brian O'Connor3ca84022014-08-11 19:46:54 -070047
alshabib3881a142014-11-17 15:04:35 -080048wget -O tutorial1-setup.sh $URL
Brian O'Connor37f0cc72014-06-06 20:03:05 -070049
alshabib3881a142014-11-17 15:04:35 -080050sudo -u ${CURRENT_USER} -H sh -c 'cp tutorial1-setup.sh ~/ && cd ~/ && sh tutorial1-setup.sh'
Brian O'Connor24512552014-08-11 23:22:14 -070051
Jonathan Hart2af01a02014-12-01 21:38:50 -080052wget -O sdnip-setup.sh $SDNIP_URL
53
54sudo -u ${SDN_IP_USER} -H sh -c 'cp sdnip-setup.sh ~/ && cd ~/ && sh sdnip-setup.sh'
alshabib48b63e12014-12-08 23:53:03 -080055
56wget -O dist-setup.sh $DIST_URL
57
58sudo -u ${DIST_USER} -H sh -c 'cp dist-setup.sh ~/ && cd ~/ && sh dist-setup.sh'