Changes between Version 5 and Version 6 of GAPI_AM_API_ISSUES
- Timestamp:
- 04/27/12 10:26:53 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GAPI_AM_API_ISSUES
v5 v6 15 15 1. Add a state diagram in the [wiki:GAPI_AM_API_V2#SliverStatus SliverStatus] section to indicate that a component starts in {{{configuring}}}, can go from {{{configuring}}} to either {{{ready}}} or {{{failed}}}, and can go from {{{ready}}} to {{{failed}}}. {{{failed}}} is a terminal status. 16 16 * More generally, we need to define the state of the resources before/after each operation. Diagrams help. 17 * See [wiki:GAPI_AM_API_DRAFT#ChangeSetF:SupportAMandresource-typespecificmethods. Change Set F] 17 18 2. No way to modify a reservation at an aggregate for a slice without deleting and recreating it 18 19 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetC:UpdateSliver1 UpdateSliver proposal] 19 20 3. No way to delete or renew part of a reservation at an aggregate separate from other parts 20 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetD:Sliver sandSliverGroups Sliver groupproposal]21 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetD:Sliver-specificoperations Sliver specific operations proposal] 21 22 4. Method names suggest you are operating on slivers, but really you are operating on all slivers at an aggregate in a slice 22 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetD:Sliver sandSliverGroups Sliver groupproposal]23 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetD:Sliver-specificoperations Sliver specific operations proposal] 23 24 5. Tickets 24 25 * Proposal: See the [wiki:GAPI_AM_API_DRAFT#ChangeSetE:Tickets1 Tickets proposal] 25 26 6. Define privileges required for each operation 26 * But see the ABAC proposal 27 * But see the ABAC proposal and DRAFT proposal J 27 28 7. Clarify use of error codes, possibly add more detailed codes 28 29 * Proposal: Add more specific error codes for credential issues, specific bad argument cases … … 70 71 71 72 == !CreateSliver Issues == 73 Note this method gets removed by change sets proposed for version 3. 72 74 1. Define the behavior if you call !CreateSliver twice for the same slice. PG says you return REFUSED. !PlanetLab accepts it though. What about {{{ALREADYEXISTS}}}? 73 75 || `REFUSED` || Slice already exists; must be deleted first (ie you called !CreateSliver twice without a !DeleteSliver in between) || 74 76 * Proposal: {{{ALREADYEXISTS}}} 77 * But see also the new Allocate and Provision methods proposed 75 78 2. Define the behavior if the AM can only give you some of what you requested 76 79 * Proposal: {{{TOOBIG}}}? 77 80 3. Define status of sliver(s) immediately on success of this method (need a diagram?) 81 * See Change Set F 78 82 4. Define how many sliver(s) this creates 83 * See Change Set D 79 84 5. Note there is no way to see the expiration time of your resources 80 85 * Proposal: include in manifest 86 * See instead Change Sets I and M 81 87 6. Point to restrictions on slice names, sliver names? 82 88 * Min 3 characters? 83 89 * Max? 19? More? 84 90 * Only characters in set: {{{'^[a-zA-Z][-\w]+$'}}} ? 91 * See Change Set K 85 92 86 93 == !DeleteSliver Issues == 94 Note this method changes with proposals for version 3. 87 95 1. What is failure (return false) as opposed to an Error? 88 96 * Define status (relative to !SliverStatus or ...) of the sliver(s) after success, failure, or error. Diagram? … … 94 102 95 103 == !SliverStatus Issues == 104 See changes proposed for version 3 which address these. 96 105 1. Are the {{{configuring}}}, {{{ready}}}, etc strings case-sensitive? 97 106 * Proposal: no … … 104 113 1. All resources indicated by the supplied URN should be renewed to the given time, or else the entire call should fail. We don't specify that currently. 105 114 * Proposal: Add that requirement 115 * See `geni_best_effort` 106 116 2. Specify the behavior if you fail to renew and the reservation expires 107 117 * Proposal: AM deletes the reservation, de-allocates the resources. (Required? May?) … … 115 125 1. What is the state of resources after this? Startable? Is there a procedure for this? 116 126 * Proposal: Not restartable, not de-commissioned, not reservable, not accessible by the experimenters 127 * See proposals for version 3 117 128 2. What happens if you call this twice? 118 129 3. What happens if the slice has nothing local? 119 130 4. What does a false return mean? 120 131 * Proposal: Drop that as valid: return true or an error 121