Version 13 (modified by 13 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
Download release gcf1.6
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$
- There is a Java keystore named orcatuXX.jks in each ssh/ subdirectory to be used with Flukes. Each keystore file contains the private key and certificate from the pem file in the same directory. Key and keystore passwords are the same within each keystore and match the .pem file passwords.
- There is a Flukes jnlp on the desktop (double-click to launch)
- 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; can be done in a text editor).
Everything else (slice requests) the experimenters will download from the web at the time of the tutorial.