140 likes | 299 Views
GENI Aggregate Manager API. Tom Mitchell March 18, 2010. GENI Aggregate Manager Spiral 2 Goals. Allow GENI Aggregates to affiliate with GENI control frameworks through a common API
E N D
GENI Aggregate Manager API Tom Mitchell March 18, 2010
GENI Aggregate Manager Spiral 2 Goals • Allow GENI Aggregates to affiliate with GENI control frameworks through a common API • Enable researcher access to conforming GENI Aggregates through two existing control frameworks: PlanetLab and ProtoGENI • Integration with other GENI control frameworks will occur in Spiral 3 • Implement three kinds of GENI Aggregate Managers: PlanetLab nodes, ProtoGENI clusters and OpenFlow switches • Demonstrate a Slice containing PlanetLab, ProtoGENI, and OpenFlow resources at GEC 9
What is an Aggregate? • An aggregate is a set of managed resources (computers, virtual machines, wireless devices, network switches, VLANs, tunnels, etc.) • An aggregate affiliates with a control framework • An aggregate participates in a web of trust
What is a Control Framework? • A Control Framework consists of a Registry and a Slice Authority • Control Frameworks are trust anchors • Both PlanetLab and ProtoGENI are examples of GENI Control Frameworks • PlanetLab and ProtoGENI Control Frameworks will support GENI Aggregates • Spiral 2 Goal: GENI Aggregates will be able to affiliate with either the PlanetLab Control Framework or the ProtoGENI Control Framework or both
What is a Client? • A client is a researcher tool • A client provides access to a Control Framework, and thus to a set of Aggregates • A client helps a researcher configure, start, monitor and stop a slice • Example clients include GUSH, sfi, and the ProtoGENI flash client
What are Slivers and Slices? • A Sliver is a set of resources allocated to a slice on a single aggregate • A Slice is a set of slivers running on a set of aggregates
GENI Control Framework Overview Client Control Framework Aggregate Aggregate Aggregate
GENI Control Framework: Slivers Client Control Framework = sliver Aggregate Aggregate Aggregate
Aggregate / Control Framework Operations Control Framework GetVersion Resolve GetVersion Shutdown Aggregate
Client / Aggregate Operations Client GetVersion ListResources CreateSliver DeleteSliver SliverStatus RenewSliver Shutdown Aggregate
Client / Control Framework Communications Client Control Framework • In Spiral 2: • Clients use an API that is specific to a Control Framework • Clients create new slices via the Control Framework • Clients receive slice credentials from the Control Framework
Things this API is not addressing • RSPECs • The API is intentionally agnostic to RSPECs • This puts extra burden on clients to understand a heterogeneous set • Stitching • The API is intentionally agnostic to stitching • The API is intended to allow experimentation with stitching approaches • Scheduling • Time is buried in RSPECs • No reservations • Anticipated in a future revision
Where are we? • Draft API published • http://groups.geni.net/geni/wiki/GAPI_AM_API • http://groups.geni.net/geni/wiki/GAPI_CH_API • Gathering comments and feedback now • Implementation phase expected between GEC 7 and GEC 8 • Demonstration at GEC 9 • News and updates via Control Framework Working Group mailing list
Summary • This is not the final API • The API is intentionally minimal • This is a starting point for adding required capabilities • We expect the API to grow and change over time