wiki:GEC11VMSetup

Version 12 (modified by smbaker@sb-software.com, 13 years ago) (diff)

--

This page is for keeping track of the setup of the VM that is going to be used for the Tutorial.

These instructions are for VirtualBox 4.08.

In order to make the VM more usable, installed the Guest Additions (Devices -> Install Guest Additions).

Installing Omni

To install Omni, just follow the instruction at Omni Quick Start. In more detail, install the following packages

sudo apt-get install python-m2crypto python-dateutil \
                     python-pyopenssl libxmlsec1 xmlsec1 \
                     libxmlsec1-openssl libxmlsec1-dev

Download release gcf1.3 from http://www.gpolab.bbn.com/local-sw/ under /usr/local/geni/ and untar it.

tar xvfz gcf-1.3.tar.gz
\rm gcf-1.3.tar.gz
ln -s gcf-1.3/ gcf

Added in the end of the .profile file of the GENI user these lines

# set PATH so it includes geni software if it exists
if [ -d "/usr/local/geni/gcf/src" ] ; then
    PATH="/usr/local/geni/gcf/src:$PATH"
fi

Also placed files gcf.ini and omni.ini, in the home dir of the GENI user.

Installing NOX

Downloaded the VM with Omni installed. Then followed the instructions from here.

cd /etc/apt/sources.list.d
sudo wget http://openflowswitch.org/downloads/debian/nox.list
sudo apt-get update
sudo apt-get install nox-dependencies

Since nox-dependencies is not a common package, just to keep track of which packages are installed, these are the packages included in nox-dependencies :

> dpkg --info nox-dependencies.deb
 new debian package, version 2.0.
 size 788 bytes: control archive= 491 bytes.
     511 bytes,     9 lines      control              
     499 bytes,     9 lines      control~             
 Package: nox-dependencies
 Version: 0.1
 Architecture: all
 Depends: doxygen, doxypy, build-essential, python-dev, autoconf, automake, make, g++, libtool, python-twisted, python-dev, swig, libssl-dev, libboost-dev (>= 1.34.1), libboost-test-dev, libboost-filesystem-dev
 Suggests: git-core, libsqilte3-dev, python-simplejson
 Maintainer: KK Yap [yapkke@stanford.edu]
 Description: This package installs the dependencies needed for NOX
 	     to be built from source.  There is no actual content
 	     in this package.

After the dependencies are installed

cd
git clone git://noxrepo.org/nox
cd nox
./boot.sh
cd ../
mkdir nox_build
cd nox_build
../nox/configure
make -j 5

To verify that the install was successful

./nox_core -h

Installing sface and raven

Most of this is done as root, i.e. "sudo bash".

Dependencies:

apt-get install python-qt4 python-lxml m2crypto python-dateutil rpm

Sface and Raven packages:

echo "deb http://pl-virtual-11.CS.Princeton.EDU/apt lucid main" > /etc/apt/sources.list.d/sfa.list
apt-get update
apt-get install sfa sfa-client sface ravenlib raven geni_account_setup ravendemo_setup
# sface and sfa are installed to site-packages; Ubuntu uses dist-packages
echo "/usr/lib/python2.6/site-packages" > /usr/lib/python2.6/dist-packages/site-packages.pth

Setting up accounts:

/usr/local/geni/account_setup/scripts/createusers.sh
/usr/local/geni/account_setup/scripts/setpasswords.sh
/usr/local/geni/account_setup/scripts/copykeys.sh
/usr/local/geni/account_setup/scripts/configsfi.sh

There should be 31 accounts, guest1, guest2, ..., guest31. The password for each of them is "geni". We've designated guest31 to be used for testing purposes (guest31 is identical to the other 30, but will not be handed out to attendees).

Verify Installation:

# should open sface GUI
# should include tabs: MainWindow Config Help Raven
sface

Installing Gush

Note: This does not account for installing user keys and certificates into the correct places.

apt-get install keychain
mkdir /usr/local/geni/gush
cd /usr/local/geni/gush
wget http://gush.cs.williams.edu/gush-bin-32bit.tgz
tar xzvf gush-bin-32bit.tgz

To verify:

./gush -P 15000

You also have to modify directory.xml and omni_config.

Installing NetServ

Dependencies:

# for building netserv
sudo apt-get install \
      build-essential \
      automake \
      openssl \
      libtool \
      libnetfilter-queue-dev \
      openjdk-6-jdk \
      ntp \
      libpoco-dev \
      libssl-dev \
      libxerces-c-dev \
      xsdcxx

# for tutorial
sudo apt-get install \
      vim-gtk \
      subversion

Install NetServ code:

cd /usr/local/geni
svn co svn://saesaksi.cs.columbia.edu/netserv/branches/gec11 netserv

sudo ln -s /usr/local/geni/netserv /netserv-root
cd /netserv-root

Build NetServ core

cd /netserv-root/core/linux
. setenv-i386-ubuntu 
make 
cd ../java
make 

Attachments (2)

Download all attachments as: .zip