wiki:GEC16Agenda/CodingSprint

Version 7 (modified by mbrinn@bbn.com, 6 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.

Schedule

Thursday, 2:30pm - 5:30pm

Session Leaders

Developers: Sarah Edwards, Aaron Helsinger, GENI Project Office

Experimenters: Niky Riga, 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 will be selected well in advance of the conference, based on need and key party availability. Likely topics this time include stitching, achieving a common user experience across aggregates, supporting common GENI services, and other topics that arise at the Aggregate Developers' Topics session.

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.

Developers Coding Sprint Topics

The actual topics will be dictated by the people in the room and their concerns, but we anticipate discussing topics first raised at the Aggregate Developers' Topics session. Expected topics include:

  1. Stitching
  2. Uniform Experimenter Environment (continued from the previous session)
  3. AM API: changes and closing date for version 4
  4. RSpec schema changes
  5. Secure and Uniform Tool and Service Authentication and Authorization
  6. Other topics introduced by the community

Summary

As usual, the coding sprint session was well attended, and included multiple useful parallel conversations. Several experimenters received hands on assistance with tutorials or research. Some side conversations furthered monitoring of racks. And at least one operator received assistance with a FOAM aggregate installation. Meanwhile at the front of the room, a group of aggregate and framework developers discussed several topics. First, the group continued the discussion of a Uniform Experimenter Environment. Some side conversations dived into details of stitching, the stitching schema, and aggregates to control dynamic circuit networks. The bulk of the discussion focussed on establishing common API's for different Slice Authorities (SA) and Clearinghouses (CH) and Identity Providers (IDP) that may be available and trusted within a given clearinghouse. This conversation included representatives from Fed4Fire, ProtoGENI, ExoGENI, ISI, the GPO, and others.

Some background:

  • An Identity Provider (IDP) is an entity that creates user credentials and asserts and manages user attributes.
  • A Slice Authority (SA) is an entity that creates slice credentials that provide authorization from a trusted source that a given user is entitled to allocate resources for a given slice.
  • A Clearinghouse provides directory services to point to any authorities or other services that are trusted and supported by the federation associated with that clearinghouse. This includes recognized SA's and AM's (aggregate managers).
  • The GENI federation contains its own services and resources but also services and resources provided by other partner federations, which may contain their own SA's and IDPs. Thus GENI may have multiple SA's, CH's and AM's. Conversely, a CH, SA or AM may belong to multiple federations.
  • Specifically, GENI currently supports at least three different SA's (PG, GPO and PL) and three different IDP's (also PG, GPO and PL). The SA's all provide different API's, though they generate slice credentials that are common and interoperating. The IDP's generate compatible user credentials as well

With an eye towards Solicitation 4 tool developers, the participants in the session agreed that it was desirable for there to be a set of common federation-level API's that enable a tool developer to speak to a list of SA's or CH's in a common manner. We decided not to try to standardize IDP API's as these operations (creating users and ascribing attributes) are largely out-of-band operations. We agreed in principle to a common SA and CH API that would resemble the AM API in that it will contain lists of credentials and return [code, error, value] tuples and speak XML/RPC over SSL. The details of the API calls are still TBD: GPO took an action to provide a proposal in the near future.