[[PageOutline]] = GENI User Workspace = == Where can I find the workspace? == - You can downloaded it from the BBN FTP server. - FTP information will be emailed to the appropriate lists. - Usernames and passwords will be emailed == Installing the VM == 1. Install !VirtualBox Download the !VirtualBox software from http://www.virtualbox.org. If you already have !VirtualBox installed on your machine, make sure it is version 4.1 or above. 2. Download !VirtualBox VM image for tutorials Download the !VirtualBox VM image (GENI UW 12.04 v1.0.ova) from the BBN FTP server. 3. Install the ''GENI UW 12.04 v1.0.ova'' virtual machine image Start up !VirtualBox, select File->Import Appliance..., and follow the instructions. Accept the default VM settings during the import. To run the virtual machine, go to the Oracle VM !VirtualBox Manager window, select the VM and click the green arrow labeled Start at the top of this window. == Configuring Credentials == You will need three sets of credentials (two optional) when using the user workspace: 1. A GENI certificate. This is the SSL certificate (with .pem extension) that you download from one of the slice authorities (e.g. emulab.net or pgeni.gpolab.bbn.com) You can use a certificate with or without a passphrase. 2. (Optional) An iRODS account. This is only needed if you want to access an iRODS server from the user workspace. You must have the following information in an irods configuration file. {{{ irodsHost irodsPort irodsDefResource irodsHome irodsCwd irodsUserName irodsZone }}} Make sure you remember the password for your iRODS account. You will need this when you run credconfig.sh below. 3. (Optional) A Java Keystore file created from your GENI certificate. '''This is only needed if you want to use Flukes.''' See https://geni-orca.renci.org/trac/wiki/flukes/#Userauthorization for instructions on how to generate the keystore file. Make sure you remember the alias and password that you used when creating the keystore file. You will need this when you run Flukes. Transfer these files to a location in your home directory. You can do this with ftp, scp, or [wiki:#UsingSharedFolders shared folders]. With these 1-3 files, you can configure your credentials with the credconfig.sh tool. {{{ $ credconfig.sh -g -i -f }}} Example: {{{ $ credconfig.sh -g /home/geniuser/gpo_ctcert.pem -f /home/geniuser/pgeni.jks -i /home/geniuser/irods.config }}} A pair of SSH keys will be generated for you using the private key from your GENI certificate. == Using Shared Folders == If you need to transfer files from your host machine/laptop, the easiest way is typically using Shared Folders. Follow these steps to set up a shared folder on your user workspace. 1. Go to the !VirtualBox "Devices" menu and select "Shared Folders..." 2. Click on the "Add" button on the right (looks like a folder with a plus sign). 3. Select the path of the folder you would like to share with your VM. 4. Enter the name you would like to give this shared folder in "Folder Name:" (e.g. myshared) 5. Click on "OK" in the Add Shares window 6. Click on "OK" in the Shared Folders window 7. Create the directory where you would like you shared folder mounted (e.g. /media/shared): {{{ sudo mkdir /media/shared }}} 8. Mount the shared folder: {{{ sudo mount -t vboxsf myshared /media/shared }}} You should now be able to access your folder at /media/shared. == Basic Environment == - Ubuntu 12.04 - OpenJDK JRE 7 - Most common tools are installed in /opt - Home directory structure {{{ .ssh - SSH key pairs .ssl - Protogeni certificate - Java keystore (for Flukes) .gcf - omni_config .irods - .irodsEnv: configuration file for iRODS client .flukes.properties - Flukes configuration }}} ---- == Credentials == === SSH key pair === - Generated automatically by omni-configure.py - named geni_key - Location added to omni_config - Public key installed on slice nodes - Private key can be added to ssh-agent for password-less login === ProtoGENI certificate === - Download from Emulab or GPO - With or without passphrase - Location added to omni_config, environment variables, and .flukes.properties === iRODS account === - Configured in $HOME/.irods/.irodsEnv ---- == Tools == === Protogeni test scripts === - Used by LAMP scripts - Installed in /opt/protogeni === LAMP scripts === - Installed in /opt/lamp - Symlinked into /opt/protogeni - lamp-sendmanifest.py and lamp-getcertificate.py downloaded from links on http://groups.geni.net/geni/wiki/LAMP/Tutorial - placelampcert.sh written by J. Ohren === OMNI === - Installed in /opt/gcf - Version 1.6.2 downloaded from http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf - omni_config generated by omni-configure.py - omni_config installed in each users home directory ($HOME/.gcf/omni_config) === OMF EC === - Installed version 5.4. - Installed according to instructions at http://omf.mytestbed.net/projects/omf/wiki/Installation_Guide_53#Installing-the-Experiment-Controller-EC === iRODS client === - Installed in /opt/irods - Version 3.1 downloaded from https://www.irods.org/download.html - Config file installed in each users home directory - .irods/.irodsEnv === Development Tools === - Emacs - Screen - Python - Perl - Git - SVN - Expect ---- == Packages Installed == - python-m2crypto - g++ - git - subversion - expect - vim - screen - emacs - openjdk-7-jre - icedtea-6-plugin - apache2 - adobe-flashplugin - omf-expctl-5.4 ---- == Security Policies == - External ports - HTTP (80) - HTTPS? (443) - SSH (22) - Passphrases for SSH keys? - Can use ssh-agent for running scripts - Passphrases for protoGENI certificates? - How to script using OMNI? - Storing GENI credentials? - !StrictHostKeyChecking in SSH config? - removes fingerprint verification question - GUSH suggests this to avoid some issues ----