Version 10 (modified by 11 years ago) (diff) | ,
---|
All About HyperNet Architecture
To use a HyperNet App
- 1. What the user needs
- 1.1 credentials: more precisely, the following files: omni_config, private/public key pairs for GENI (can get from GENI Portal, e.g., geni_key_portal and geni_key_portal.pub in your ~/.ssh/ directory), the ssl certificate for GENI (can get from GENI Portal, i.e., geni_cert_portal.pem in your ~/.ssl/ directory)
- 1.2 JRE (Java Runtime Environment) - do not know the version requirement yet, assume the default version on your Windows/Ubuntu/Mac would work as long as your PC/Laptop is not 20 years old :-)
- 2. How to get the files needed above?
- 2.1 Option A. Get a GENI Portal account, log on your portal account, click "profile", then download public key and private key to ~/.ssh/ directory; SSL certificate to ~/.ssl/ directory, then download and customize a template omni config file and customize it.
- 2.2 Option B. Get a GENI Portal Account, download a "omni-bundle" script from somewhere, and run it using the following command:
run omni-bundle script
To Build a Network Hypervisor Server
For Ubuntu:
- 1. install apache:
sudo apt-get install apache2
- 2. add a new user:
sudo adduser hypernet (password is hypernet)
- 3. install JDK:
sudo apt-get install openjdk-7-jdk
- 4. copy hypervisor source code as user "hypernet" in "hypernet's" home directory:
su hypernet wget http://www.gpolab.bbn.com/experiment-support/HyperNet/Hypervisor.tar.gz tar xzvf Hypervisor.tar.gz
- 5. set environment path: add the following line to ~/.bashrc (as user "hypernet")
export CLASSPATH=.:~/PVNLibrary/*:$CLASSPATH
then log out and log in again as user "hypernet" (you can do "echo $CLASSPATH" to confirm that the classpath is set properly) - 6. install omni following the tutorial here: http://trac.gpolab.bbn.com/gcf/wiki (remember to set the $PATH variable so that the system can call omni.py directory instead of having to use the full path)
- 7. change corresponding fields in the hypervisor source code to point to the correct directory:
- 7.1 in "PVNLib.java" change the following so that it points to the default GENI user (unlikely to be called, but just in case)
//default user credentials private final String defaultUserName = "shuang"; //default hypervisor's username, needs to match with the default omni_config in your ~/.gcf/ directory //on andor the above is shufeng private final String defaultOmniConfigFile = "/Users/shuang/.gcf/omni_config"; //default location for hypervisor's omni_config file //on andor, the above is /home/hypernet/.gcf/omni_config private final String hypervisorRoot = "/Users/shuang/Sites/"; //default web site location on hypervisor //on andor, the above is /var/www/ private final String webRoot = "http://128.89.81.82/~shuang/"; //default web url for hypervisor service //on andor, the above is http://128.89.91.33/
- 7.2 in "pvnlib/RspecBuilder.java", change the following to point to the correct resource folder:
public final static String resourceFolder = "/Users/shuang/Sites/resources/"; //default folder to hold physical topology xml files //on andor, the above is /var/www/resources/
- 7.3 in "pvnlib/TopologyMgr/Graph.java", change the following to point to the right omni.py:
private static String omni = "/Users/shuang/omni/gcf/src/omni.py"; //path for omni.py //on andor, the above is changed to /home/hypernet/omni/gcf/src/omni.py
- 7.4 recompile the source code, in folder "RPCServer/", do "make"
- 7.1 in "PVNLib.java" change the following so that it points to the default GENI user (unlikely to be called, but just in case)