| 1163 | == Admin == |
| 1164 | |
| 1165 | The 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 | |
| 1169 | The 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 | |
| 1180 | The 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 | |
| 1190 | The 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 | |
| 1199 | There 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 | |
| 1217 | If 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 | |
| 1226 | This can be a time-consuming operation. |
| 1227 | |
| 1228 | |