Changes between Version 123 and Version 124 of GAPI_AM_API_DRAFT

03/31/14 16:07:44 (10 years ago)
Aaron Helsinger




    v123 v124  
    356356 5. From the return of multiple methods, `geni_operational_status`: alphanumeric plus underscore; alphanumeric only in first character: `'^[a-zA-Z0-9][a-zA-Z0-9_]*$'`
    358 === Deferred: Change Set O3: Allow unicode values ===
    359 Many values defined by this API appear to be limited to ASCII characters - both arguments and returns. We would like to support internationalization. Some values in this API (e.g. those defined as URLs) implicitly support unicode. Currently, a well behaved aggregate should be able to handle unicode values in at least some arguments. Similarly, a well behaved client should be able to handle unicode returns.
    361 ''This change set was discussed and deferred at GEC19''. We do not yet have sufficient motivation, and there are questions about this proposal.
    363 This change would clarify the support for internationalization in this API, and allow aggregates to specify unicode support. This change should not require any clients or aggregates to make changes. This change would specify:
    365   Aggregates are encouraged to support non-ASCII letters as input. Clients are encouraged to support non-ASCII returns from aggregates. However, this change set does not require that either aggregates or clients support non-ASCII strings, and aggregates should not require clients to accept non-ASCII results where the API does not explicitly require it.
    367 This change would allow an aggregate to explicitly specify that arguments may be unicode, and returns may be unicode if the content demands it. By default, aggregates are expected to use the ASCII only regular expressions that the rest of this API specification uses, and to limit returns to ASCII characters where possible. This change would add an optional return from `GetVersion` that allows an aggregate to specify that unicode arguments are acceptable (ASCII strings must still be accepted), and that all returns may be unicode. When the aggregate specifies this option, it shall still attempt to support ASCII inputs to allow clients to operate only in ASCII where possible.
    369 Specifically, this change adds `geni_unicode_compliant` to the return from `GetVersion`.
    370  - This field is optional.
    371  - Default is `false`. All strings specified in this API are to be treated as ASCII unless otherwise specified, (e.g. the format explicitly references a standard that supports unicode). This includes both arguments and returns.
    372  - When `true`, all strings specified in this API may be unicode. In particular, regular expressions that limit to ASCII characters shall be interpreted to include the unicode equivalents. The aggregate will still accept ASCII input. Returns will remain ASCII where the API defines ASCII constants or content allows it.
    374358== Change Set P: Support proxy clients that 'Speak For' an experimenter ==
    740724This proposal does not specify how aggregates manage local disk space or might limit the number of disk images a particular experimenter or project can have. Importing a disk image therefore might fail due to local AM policy. Additionally, disk images might 'expire' at certain aggregates. This proposal does not specify this one way or another.
    742 == Declined: No Reservation Allocate ==
    743 Tools should be able to do complex topology embedding to figure out where a particular request can be instantiated. Aggregates know best what they can do. This proposal provides a cheap way to ask "could you satisfy this request, and if so what would I get?"
    745 This proposal is ''declined'': `Allocate` itself is pretty cheap.
    747  - Add a new option to `Allocate` named `geni_no_reservation`. If supplied with a non-empty value (not null or an empty string), the request is not asking for the resources to actually be reserved. Instead, the aggregate should calculate what it ''would'' reserve, and return the usual `allocate` return structure, but without actually making the reservation. As such, `geni_expires` should be set to the current time, and the status should remain `geni_unallocated`, and the `geni_sliver_urn` element should be empty (no sliver is created or assigned). Since there is no sliver URN, no calls to other methods should return any information on this sliver.
    749726== Change Set W: Rename fields to drop `geni` prefix ==
    848825 - ''Withdrawn'': [wiki:GAPI_AM_API_DRAFT/Archive#Withdrawn:ChangeSetJ Change Set J]: Support proxy aggregates with 1 new option and 1 new !GetVersion entry
    849826 - ''Postponed'': [wiki:GAPI_AM_API_DRAFT/Archive#ChangeSetL:ChangeSFAcredentialsprivileges Change Set L]: Standardize slice credential privileges
     827 - [wiki:GAPI_AM_API_DRAFT/Archive#Deferred:ChangeSetO3:Allowunicodevalues Change Set O3]: Allow unicode values
     828 - [wiki:GAPI_AM_API_DRAFT/Archive#Declined:NoReservationAllocate No Reservation Allocate]
    851830== Unspecified items ==