= GEC 12 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/Omni).'' Note that the password for the root MySQL user is geniuser. == Software Installation Schedule - Round 2 == 1. ~~Michael/David (!DiCloud) -- COMPLETED~~ 2. ~~Jason/Miguel (PrimoGENI) -- COMPLETED~~ 3. ~~Charles (GIMS) -- PASSED~~ 4. ~~Jason/Miguel (PrimoGENI) -- COMPLETED~~ 5. Niky (Omni) -- completed by EOD Thurs 10/27 == Software Installation Schedule - Round 1 == 1. ~~Niky (Omni) -- COMPLETED~~ 2. ~~Jason (PrimoGENI) -- COMPLETED~~ 3. ~~Jae (!NetServ) -- COMPLETED~~ 4. ~~Michael and David (!DiCloud) -- COMPLETED~~ 5. ~~Charles (GIMS) -- COMPLETED~~ == Installing Omni == To install Omni, just follow the instruction at [http://trac.gpolab.bbn.com/gcf/wiki/QuickStart 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 "/home/geni/Tutorials/Omni/gcf/src" ] ; then PATH="/home/geni/Tutorials/Omni/gcf/src:$PATH" export PYTHONPATH="/home/geni/Tutorials/Omni/gcf/src:$PYTHONPATH" fi }}} == Installing NOX == == Installing PrimoGENI == We performed the following steps: 1) sudo apt-get install subversion -- apt-get installed libapr1 libaprutil1 libsvn1 as dependencies 2) sudo apt-get install g++ -- apt installed g++-4.4 libstdc++6-4.4-dev as dependencies 3) downloaded and installed apache ant at /usr/share/apache-ant-1.8.2 -- added symlink /usr/share/ant to /usr/share/apache-ant-1.8.2 -- added symlink to ant in /usr/bin /usr/share/ant/bin/ant 4) Downloaded and installed Java SDK 6.27 from Oracle -- installed java at /usr/lib/jvm/jdk1.6.0_27 -- added symlinks for java commands to /etc/alternatives (pointing binaries in /usr/lib/jvm/jdk1.6.0_27/bin ) -- added symlinks at /usr/bin for java commands (pointing to /etc/alternatives) -- added 'export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_27/' to /home/geni/.bashrc -- this is how java is normally installed on ubuntu 5) Checked out our software to /home/geni/workspace/primex using svn 6) Downloaded the latest eclipse -- installed it at /home/geni/bin/eclipse -- installed pde and rcp components -- installed http://robrohan.com/projects/afae plugin from https://www.primessf.net/pub/Public/PrimoGENIProject/afae_plugins.tgz -- set default workspace to /home/geni/workspace -- imported /home/geni/workspace/primex/netIDE as a project 7) Created Slingshot Application at /home/geni/bin/slingshot 8) Added shortcut to Slingshot on the Desktop == Installing !NetServ == Dependencies: {{{ # for building netserv sudo apt-get install \ build-essential \ automake \ openssl \ libtool \ libnetfilter-queue-dev \ ntp \ libpoco-dev \ libssl-dev \ libxerces-c-dev \ xsdcxx # OpenJDK not installed because PrimoGENI installed Sun JDK # sudo apt-get install openjdk-6-jdk # for tutorial sudo apt-get install \ vim-gtk \ subversion }}} Install !NetServ code: {{{ cd /home/geni/Tutorials/NetServ svn co svn://saesaksi.cs.columbia.edu/netserv/branches/gec12 sudo ln -s /home/geni/Tutorials/NetServ/gec12 /netserv-root cd /netserv-root }}} Build !NetServ core {{{ ./build-netserv-gec12.sh }}} == Installing !DiCloud == List of commands we ran to prime the image for !DiCloud's tutorial. A link to !DiCloud's tutorial documentation is [http://groups.geni.net/geni/wiki/DICLOUD/GEC12tutorial here]. {{{ sudo apt-get update sudo apt-get install apache2 sudo apt-get install libapache2-mod-php5 sudo apt-get install php5-mysql sudo a2enmod php5 sudo apt-get install mysql-server cd ~/Tutorials/ wget http://geni.cs.umass.edu/dicloud-tutorial.tgz tar xzvf dicloud-tutorial.tgz mv dicloud-tutorial.tgz DiCloud/source cd /var/www sudo ln -s /home/geni/Tutorials/DiCloud/www/vise vise cd ~/Tutorials/DiCloud sudo chown -R www-data www sudo chgrp -R www-data www chmod u+x key_install.sh sudo ln -s /usr/lib/jvm/jdk1.6.0_27 java-6-sun mysql -u root -p mysql> create database dicloud; mysql> create user vise; mysql> SET PASSWORD FOR 'vise' = PASSWORD(''); mysql> quit; mysql -u root -p < source/dicloud.schema mysql -u root -p mysql> use dicloud; mysql> INSERT INTO users(id, username, password) VALUES (1, 'admin', SHA1('geni')); mysql> INSERT INTO admin_rights VALUES (1, true, true, true, true); mysql> GRANT ALL ON dicloud.* TO 'vise'@'localhost'; mysql> quit; cd ~/Tutorials/DiCloud nano environment [ Add $DICLOUD_HOME/bin to PATH ] sudo ln -s /home/geni/Tutorials/DiCloud/ec2/keys/geni_cert.pem /geni_cert.pem sudo ln -s /home/geni/Tutorials/DiCloud/ec2/keys/geni_pk.pem /geni_pk.pem sudo ln -s /home/geni/Tutorials/DiCloud/ec2/keys/geni_cert_web.pem /geni_cert_web.pem sudo ln -s /home/geni/Tutorials/DiCloud/ec2/keys/geni_pk_web.pem /geni_pk_web.pem sudo ln -s /home/geni/Tutorials/DiCloud/ec2/keys/geni-keypair.pem /geni-keypair.pem cd ~/Tutorials/DiCloud/dicloud/lib wget http://sourceforge.net/projects/jline/files/jline/1.0/jline-1.0.zip/download -O jline-1.0.zip unzip jline-1.0.zip cp jline-1.0/jline-1.0.jar . rm -rf jline-1.0 rm jline-1.0.zip cd ~/Tutorials/DiCloud/bin nano dicloud_console.sh [ Modify jline include to use jline-1.0.jar ] nano dicloud_console_script.sh [ Modify jline include to use jline-1.0.jar ] cd /var/www/vise/secure sudo su su www-data wget http://geni.cs.umass.edu/dicloud-web.tgz tar xzvf dicloud-web.tgz rm dicloud-web.tgz exit exit cd ~/Tutorials/DiCloud nano s3_test [ This is a test file we are going to upload to S3 and then subsequently download as a new name. ] sudo apt-get install keychain }}} == Installing GIMS == Created folder /mnt/shared and mounted my content there using the command: {{{ sudo mount -t vboxsf GEC12 /mnt/shared }}} Created folder ~geni/Tutorials/GIMS Added ProtoGENI test scripts to this folder. Added ProtoGENI credentials: {{{ $HOME/.ssl/encrypted.pem $HOME/.ssl/password }}} Added RSpecs to the test script folder {{{ GimsMSNSSH.rspec GimsMSNProduction.rspec GimsMSNLocalhost.rspec }}}