-#!/bin/bash
+#!/bin/bash -x
# vim: sw=4 ts=4 sts=4 et tw=72 :
+# force any errors to cause the script and job to end in failure
+set -xeu -o pipefail
+
# Ensure that necessary variables are set to enable noninteractive mode in
# commands.
export DEBIAN_FRONTEND=noninteractive
echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
echo '---> Install OpenVSwitch 2.5.0'
-add-apt-repository -y ppa:sgauthier/openvswitch-dpdk
-apt-get update -y --force-yes
-apt-get install -y --force-yes openvswitch-switch openvswitch-vtep
-
-echo '---> Installing mininet 2.2.2'
-git clone git://github.com/mininet/mininet
-cd mininet
-git checkout -b 2.2.2 2.2.2
-cd ..
-mininet/util/install.sh -nf
-
-echo '---> Installing MT-Cbench'
-apt-get install -y --force-yes build-essential snmp libsnmp-dev snmpd libpcap-dev \
+apt-get update -m
+apt-get install openvswitch-switch openvswitch-vtep
+
+# Temporary workaround required to bring up OVS
+# post-install without which OVS daemon exits.
+service openvswitch-switch restart
+# Verify the OVS service status
+service openvswitch-switch status
+
+echo '---> Installing mininet'
+apt-get install mininet
+
+echo '---> Installing build pre-requisites'
+apt-get install build-essential snmp libsnmp-dev snmpd libpcap-dev \
autoconf make automake libtool libconfig-dev libssl-dev libffi-dev libssl-doc pkg-config
+
git clone https://github.com/intracom-telecom-sdn/mtcbench.git
-mtcbench/build_mtcbench.sh
-cp mtcbench/oflops/cbench/cbench /usr/local/bin/
+mtcbench/deploy/docker/provision.sh
+# TODO: remove workaround for build issue with mtcbench
+# when mtcbench dependency build correctly
+# https://github.com/intracom-telecom-sdn/mtcbench/issues/10
+mtcbench/build_mtcbench.sh || true
+cd mtcbench/oflops/cbench
+make
+cp cbench /usr/local/bin/
echo '---> Installing exabgp'
-apt-get install -y --force-yes exabgp
+apt-get install exabgp
+
+# Install vlan for vlan based tests in VTN suites
+apt-get install vlan
-echo '---> All Python package installation should happen in virtualenv'
-apt-get install -y --force-yes python-virtualenv python-pip
+# Install netaddr package which is needed by some custom mininet topologies
+apt-get install python-netaddr