[[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. == 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, and Emulab resources. Prof. Albrecht (PI) plans to have students run experiments on PlanetLab in her Distributed Systems class this semester, and release the code publicly within the next few months. == Milestones == [[MilestoneDate(GUSH: S2.a prototype 0.2)]][[BR]] [[MilestoneDate(GUSH: S2.b Course development)]][[BR]] [[MilestoneDate(GUSH: S2.c Raven integration)]][[BR]] [[MilestoneDate(GUSH: S2.d GUI 0.1)]][[BR]] [[MilestoneDate(GUSH: S2.e support two control frameworks)]][[BR]] [[MilestoneDate(GUSH: S2.f spiral 2 id mgmt)]][[BR]] [[MilestoneDate(GUSH: S2.g 0.3 release)]][[BR]] == Project Technical Documents == [attachment:"Gush-UserStudy-1.pdf" Gush User Study 1] 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] == 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] == GPO Liaison System Engineer == Christopher Small == Related Projects == [wiki:ProvisioningService] [wiki:PlanetLab]