119 | | # three-level name accesses the testbed, the fedd project will be given access to the restricted node type |
120 | | # rpc_3000. Requesters with Deter as the project will be unable to successfully request access to such nodes. |
121 | | (fedid:ce90957dd5b7d20f9c3890c4599313b7f1cf31ea, Deter, <any>) -> (Federation, fedd, <same>) |
122 | | (fedid:ce90957dd5b7d20f9c3890c4599313b7f1cf31ea, emulab-ops, <any>) -> (Federation, fedd:rpc_3000, <same>) |
123 | | |
124 | | }}} |
125 | | |
126 | | == Dynamic Keying with Distributed Operation on Users and Boss == |
| 97 | # three-level name accesses the testbed, the fedd project will be used. |
| 98 | (fedid:ce90957dd5b7d20f9c3890c4599313b7f1cf31ea, Deter, <any>) -> access, (Federation, fedd, <same>) |
| 99 | (fedid:ce90957dd5b7d20f9c3890c4599313b7f1cf31ea, emulab-ops, <any>) -> access, (Federation, fedd, <same>) |
| 100 | |
| 101 | }}} |
| 102 | |
| 103 | === Dynamic Keying with Distributed Operation on Users and Boss === |
225 | | == Dynamic Keying with Distributed Operation on Users and Boss and Experiment Control on Users == |
226 | | |
227 | | Extending the previous configuration to also provide facilities for creating and managing federated experiments as well as allowing others to use this testbed's resources requires expanding the main configuration on users and adding a couple more databases. |
228 | | |
229 | | Specifically the `users` configuration becomes: |
230 | | |
231 | | {{{ |
232 | | [globals] |
233 | | # Identify this fedd by the fedid encoded as a certificate file (user file protections to protect it) |
234 | | cert_file: /usr/local/etc/fedd/fedd.pem |
235 | | # Provide service on port 23235 |
236 | | services: 23235 |
237 | | |
238 | | [access] |
239 | | # Keep access state (which experiments are live) in this file |
240 | | # Be sure it is writeable by the fedd user |
241 | | access_state: /var/db/fedd/deter_access.state |
242 | | |
243 | | # Parameters for remote fedds to instantiate experiments |
244 | | boss: boss |
245 | | ops: users |
246 | | domain: .isi.deterlab.net |
247 | | fileserver: fs |
248 | | eventserver: event-server |
249 | | |
250 | | # This machine's URI to discriminate proxy requests (NB: this runs on users) |
251 | | testbed: https://users.isi.deterlab.net:23235 |
252 | | |
253 | | # The database that maps requester to local access projects (shown below) |
254 | | accessdb: /usr/local/etc/fedd/deter_access |
255 | | |
256 | | [allocate] |
257 | | # Contact boss for allocations |
258 | | uri: https://boss.ucb.deterlab.net:23235 |
259 | | |
260 | | [experiment_control] |
261 | | # Keys used to access the experiment creation testbed user account (may be installed |
262 | | # by that testbed's fedd) |
263 | | ssh_pubkey_file: /usr/local/etc/fedd/fedd_rsa.pub |
264 | | ssh_privkey_file: /usr/local/etc/fedd/fedd_rsa |
265 | | |
266 | | # Save experiment control state in case of loss of the process or machine |
267 | | experiment_state_file: ./deter.state |
268 | | |
269 | | # Which users can create experiments (see below) |
270 | | accessdb: /users/faber/fedd/exp_access_db |
271 | | |
272 | | # How users name testbeds |
273 | | mapdb: /users/faber/fedd/exp_map_db |
274 | | |
275 | | # Standard experiment instantiation software |
276 | | fedkit: /usr/local/etc/fedd/fedkit.tgz |
277 | | |
278 | | }}} |
279 | | |
280 | | The [FeddDatabases#ExperimentControlComponentAccessDB experiment control accessDB] in `/users/faber/fedd/exp_access_db` would look like: |
281 | | |
282 | | {{{ |
283 | | # bwilson |
284 | | fedid:5bf3384e2cefca6ba8718958e488fe8bcbf1da2c->bwilson |
285 | | fedid:5bf3384e2cefca6ba8718958e488fe8bcbf1da2c->(ddos,bwilson) |
286 | | # jhickey |
287 | | fedid:29f0436dac012086ca50fe31afb7d746268aefce->jhickey |
288 | | fedid:29f0436dac012086ca50fe31afb7d746268aefce->(emulab-ops,jhickey) |
289 | | fedid:29f0436dac012086ca50fe31afb7d746268aefce->(routing,jhickey) |
290 | | fedid:29f0436dac012086ca50fe31afb7d746268aefce->(worm,jhickey) |
291 | | }}} |
292 | | |
293 | | and the [FeddDatabases#ExperimentNameMappingDB name mapping DB] in `/users/faber/fedd/exp_map_db` would look like: |
294 | | |
295 | | {{{ |
296 | | deter:https://users.isi.deterlab.net:23235 |
297 | | ucb:https://users.ucb.deterlab.net:23235 |
298 | | }}} |
299 | | |
300 | | Other files on `users` and all files on `boss` would be unchanged from the previous configuration. |
301 | | |
| 189 | |
| 190 | == ProtoGENI Configuration == |
| 191 | |
| 192 | |
| 193 | Basic ProtoGENI configuration |
| 194 | |
| 195 | {{{ |
| 196 | [DEFAULT] |
| 197 | base: /usr/local/etc/fedd |
| 198 | |
| 199 | [access] |
| 200 | project_priority: false |
| 201 | log_level: debug |
| 202 | access_state: %(base)s/protoGENI_access.state |
| 203 | accessdb: %(base)s/protoGENI_access |
| 204 | certdir: %(base)s/certs |
| 205 | userconfdir: %(base)s/userconf |
| 206 | |
| 207 | domain: .emulab.net |
| 208 | renewal: 10080 |
| 209 | |
| 210 | # Stage files on ops.emulab.net in a geni directory |
| 211 | staging_dir: /proj/geni/tarfiles |
| 212 | staging_host: ops.emulab.net |
| 213 | |
| 214 | # Some custom ssh settings, the one in use when this file was written was too old to support federation |
| 215 | sshd: /proj/geni/tarfiles/TIED/sshd |
| 216 | sshd_config: /proj/geni/tarfiles/TIED/sshd_config |
| 217 | ssh_port: 20200 |
| 218 | |
| 219 | # The standard start commands |
| 220 | portal_startcommand: sudo -H /usr/bin/perl -I/usr/local/federation/lib /usr/local/federation/bin/combo.pl --use_file >& /tmp/bridge.log |
| 221 | node_startcommand: sudo -H /usr/bin/perl -I/usr/local/federation/lib /usr/local/federation/bin/federate.pl --install_samba >& /tmp/federate |
| 222 | smbshare: FS |
| 223 | |
| 224 | ch_url: https://www.emulab.net:443/protogeni/xmlrpc/ch |
| 225 | sa_url: https://www.emulab.net:443/protogeni/xmlrpc/sa |
| 226 | cm_url: https://www.emulab.net:443/protogeni/xmlrpc/cm/1.0 |
| 227 | |
| 228 | |
| 229 | federation_software: /usr %(base)s/fedkit.tgz rpm %(base)s/python2.4-2.4-1pydotorg.i586.rpm |
| 230 | portal_software: /usr/local %(base)s/seer-all-current.tgz |
| 231 | |
| 232 | [allocate] |
| 233 | debug: true |
| 234 | log_level: debug |
| 235 | allocation_level: none |
| 236 | |
| 237 | [globals] |
| 238 | cert_file: %(base)s/fedd.pem |
| 239 | cert_pwd: alkdfh |
| 240 | services: 13234 |
| 241 | |
| 242 | access_type: protogeni |
| 243 | |
| 244 | }}} |
| 245 | |
| 246 | Simple access database maps [FeddAbout#GlobalIdentifiers:Three-levelNames three names] to a certificate, username, ssh key, and ssh password. |
| 247 | {{{ |
| 248 | (fedid:b55205ac843c40ce9c9feb3b358bff782ed337fd, TIED, <any> ) -> access, (/users/faber/fedd-config/protoGENI/ProtoGENI.pem, faber, /users/faber/fedd-config/protoGENI/fedd_rsa, aldkfh) |
| 249 | }}} |
| 250 | |
| 251 | == DRAGON configuration == |
| 252 | |
| 253 | Here is a pretty standard dragon configuration: |
| 254 | |
| 255 | {{{ |
| 256 | [DEFAULT] |
| 257 | base: /usr/local/etc/fedd |
| 258 | [access] |
| 259 | |
| 260 | project_priority: false |
| 261 | log_level: debug |
| 262 | access_state: %(base)s/dragon_access.state |
| 263 | accessdb: %(base)s/dragon_access |
| 264 | certdir: %(base)s/certs |
| 265 | userconfdir: %(base)s/userconf |
| 266 | type: dragon |
| 267 | |
| 268 | # Here is where the OSCARS software and support have been installed |
| 269 | cli_dir: %(base)s/OSCARS-client-api/examples/ |
| 270 | axis2_home: %(base)s/axis2-1.4.1 |
| 271 | |
| 272 | #The IDC where the certificate below is valid. |
| 273 | idc: https://idc.dragon.maxgigapop.net:8443/axis2/services/OSCARS |
| 274 | |
| 275 | |
| 276 | [allocate] |
| 277 | debug: true |
| 278 | log_level: debug |
| 279 | allocation_level: none |
| 280 | |
| 281 | [globals] |
| 282 | cert_file: %(base)s/fedd.pem |
| 283 | cert_pwd: lkajdgl |
| 284 | services: 23229 |
| 285 | |
| 286 | access_type: dragon |
| 287 | }}} |
| 288 | |
| 289 | This access DB maps to a single repo directory that contains appropriate certificates (see the OSCARS documentation) |
| 290 | |
| 291 | {{{ |
| 292 | (fedid:b55205ac843c40ce9c9feb3b358bff782ed337fd, <any>, mcgeer) -> access, (repo) |
| 293 | (fedid:b55205ac843c40ce9c9feb3b358bff782ed337fd, TIED, <any>) -> access, (repo) |
| 294 | }}} |