[[PageOutline]] == Project Number == 1621 == Project Title == GENI Experiment Control Using Gush[[BR]] a.k.a. GushProto, GUSH == Technical Contacts == '''PI:''' Jeannie Albrecht [mailto:jeannie@cs.williams.edu] / +1 413 597 4251 [[BR]] Amin Vahdat [mailto:vahdat@cs.ucsd.edu] / +1 858 534 4614 [[Image(IMG_0854.jpg, 33%)]] Jeannie Albrecht working on Gush with undergraduates Danny Huang and Kelsey Levine at Williams College. [[Image(, )]] == Participating Organizations == Williams College [http://www.williams.edu], Williamstown, MA [[BR]] UC San Diego [http://www.ucsd.edu], San Diego, CA [[BR]] == Scope == The scope of work on this project is to design and implement a prototype to build Gush (the GENI User Shell), a robust experiment control and management framework for GENI. The final product of this work is expected to be a fully functional framework that supports experiment control through three user interfaces, including a graphical user interface (GUI), command line interface, and a programmatic interface. This work will include design of an API in Gush for interacting with GENI Clearinghouses. Gush will integrate with GENI Clearinghouse prototypes provided by the control framework developers to test the Gush API and the use of slice interaction functions. Initial work will be with the PlanetLab control framework using XML-RPC communication with the PlanetLab Central Database (PLC). Development will focus on getting the Gush command line and programmatic interfaces working before moving on to the graphical interface, with an emphasis on detailed error reporting that will simplify debugging. [[Image(gush-arch.png, 50%)]] == Current Capabilities == Gush can seamlessly run experiments using PlanetLab, GpENI, MAX, and ProtoGENI resources. ORCA integration is underway. Prof. Albrecht (PI) uses Gush to help undergrads run experiments on PlanetLab in her Distributed Systems class at Williams. The Gush code has been released publicly and is available for download. [wiki:ProvisioningService Raven/Stork] has been integrated into Gush. All of the new Gush code has been committed to the svn repository and there is a new example on the Wiki page (http://gush.cs.williams.edu) that explains how to use Stork/Raven to install software in Gush. NetKarma is also now using Gush. == Milestones == == Spiral 4 == * [[MilestoneDate(GUSH: S4.a Gush at GEC12)]] * [[MilestoneDate(GUSH: S4.b GUSH outreach)]] * [[MilestoneDate(GUSH: S4.c GUSH outreach)]] * [[MilestoneDate(GUSH: S4.d GUSH enhancements)]] == Project Technical Documents == [attachment:"Gush-UserStudy-1.pdf" Gush User Study 1][[BR]] [attachment:"GUSH-userStudy-Fall09.pdf" Gush User Study 2] Gush based course work available from PI upon request. Paper: Jeannie Albrecht and Danny Yuxing Huang. Managing Distributed Applications using Gush. Proceedings of the Sixth International Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities, Testbeds Practices Session (!TridentCom), May 2010. [http://www.cs.williams.edu/~jeannie/papers/tridentcom10.pdf PDF] Website maintained by Williams College: [http://gush.cs.williams.edu/trac/gush Gush] == Software == To check out Gush code out of SVN use "svn co !http://gush.cs.williams.edu/svn/gush/trunk --username guest". Please contact jeannie AT cs DOT williams DOT edu for the password. == Quarterly Status Reports == [attachment:Gush-QSR-dec08.txt 4Q08 Report][[BR]] [attachment:qsr-apr09.txt 1Q09 Report][[BR]] [attachment:geni-jun09.txt 2Q09 Report][[BR]] [attachment:gush-qsr-sep09.txt 3Q09 Report][[BR]] [attachment:qsr-dec09.txt 4Q09 Report] [[BR]] [wiki:gush-qsr-mar10 1Q10 Report] [[BR]] [attachment:geni-jun10.txt 2Q10 Report] [[BR]] [wiki:GUSH-postGEC9-report Post GEC9 Report] [[BR]] [wiki:GUSH-postGEC10-report Post GEC10 Report] [[BR]] [wiki:GUSH-postGEC11-report Post GEC11 Report] [[BR]] [wiki:GUSH-postGEC12-report Post GEC12 Report] [[BR]] [wiki:GUSH-postGEC13-report Post GEC13 Report] [[BR]] [wiki:GUSH-postGEC14-report Post GEC14 Report] == Spiral 1 Connectivity == PlanetLab control framework. For Spiral 1, Gush will be deployed to GENI PlanetLab nodes. Experimenters will download the Gush controller to their workstation from the [http://gush.cs.williams.edu/trac/gush Gush project website]. Gush automatically downloads the client software to the PlanetLab machines in use. There is no GENI requirement for UCSD/Williams connectivity. IP Connectivity: IP connectivity required from GUSH controller (typically user desktops) to PlanetLab machines in slice. IP connectivity required between controller and PlanetLab clearinghouse. IP connectivity required between PlanetLab nodes in experimenter's slice and Gush code repository to download so Gush software if machines don't already have Gush client installed. Layer 2 Connectivity: Gush does not require any layer 2 virtual ethernets. == GEC Presentations == [attachment:geni-gec2.pdf GEC 2 Presentation][[BR]] [attachment:gush-gec3.pdf GEC 3 Presentation][[BR]] [attachment:gush-gec4.pdf GEC 4 Presentation][[BR]] [attachment:gush-gec5.pdf GEC 5 Presentation][[BR]] [attachment:gush-gec7.pdf GEC 7 Presentation] == Spiral 2 Review == [attachment:Gush-Spiral2Review.pdf Spiral 2 review slides] == GPO Liaison System Engineer == [mailto:vthomas@geni.net Vic Thomas] == Related Projects == [wiki:ProvisioningService] [wiki:PlanetLab]