Changes between Version 3 and Version 4 of GEC12CodingSprint

11/04/11 17:35:32 (10 years ago)
Aaron Helsinger



  • GEC12CodingSprint

    v3 v4  
    4444=== Coding Sprint for Developers Summary ===
    4545  This session discussed changes to the AM API, as listed in the attached slides. The outcome of this meeting was to approve and finalize changes in AM API version 2. Details of AM API version 2 will be published to the GENI wiki and on the GENI developer mailing list. For details on the AM API changes, see the [wiki:GEC12GeniAmAPI AM API session page]
     47 * AM API version 2 will be change set A and B as documented [wiki:GAPI_AM_API_DRAFT on the GENI wiki] as it has now been edited.
     48 * ProtoGENI, SFA, and FOAM will be updated to support API version 2 within weeks.
     49 * We will discuss other API changes via email and periodic phone calls, no later than November 16th protoGENI cluster call.
     50 * We adopted Nick Bastin's proposal to make the return code (part of change set B part 2) be an XMLRPC struct:
     52code {
     53  geni_code: XMLRPC integer, registered in an XML document off the GENI AM API page
     54  am_type: [optional] XMLRPC string, case insensitive, types in a registry (XML document) linked off the GENI AM API page
     55  am_code: [optional] XMLRPC integer
     59The am_type and code are extra fields an aggregate may supply to further specify the nature of the error (or success).
     61 * geni_code values will initially be a set of 18 values, as proposed by ProtoGENI
     62 * Aggregate specific error codes must be documented - we did not specify how.
     63 * Aggregates are required to document in human-readable form any new options or return values that they support. The API will not specify how they are documented.
     64 * Aggregates may support multiple versions of the API by using separate URLs.
     65 * !GetVersion adds a new member (part of the new {{{value}}} return) for indicating which versions of the API are supported at what URLs:
     67geni_api_versions: {
     68  1: <URL>,
     69  2: <URL>,
     70   ...
     73 * Modifying change set A:
     74  * Remove the {{{default_ad_rspec}}} return from !GetVersion
     75  * Make the {{{rspec_version}}} argument to !ListResources required
     76  * Rename {{{ad_rspec_versions}}} as {{{geni_ad_rspec_versions}}}
     77  * Rename {{{request_rspec_versions}}} as {{{geni_request_rspec_versions}}}