Version 10 (modified by Ilia Baldine, 7 years ago) (diff)

--

# GEC 13 VM Setup

This page is for keeping track of the setup of the VM that is going to be used for the GEC 12 tutorials. The VM was create using VirtualBox version 4.1.4. It is running Ubuntu version 10.04 LTS.

Please update this page with information on software you install on the VM: Name and version number of the software, location, etc.. Please put tutorial specific software (e.g. experiment software that is installed onto GENI resources) in the specific directories in the Tutorials directory under the user's home directory (e.g. /home/geni/Tutorials/ExptWorkflow).

## Experimental Workflow Tutorial

• Installed Omni, Final gcf 1.6 release Install the following packages
sudo apt-get install python-m2crypto python-dateutil \
python-pyopenssl libxmlsec1 xmlsec1 \
libxmlsec1-openssl libxmlsec1-dev


cd Tutorial/ExptWorkflow
tar xvfz gcf-1.6.tar.gz
\rm gcf-1.6.tar.gz
ln -s gcf-1.6 gcf

• Added in the end of the .bashrc file of the GENI user these lines
# set PATH so it includes Omni software if it exists
if [ -d "/home/geni/Tutorials/ExptWorkflow/gcf/src" ] ; then
PATH="/home/geni/Tutorials/ExptWorkflow/gcf/src:$PATH" PATH="/home/geni/Tutorials/ExptWorkflow/gcf/examples:$PATH"
export PYTHONPATH="/home/geni/Tutorials/ExptWorkflow/gcf/src:$PYTHONPATH" fi # set PATH to include scripts for the Experiment Workflow tutorial if [ -d "/home/geni/Tutorials/ExptWorkflow/bin" ] ; then PATH="/home/geni/Tutorials/ExptWorkflow/bin:$PATH"
PATH="/home/geni/Tutorials/ExptWorkflow/gcf/examples:$PATH" fi  • Added scripts, credentials and rspecs files. These all need to be updated before the Final version of the VM # Installing NetServ Dependencies: # for building netserv sudo apt-get update sudo apt-get install \ build-essential \ automake \ openssl \ libtool \ libnetfilter-queue-dev \ ntp \ libpoco-dev \ libssl-dev \ libxerces-c-dev \ xsdcxx # Install OpenJDK if no JDK has been installed already. # # sudo apt-get install openjdk-6-jdk # # If some other JDK has been installed already, make sure JAVA_HOME # environment variable is set in .bashrc for both the geni user and # root. For example, if Sun JDK has been installed, the following # line should be in both .bashrc: # # export JAVA_HOME=/usr/lib/jvm/java-6-sun # # for tutorial sudo apt-get update sudo apt-get install \ vim-gtk \ subversion  Install NetServ code: cd /home/geni/Tutorials/NetServ svn co svn://saesaksi.cs.columbia.edu/netserv/branches/gec-tutorial sudo ln -s /home/geni/Tutorials/NetServ/gec-tutorial /netserv-root cd /netserv-root  Build NetServ core ./build-netserv-gec-tutorial.sh  ## Trema Tutorial Install prerequisites and utils: % sudo apt-get install gcc make ruby ruby-dev irb file libpcap-dev libsqlite3-dev % sudo apt-get install rubygems git-core  Install Trema: % sudo gem install trema --remote % sudo ln -s /var/lib/gems/1.8/bin/trema /usr/bin/trema  Download tutorial files: % cd Tutorials/Trema % git clone git://github.com/trema/GEC13.files.git .  ## ORCA Tutorial • Installed credentials and omni_config for each of 21 users Created a directory for each user geni@geni-vm:~/Tutorials/ORCA$ pwd
/home/geni/Tutorials/ORCA
geni@geni-vm:~/Tutorials/ORCA$ls orcatu01 orcatu04 orcatu07 orcatu10 orcatu13 orcatu16 orcatu19 orcatu02 orcatu05 orcatu08 orcatu11 orcatu14 orcatu17 orcatu20 orcatu03 orcatu06 orcatu09 orcatu12 orcatu15 orcatu18 orcatu21  Each user has an omni_config file and a set of passphrase protected credentials in an ssh directory geni@geni-vm:~/Tutorials/ORCA/orcatu01$ ls
omni_config  ssh
geni@geni-vm:~/Tutorials/ORCA/orcatu01$ls ssh orcatu01-cert.pem orcatu01-key orcatu01-key.pub geni@geni-vm:~/Tutorials/ORCA/orcatu01$

1. There is a Java keystore named orcatuXX.jks in each subdirectory to be used with Flukes. Key and keystore passwords are the same within each keystore and match the .pem file passwords.
2. There is a Flukes jnlp on the desktop (double-click to launch)
3. There is a ~/.flukes.properties that needs to be customized by the experimenter (very easy - substitute XX in a couple of places for their index).

Everything else (slice requests) the experimenters will download from the web at the time of the tutorial.