Changes between Version 4 and Version 5 of DRAFT_GAPI_AM_API_ISSUES


Ignore:
Timestamp:
12/12/11 10:38:31 (12 years ago)
Author:
Aaron Helsinger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DRAFT_GAPI_AM_API_ISSUES

    v4 v5  
    5959
    6060== !ListResources Issues ==
    61  * Since v1 we have said that if there are no resources attached to this slice at the aggregate, an empty RSpec should be returned. Do all AMs do this?
    62  * PG uses BADARGS instead of BADVERSION. OK?
     61 1. Since v1 we have said that if there are no resources attached to this slice at the aggregate, an empty RSpec should be returned. Do all AMs do this?
     62  * Or should we change this to use an error code, more clearly distinguishing between errors, successfully reserving nothing, etc?
     63 2. PG uses BADARGS instead of BADVERSION. OK?
    6364  * Proposal: Change to {{{BADVERSION}}}
    64  * PG does not use BUSY, SERVERERROR, UNAVAILABLE, EXPIRED - OK?
     65 3. PG does not use BUSY, SERVERERROR, UNAVAILABLE, EXPIRED - OK?
    6566  * Proposal: probably - up to them
    6667
    6768== !CreateSliver Issues ==
    68  * Define the behavior if you call !CreateSliver twice for the same slice. PG says you return REFUSED. !PlanetLab accepts it though. What about {{{ALREADYEXISTS}}}?
     69 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}}}?
    6970|| `REFUSED`       || Slice already exists; must be deleted first (ie you called !CreateSliver twice without a !DeleteSliver in between) ||
    7071  * Proposal: {{{ALREADYEXISTS}}}
    71  * Define the behavior if the AM can only give you some of what you requested
     72 2. Define the behavior if the AM can only give you some of what you requested
    7273  * Proposal: {{{TOOBIG}}}?
    73  * Define status of sliver(s) immediately on success of this method (need a diagram?)
    74  * Define how many sliver(s) this creates
    75  * Note there is no way to see the expiration time of your resources
     74 3. Define status of sliver(s) immediately on success of this method (need a diagram?)
     75 4. Define how many sliver(s) this creates
     76 5. Note there is no way to see the expiration time of your resources
    7677  * Proposal: include in manifest
    77  * Point to restrictions on slice names, sliver names?
     78 6. Point to restrictions on slice names, sliver names?
     79  * Min 3 characters?
     80  * Max? 19? More?
     81  * Only characters in set: {{{'^[a-zA-Z][-\w]+$'}}} ?
    7882
    7983== !DeleteSliver Issues ==
    80  * What is failure (return false) as opposed to an Error?
     84 1. What is failure (return false) as opposed to an Error?
    8185  * Define status (relative to !SliverStatus or ...) of the sliver(s) after success, failure, or error. Diagram?
    82  * What happens to resources if your credential expires? Does the AM delete them for you?
     86  * Proposal: get rid of the false return - it should be true or error
     87 2. What happens to resources if your credential expires? Does the AM delete them for you?
     88  * Proposal: AM deletes them for you - de-allocates the resources. (Required? Or may?)
    8389
    8490== !SliverStatus Issues ==
    85  * Are the {{{configuring}}}, {{{ready}}}, etc strings case-sensitive?
     91 1. Are the {{{configuring}}}, {{{ready}}}, etc strings case-sensitive?
    8692  * Proposal: no
    87  * Further specify what kinds of things go in specific {{{geni_resources}}} vs the whole
    88  * Further specify what kinds of things this method might optionally additionally include and still be consistent with the intent
    89  * Document the convention on specifying expiration time: should it be required?
     93 2. Further specify what kinds of things go in specific {{{geni_resources}}} vs the whole
     94 3. Further specify what kinds of things this method might optionally additionally include and still be consistent with the intent
     95 4. Document the convention on specifying expiration time: should it be required?
    9096  * Proposal: Yes
    9197
    9298== !RenewSliver Issues ==
    93  * 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.
     99 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.
    94100  * Proposal: Add that requirement
    95  * Specify the behavior if you fail to renew and the reservation expires
    96  * Specify the behavior if you try to renew past the life of your credential(s).
     101 2. Specify the behavior if you fail to renew and the reservation expires
     102  * Proposal: AM deletes the reservation, de-allocates the resources. (Required? May?)
     103 3. Specify the behavior if you try to renew past the life of your credential(s).
    97104  * Proposal: Fails with {{{OUTOFRANGE}}}
    98  * Specify the behavior if there are no local resources in that slice
    99  * Is it legal to try to 'renew' your sliver until earlier than the previous expiration time, shortening your reservation? Some aggregates at least allow this now.
     105 4. Specify the behavior if there are no local resources in that slice
     106 5. Is it legal to try to 'renew' your sliver until earlier than the previous expiration time, shortening your reservation? Some aggregates at least allow this now.
     107  * Proposal: This is legal. Aggregates should support this, but that support is not required.
    100108
    101109== Shutdown Issues ==
    102  * What is the state of resources after this? Startable? Is there a procedure for this?
     110 1. What is the state of resources after this? Startable? Is there a procedure for this?
    103111  * Proposal: Not restartable, not de-commissioned, not reservable, not accessible by the experimenters
    104  * What happens if you call this twice?
    105  * What happens if the slice has nothing local?
     112 2. What happens if you call this twice?
     113 3. What happens if the slice has nothing local?
     114 4. What does a false return mean?
     115  * Proposal: Drop that as valid: return true or an error
    106116
     117