wiki:GIR3.2_EnterpriseGENI

Version 33 (modified by lnevers@bbn.com, 13 years ago) (diff)

--

Enterprise GENI Evaluation

The Enterprise-GENI solution is composed of four main entities:

  • OpenFlow-based Substrate Version ??: Switches that communicate using the OpenFlow protocol to the OpenFlow controller. Software version available include
  • FlowVisor Version 0.8.1.2 : Custom-build OpenFlow controller that isolates experiment control traffic.
  • Opt In Manager Version 0.2.5 : Administrative application for OpenFlow-based network.
  • Expedient Version 4.0.2: Portal for defining experiment resources.
  • NOX Zaku branch: An OpenFlow Controller providing flow level control of network traffic.
  • SNAC An OpenFlow Controller which is a NOX module. Not covered here.
  • FOAM Version 0.2.2 will replace the Expedient Aggregate Manager and Opt In Manager. Version? Location?

Evaluation Time Frame: September 26, 2011

Enterprise GENI Findings

Initial review of the FlowVisor deployment page and FlowVisor 0.8.1.2 found the following issues.

Enterprise GENI How-to

Install and Configure FlowVisor

Using instructions from https://openflow.stanford.edu/display/flowvisor/fv_deploy, installed the Ubuntu package FlowVisor Version 0.8.1.2. First, add the following to /etc/apt/sources.list file:

   deb http://updates.flowvisor.org/openflow/downloads/GENI/DEB unstable/binary-$(ARCH)/

Install package:

   sudo apt-get update && sudo apt-get install flowvisor

Before proceeding to configuration step, should modify the SSL_KEYPASSWD in the file /usr/etc/flowvisor/envs.sh to define the password to be used by the fv-admin profile:

You can now start the FlowVisor, note if this is a new FlowVisor installation, the SSL keystor must be generated, below is a capture of the process:

  $ sudo /usr/sbin/flowvisor /usr/etc/flowvisor/config.xml 
  Starting FlowVisor
  Running with FV_JVM_ARGS=-server -Xms100M -Xmx1000M -XX:OnError=flowvisor-crash-logger -XX:+UseConcMarkSweepGC
  --- Setting logging level to NOTE
  java.lang.RuntimeException: SSL Key Store file not found: '/usr/etc/flowvisor/mySSLKeyStore'
  Please generate with `fvconfig generateCert`
        at org.flowvisor.api.APIServer.spawn(APIServer.java:85)
        at org.flowvisor.FlowVisor.run(FlowVisor.java:143)
        at org.flowvisor.FlowVisor.main(FlowVisor.java:191)

  $ sudo fvconfig generateCert
  Trying to generate SSL Server Key with passwd from scripts/envs.sh
  Generating cert with common name == mallorea.gpolab.bbn.com

  $ sudo /usr/sbin/flowvisor /usr/etc/flowvisor/config.xml &
  [1] 1283
  Starting FlowVisor
  Running with FV_JVM_ARGS=-server -Xms100M -Xmx1000M -XX:OnError=flowvisor-crash-logger -XX:+UseConcMarkSweepGC
  --- Setting logging level to NOTE

The FlowVisor configuration that is delivered includes sample slices that should be deleted:

  fvctl --passwd-file=/root/.fvp  deleteSlice alice
  fvctl --passwd-file=/root/.fvp  deleteSlice bob

Issues found, captured in email. (and bugs?)

Expedient Installation

Installed Expedient using the git repository instructions found in the Checkout Repository section of the Installing Expedient page, but first had to install pre-requisites:

  $ sudo apt-get install python-2.6
  $ sudo apt-get install xmlsec1
  $ sudo apt-get install libxmlsec1-devel
  $ sudo apt-get install python-setuptools 
  $ sudo apt-get install python-django
  $ sudo apt-get install python-django-registration
  $ sudo apt-get install python-decorator
  $ sudo apt-get install m2crypto
  $ sudo apt-get install python-imaging (PIL)
  $ sudo apt-get install python-dateutil
  $ sudo apt-get install python-crypto
  $ sudo apt-get install python-paramiko
  $ sudo apt-get install python-webob            
  $ sudo apt-get install python-OpenSSL
  $ sudo apt-get install python-pyquery
  $ sudo apt-get install sphinxsearch
  $ sudo apt-get install python-pygments
  $ sudo apt-get install libxslt-dev   
  $ sudo apt-get install python-zsi 
  $ sudo apt-get install python-mysqldb
  $ sudo easy_install django-autoslug
  & sudo easy_install django-renderform

Checked out the code:

  $ git clone git://openflow.org/expedient
  $ cd expedient/src/python
  $ PYTHONPATH=. python expedient/clearinghouse/bootstrap_local_settings.py expedient/clearinghouse/
Traceback (most recent call last):
  File "expedient/clearinghouse/bootstrap_local_settings.py", line 10, in <module>
    from expedient.clearinghouse.commands.utils import bootstrap_local_settings
  File "/home/lnevers/expedient/src/python/expedient/clearinghouse/commands/utils.py", line 12, in <module>
    from expedient.clearinghouse.defaultsettings.django import CONF_DIR
  File "/home/lnevers/expedient/src/python/expedient/clearinghouse/defaultsettings/django.py", line 104, in <module>
    "TEMPLATE_LOADERS", TEMPLATE_LOADERS, globals())
  File "/home/lnevers/expedient/src/python/expedient/clearinghouse/defaultsettings/utils.py", line 31, in append_to_local_setting
    import localsettings
ImportError: No module named localsettings
lnevers@mallorea:~/expedient/src/python$ 

Install NOX

Followed the NOX Installation instructions from the noxrepo.org web site. only evaluated Ubuntu instructions. Install dependencies:

$ cd /etc/apt/sources.list.d
$ sudo wget http://openflowswitch.org/downloads/debian/nox.list
$ sudo apt-get update
$ sudo apt-get install nox-dependencies

Downloaded the NOX source code, but had to install the following undocumented packages for the instruction to work:

$ sudo apt-get install git-core

NOX installation

$ git clone git://noxrepo.org/nox
$ cd nox
$ git checkout zaku 
$ ./boot.sh 
$ mkdir build/
$ cd build/
$ ../configure
$ make -j 5

Followed the Using NOX instructions from the noxrepo.org web site.

$ cd nox/build/src
$ ./nox_core -v -i ptcp:6633

Installed the nox-gui pre-requisites and started nox-gui:

$ sudo apt-get install python-qt4 python-simplejson
???


Attachments (1)

Download all attachments as: .zip