= 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:'' {{{ }}} ''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.(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.(GLCanvas.java:113) at javax.media.opengl.GLCanvas.(GLCanvas.java:82) at javax.media.opengl.GLCanvas.(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) }}} -------------- {{{ #!html Email us with any questions and feedback on this page! }}}