Version 12 (modified by, 6 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 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
     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: (remember to set the $PATH variable so that the system can call 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 "" 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 = "";                          //default web url for hypervisor service
                         //on andor, the above is
    • 7.2 in "pvnlib/", 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/", change the following to point to the right
      private static String omni = "/Users/shuang/omni/gcf/src/";                         //path for
                       //on andor, the above is changed to /home/hypernet/omni/gcf/src/
    • 7.4 recompile the source code, in folder "RPCServer/", do "make clean", then do "make". you might need to install make first.
  • 8. copy "log.html" in RPCServer/ folder to your web directory. In our case, since the web directory is at "/var/www/", we first change the permission on that folder to allow user "hypernet" to write, then put log.html in "/var/www/log/" folder:
    sudo chmod -R 777 /var/www/
    mkdir /var/www/log/
    cp log.html /var/www/log/
  • 9. in folder RPCServer/, change accordingly. since the log file is in /var/www/log/ folder, you do not need to change
  • 10. You are all set. In folder RPCServer/, run the hypervisor service by running:
    And you will see the logs from the hypervisor Log page: