Version 8 (modified by Aaron Helsinger, 8 years ago) (diff)


Coding Sprint, Experimenter Tutoring and Operations Hands-On

The joint software coding sprint, experimenter tutoring session, and operations hands-on-with-GENI session is an informal session where aggregate and tool developers will discuss software details, experimenters will run though GENI tutorials or ask questions of the GPO for help running experiments, and GPO operations staff will help site ops/admins folks with anything they're interested in.


Tuesday, 1:00pm - 3:30pm

Session Leaders

Developers Experimenters Operations
Aaron Helsinger
Sarah Edwards
Niky Riga
Josh Smift

If you have any questions or comments before/after the tutorial, please find one of us!

Developers: Aaron Helsinger, GENI Project Office

Experimenters: Niky Riga, Sarah Edwards, GENI Project Office

Operations: Josh Smift, GENI Project Office

Agenda / Details

This software development session provides an opportunity for GENI engineers to collaborate in real time on a particular software or documentation issue. The topic(s) will be selected well in advance of the conference, based on need and key party availability. Expected topics include:

  • Planning the roll out of Speaks For to aggregates, tools, and clearinghouses
  • An update on the state of the Clearinghouse API and implementations
  • geni-get: implementation status and standardization efforts
  • Renew for as long as possible at aggregates: See the AM API change proposal
  • Updates on topics raised at the GEC 17 coding sprint, like long lived slices and updating SSH keys on nodes
  • Other topics that come up during the GEC or that participants in the room want to discuss

The GPO will also hold a tutoring session for GENI experimenters, where experimenters can come and work on various online GENI tutorials. The list of available tutorials will be advertised in advance of the GEC. The GPO will answer questions and provide assistance. Experimenters with an idea they want to work on are encouraged to come do so in the same room, so that they can have support from the on site GPO staff and other experimenters.

GPO operations staff will also be available to help GENI ops/admin folks who'd like a hand getting set up with GENI credentials, the Omni command-line tool, etc. This can be useful if you're running a GENI aggregate, so you can create a slice and some slivers, and test for yourself whether the aggregate manager is working like you expect. We'll also be happy to discuss any other topics of interest to the ops/admin community.

Session Summary

At the joint Coding Sprint, Experimenter Tutoring and Operations Hands-On session, each of the three groups had productive discussions.

There were several experimenters who came to the session for one on one help running exercises from the tutorials. Operators worked out some issues with reporting monitoring data. And developers worked through a handful of issues to provide added functionality for experimenters.

Overall, developers agreed to:

  • Post a specification for the geni-get tool that lets you get slice information from inside a node. ProtoGENI implements this, and ExoGENI will look at implementing this. If there are ProtoGENI images missing the latest geni-get client, contact protogeni-developers.
  • Ilya agreed to implement the new PerformOperationalAction action for updating installed SSH keys by GEC 19, as documented and already implemented at ProtoGENI. Note that the proposal allows implementing PerformOperationalAction as part of an AM API v2 aggregate.
  • ProtoGENI agreed to implement PerformOperationalActions to make an existing LAN shared and then make it not shared later. This would be used to let an experimenter add a node to an existing slice. It could also be used to connect two slices. They will define some semantics.
  • Ilya described the 'stitch port' concept in Orca that allows connecting to any interface in their defined (advertised) topology. It could be used to connect 2 stitch ports, or 2 slices. Rob described a similar model in ProtoGENI, using a node (say, 'ION'), that might have multiple interfaces. Then you can connect to arbitrary interfaces as well. Xi notes that this does not need to be involved with the stitching extension or the SCS. We will follow up via email on representing this in RSpecs in a consistent way.
  • Common OS images: Rob and Ilya agreed to pick a single OS version for which they will continue to support an image and make that the default image. This is likely to be Ubuntu 12.04. The next action is for Rob to pick an OS from a list sent by Ilya. Additionally, Rob described an Emulab website interface for converting an Openstack image into a ProtoGENI XEN image. Rob will send a pointer to Ezra and Mike for them to try using an ExoGENI image, and then fix any issues they discover.
  • Niky raised a question of how the developer community (including tools, aggregates, clearinghouses) can support experimenters as a group, and get experimenters to support each other. We agreed to support a Google groups mailing list (which is better indexed for searching than a regular mailing list). Additionally, the GPO experimenter support group will investigate deploying a GENI Stackoverflow equivalent.
  • Niky noted that supporting long lived slices remains difficult. Leigh noted that in the end, this is a per aggregate policy. Niky noted she wants the permission to apply to all members of a slice. We discussed using credential delegation, special credentials, and overall policies. We tentatively agreed that Slice Authorities could issue slice credentials that include a special privilege. Then aggregates can choose (or not) to honor that credential in a call to Renew or RenewSliver. We will follow up via email on the name of this privilege, whether this is a 2nd slice credential or the only slice credential, and on possible Slice Authority APIs for requesting and retrieving these credentials.
  • We also discussed a new option to Renew and RenewSliver to let experimenters request their renewal to go as long as possible, even if local policy does not allow renewal to the requested time. This proposal is posted on the GENI wiki, and was adopted. Additionally, the developers of the ProtoGENI/InstaGENI, ION/MAX, Orca/ExoGENI and FOAM aggregates agreed to implement this change.
  • Marshall described the planned roll out of the Uniform Federation API. The GENI Clearinghouse will be using/supporting this in the next couple months. ProtoGENI will also be implementing and supporting this API. Omni will be able to also contact any Clearinghouse supporting this API. Fed4Fire and Ofelia have also been involved in developing and testing this API.
  • Speaks For: We agreed that the format of the speaks for credential will be ABAC on the wire. The GPO and ProtoGENI Clearinghouses will use ABAC. GPO will provide a library for parsing the speaks for credential without invoking libabac. The Speaks For signing tool will support this format by the end of November. GCF will support this by the end of November (in a pre-release form). The ION/MAX aggregate depends on SFA for credential handling. GPO will supply Tony Mack with python code for handling the ABAC speaks for credential. Ilya says he will try to support this by the next GEC (with a long list of caveats). We will aim for mid February, in hopes this can work at a tutorial. The GENI Portal will use Speaks For in this time frame as well.