wiki:GIR3.2_GushProto

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

--

GUSH Evaluation

GENI User Shell (GUSH) provides an execution management system that allows users to describe an experiment that the GUSH tool uses to locate, and prepare resources. The GUSH software can be checked out from the GUSH SVN Repository using username guest and password is provided out of band. This GUSH evaluation started with the existing check out of the tools and updated to Software revision 159.

Evaluation Time Frame: September 21, 2011

Gush Findings

Attempts to start the GUSH server failed with PlanetLab resources results with the gush process crashing. Attempts to start the GUSH server with Protogeni resources fails. Attempts to start the Nebula client failed with a java exception. Waiting on responses from Jeannie Albrecht.

Gush How-to

Using and existing GUSH install at revision 142 updated to the latest revision 159:

 $ cd gush/trunk; svn update
 $ make clean
 (cd api && make clean)
 make[1]: Entering directory `/home/lnevers/gush/trunk/api'
 rm -f *.o libgushapi.a api-test
 make[1]: Leaving directory `/home/lnevers/gush/trunk/api'
 rm -f gush client gush-source.tar gush-bin.tar *.o \
        terminal_parser.c terminal_parser.h terminal_lexer.c terminal_lexer.log
 $ make all
 <<< lots of output deleted>>

Gush configuration The configuration for each aggregate is manual and there is some naming inconsistencies which can cause problems. Following is a table which maps the directory.xml setting to the omni settings for each supported aggregate:

Aggregate Name (directory.xml) resource_manager type ( handle-geni.py) framework (-f) ( handle-geni.py) AGGREGATE_URL (-a) omni_config aggregate type
PlanetLab "geni-plc" plc http://www.planet-lab.org:12346 sfa
Emulab "geni-pg" pg https://www.emulab.net/protogeni/xmlrpc/am pg

Coordinating these across configurations and commands is important to get gush working.

First evaluated PlanetLab features. Using the following configuration files:

directory.xml:

<?xml version="1.0" encoding="UTF-8"?>
<gush>
    <resource_manager type="geni-plc">
      <port_map slice="bbn_gusheval" port="61414"/>
    </resource_manager>
</gush>

omni_config:

[omni]
users = lnevers

[plc]
type=sfa
authority=plc.bbn
user=plc.bbn.lnevers
cert=~/.gcf/plc.bbn.lnevers.gid
key=~/.gcf/lnevers.pkey
registry=http://www.planet-lab.org:12345
slicemgr=http://www.planet-lab.org:12347

[lnevers]
urn = urn:publicid:IDN+emulab.net+user+lnevers
keys=~/.ssh/id_rsa.pub

Started the gush tool:

 $ ./gush -P 15555
 gush> Gush has learned about the slice bbn_gusheval.

PG attempt here...

Attempts to start the Nebula client failed with a java exception. Waiting on Response from Jeannie Albrecht.

$ cd nebula
$ sh ./run
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jogl_drihack in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)
        at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101)
        at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47)
        at com.sun.opengl.impl.NativeLibLoader$3.run(NativeLibLoader.java:141)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.opengl.impl.NativeLibLoader.loadDRIHack(NativeLibLoader.java:139)
        at com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:105)
        at com.sun.opengl.impl.x11.X11GLDrawableFactory.<clinit>(X11GLDrawableFactory.java:67)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:75)
        at nebula.NebulaApp.createAndShowGUIpriv(NebulaApp.java:319)
        at nebula.NebulaApp$1.run(NebulaApp.java:304)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Email us with any questions and feedback on this page!

Attachments (9)

Download all attachments as: .zip