blob: 8a3c06da007add44410586d82b6a83067a389997 [file] [log] [blame]
Chetan Gaonkercc19ac42016-05-04 17:21:50 -07001#!/usr/bin/env bash
2apt-get update
A R Karthickd49ca4b2016-07-27 11:52:50 -07003on_cord=0
A R Karthickbd82f362016-11-10 15:08:52 -08004release=$(lsb_release -cs)
A R Karthickd49ca4b2016-07-27 11:52:50 -07005if [ "$1" = "--cord" ]; then
6 echo "Skipping installation of Docker and ONOS"
7 on_cord=1
Chetan Gaonkercc19ac42016-05-04 17:21:50 -07008fi
A R Karthickd49ca4b2016-07-27 11:52:50 -07009if [ $on_cord -eq 0 ]; then
10 apt-get -y install apt-transport-https ca-certificates
11 apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
12 if [ ! -f /etc/apt/sources.list.d/docker.list ]; then
A R Karthickbd82f362016-11-10 15:08:52 -080013 echo deb https://apt.dockerproject.org/repo ubuntu-$release main | tee /etc/apt/sources.list.d/docker.list
A R Karthickd49ca4b2016-07-27 11:52:50 -070014 fi
15 apt-get update
16 apt-get purge lxc-docker || true
17 apt-get -y install linux-image-extra-$(uname -r)
18 apt-get -y install apparmor
19 echo "Installing Docker"
20 apt-get -y install docker-engine
A R Karthickc4108fe2016-11-17 15:15:28 -080021 service docker restart
A R Karthick973010f2017-02-06 16:41:51 -080022 sleep 5
A R Karthickd49ca4b2016-07-27 11:52:50 -070023 echo "Verifying Docker installation"
24 docker run --rm hello-world || exit 127
25 docker rmi hello-world
A R Karthickb05acab2016-11-10 15:12:43 -080026 echo "Pulling ONOS latest"
A R Karthickd49ca4b2016-07-27 11:52:50 -070027 docker pull onosproject/onos:latest || exit 127
A R Karthickd49ca4b2016-07-27 11:52:50 -070028fi
A.R Karthick90e88992017-01-13 11:44:03 -080029apt-get -y install openvswitch-common openvswitch-switch
A R Karthickd049f2d2017-02-03 14:48:41 -080030apt-get -y install wget git python python-dev python-pip python-setuptools python-scapy python-pexpect python-maas-client tcpdump arping libssl-dev libffi-dev realpath
Chetan Gaonkercc19ac42016-05-04 17:21:50 -070031easy_install nose
A R Karthickc1dc1d72016-10-27 15:35:19 -070032pip install scapy==2.3.2
Chetan Gaonkercc19ac42016-05-04 17:21:50 -070033pip install monotonic
34pip install configObj
A.R Karthicke4631062016-11-03 14:28:19 -070035pip install docker-py==1.9.0
Chetan Gaonkercc19ac42016-05-04 17:21:50 -070036pip install -U pyyaml
37pip install -U nsenter
38pip install -U pyroute2
39pip install -U netaddr
A R Karthickea9abc82016-06-17 14:55:19 -070040pip install -U python-daemon
A R Karthickc1dc1d72016-10-27 15:35:19 -070041pip install scapy-ssl_tls==1.2.2
A R Karthick5f4f3be2016-10-21 09:21:51 -070042pip install -U robotframework
43pip install -U robotframework-requests
44pip install -U robotframework-sshlibrary
A R Karthick19aaf5c2016-11-09 17:47:57 -080045pip install paramiko==1.10.1
Chetan Gaonker66bff932016-05-09 10:06:37 -070046( cd /tmp && git clone https://github.com/jpetazzo/pipework.git && cp -v pipework/pipework /usr/bin && rm -rf pipework )
A R Karthick05e85fa2016-12-02 09:20:54 -080047
Chetan Gaonkercc19ac42016-05-04 17:21:50 -070048## Special mode to pull cord-tester repo in case prereqs was installed by hand instead of repo
A R Karthickd49ca4b2016-07-27 11:52:50 -070049if [ "$1" = "--test" ]; then
Chetan Gaonkercc19ac42016-05-04 17:21:50 -070050 rm -rf cord-tester
A R Karthickd49ca4b2016-07-27 11:52:50 -070051 git clone https://github.com/opencord/cord-tester.git
Chetan Gaonker66bff932016-05-09 10:06:37 -070052fi
A R Karthick05e85fa2016-12-02 09:20:54 -080053
54install_ovs() {
55 mkdir -p /root/ovs
56 wget http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz -O /root/ovs/openvswitch-2.5.0.tar.gz && \
57 ( cd /root/ovs && tar zxpvf openvswitch-2.5.0.tar.gz && \
58 cd openvswitch-2.5.0 && \
59 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-ssl && make && make install
60 )
61}
62
63ovs_install=0
64
65if [ -f /usr/bin/ovs-vsctl ] || [ -f /usr/local/bin/ovs-vsctl ]; then
66 ##find the version. Install if ovs version less than 2.5
67 version=`sudo ovs-vsctl --version | head -1 | awk '/[1-9].[0-9].[0-9]/ {print $NF}'`
68 major=$(echo $version | cut -d "." -f1)
69 minor=$(echo $version | cut -d "." -f2)
70 if [ $major -le 2 ]; then
71 if [ $major -lt 2 ]; then
72 ovs_install=1
73 else
74 if [ $minor -lt 5 ]; then
75 ovs_install=1
76 fi
77 fi
78 fi
79else
80 ovs_install=1
81fi
82
83if [ $ovs_install -eq 1 ]; then
84 echo "Installing OVS 2.5.0"
85 service openvswitch-switch stop
86 install_ovs
87fi