Changes between Version 4 and Version 5 of AaronHelsinger/GAPI_AM_API_DRAFT/MethodSignatures


Ignore:
Timestamp:
04/11/12 14:02:54 (12 years ago)
Author:
Aaron Helsinger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AaronHelsinger/GAPI_AM_API_DRAFT/MethodSignatures

    v4 v5  
    3232Once the experimenter has selected the resources they want and how to configure them, they produce a request RSpec, detailing the resources they want and how they should be configured. They separately contact their slice authority to obtain a slice credential (or set of credentials), granting them rights to reserve resources for that slice. The experimenter then calls `Allocate` on this API, passing in both the slice credential and the request RSpec. The aggregate then attempts to satisfy the experimenter's resource request. If the aggregate can satisfy the request, the aggregate reserves the resources for the experimenter. The resources have not been provisioned yet, giving the experimenter a chance to verify the reservation, or check for corresponding resource availability in another aggregate. If it is acceptable, the experimenter calls `Provision` to set up the resources. The aggregate then starts the process of instantiating the resources and configuring them as requested in the request RSpec. Once that process has started, the `Provision` call returns with a manifest RSpec, listing the resources as reserved and initially configured for the experimenter. 
    3333
    34 The experimenter can then poll the aggregate manager to watch as the resources are configured and become ready for use, by calling `Status` (FIXME: allocation state is geni_provisioned immediately. Is Operational State not yet geni_notready?). Once the resources are ready for use, the experimenter will call  `!PerformOperationalAction(geni_start)` to start the resources (e.g. boot a machine). The experimenter will also call `Renew` to request that their reservation lasts as long as they require the resources for. When the experimenter is done using the resources, they call `Delete` to end their reservation. The aggregate then stops and clears the resources, freeing them for use by other clients.
    35 
    36 Client work flow:
     34The experimenter can then poll the aggregate manager to watch as the resources are configured and become ready for use, by calling `Status`. A given aggregate and sliver type may use a different set of states to indicate that provisioning is complete, and further operational actions are possible - see the AM's Ad RSpec. In many cases, this indication comes with a `geni_operational_state` value of `geni_notready`.  Once the resources are ready for use, the experimenter will typically call  `!PerformOperationalAction(geni_start)` to start the resources (e.g. boot a machine). The experimenter will also call `Renew` to request that their reservation lasts as long as they require the resources for. When the experimenter is done using the resources, they call `Delete` to end their reservation. The aggregate then stops and clears the resources, freeing them for use by other clients.
     35
     36Typical client work flow:
    3737 0. <Experimenter gets a [wiki:GeniApiCertificates GENI certificate] and slice [wiki:GeniApiCredentials credential]>
    3838 1. {{{GetVersion()}}}: learn RSpec formats supported at this aggregate
     
    4545  * Aggregate instantiates resources
    4646  * Return is a manifest RSpec describing the reserved resources, plus any instantiation-specific configuration information
    47  6. {{{Status(<slice URN or sliver URNs>, <slice credential>, {})}}} to check that resources are provisioned
     47 6. {{{Status(<slice URN or sliver URNs>, <slice credential>, {})}}} to check that resources are provisioned (e.g. look for operational state `geni_notready`.
    4848 7. {{{PerformOperationalAction(<slice URN>, <slice credential>, geni_start, {})}}}:
    4949  * Aggregate starts resources