Changes between Version 26 and Version 27 of NewTestbedAPISpec


Ignore:
Timestamp:
Jul 8, 2014 2:32:58 PM (10 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewTestbedAPISpec

    v26 v27  
    33= DETER Testbed API =
    44
    5 The DETER testbed API is broken up into 5 services, each covering one of the major abstractions that the testbed exports.  The services are:
    6 
     5The DETER testbed API is broken up into services, each covering one of the major abstractions that the testbed exports.  The services are:
     6
     7 * Admin
    78 * ApiInfo
    89 * Users
    910 * Projects
    10  * Resrources
     11 * Resources
    1112 * Experiments
     13 * Libraries
    1214
    1315We discuss each in detail and provide links to the detailed javadoc of the implementation, where applicable and available.
     
    3032   * internal - internal server error
    3133   * password - user has an expired password that must be changed
     34   * login - user is not logged in for a call that requires a valid login.
    3235 * ErrorString - a string describing the broad error
    3336 * DetailString - a string describing the details that caused the error
     
    3639
    3740[http://www.isi.edu/~faber/tmp/DeterAPI/doc/net/deterlab/testbed/api/DeterFault.html javadoc for DeterFault]
     41
    3842
    3943== ApiInfo ==
     
    11571161After {{{releaseExperiment}}} succeeds, experiment state remains in the testbed, but containers are stopped and resources are returned to the testbed.
    11581162
     1163== Admin ==
     1164
     1165The Admin service allows testbed administrators to manipulate the implementation internals and to initialize the testbed.  Most users will use this interface.  This section is provided out of order for completeness.
     1166
     1167[http://www.isi.edu/~faber/tmp/DeterAPI/doc/net/deterlab/testbed/api/Admin.html javadocs for Admin]
     1168
     1169The various permissions described in this document are also installed in the implementation's database.  It is possible to add new permissions while the system is running using the addPermission call.  The name of a permission is a string (scoped by the object).  Objects include circle, library, experiment, and project.
     1170
     1171 * '''Service:''' Admin
     1172 * '''Operation:''' addPermission
     1173 * '''Input Parameters:'''
     1174   * name - the name of the permission to add (string)
     1175   * object - the object type for which it is valid (string)
     1176 * '''Return Values:'''
     1177   * a boolean, true if successful
     1178
     1179
     1180The bootstrap call initializes an empty system and adds a user with full administrative power.  This only works if no admin project exists and no '''deterboss''' user exists.  It also creates a regression project for testing.  It returns the userid and password of the new admin user (always deterboss).
     1181
     1182 * '''Service:''' Admin
     1183 * '''Operation:''' bootstrap
     1184 * '''Input Parameters:'''
     1185   * none
     1186 * '''Return Values:'''
     1187   * bootstrap user (string)
     1188   * bootstrap password (string)
     1189
     1190The clearCredentialCache() call removes any cached credentials from the system.
     1191
     1192 * '''Service:''' Admin
     1193 * '''Operation:''' clearCredentialCache
     1194 * '''Input Parameters:'''
     1195   * none
     1196 * '''Return Values:'''
     1197   * true on success
     1198
     1199There are simple timers inserted in the code at times.  One can access their values and reset them using:
     1200
     1201 * '''Service:''' Admin
     1202 * '''Operation:''' getTimerValues
     1203 * '''Input Parameters:'''
     1204   * a list of timer names (may be empty)
     1205 * '''Return Values:'''
     1206   * A list of pairs of
     1207    * timer name (string)
     1208    * timer total (64-bit integer) elapsed time since started
     1209
     1210 * '''Service:''' Admin
     1211 * '''Operation:''' removeTimers
     1212 * '''Input Parameters:'''
     1213   * a list of timer names (may be empty)
     1214 * '''Return Values:'''
     1215   * true on success
     1216
     1217If the policy databases have changed, administrators can reset the underlying policy and credential database using
     1218
     1219 * '''Service:''' Admin
     1220 * '''Operation:''' resetAccessControl
     1221 * '''Input Parameters:'''
     1222   * none
     1223 * '''Return Values:'''
     1224   * true on success
     1225
     1226This can be a time-consuming operation.
     1227
     1228
    11591229== Resources ==
    11601230