| 97 | === Allocation Options === |
| 98 | |
| 99 | The [allocation] section controls how Emulab project allocation is carried out on the host where `fedd` is running. If the '''uri''' option is set in the [access] section, the [allocation] section defined the parameters used to communicate with the remote `fedd`. If not, project allocation will occur on this machine and the parameters apply to the manipulation of the local Emulab state to grant access. |
| 100 | |
| 101 | The following options are valid: |
| 102 | |
| 103 | '''allocation_level''':: |
| 104 | This option defines what `fedd` will try to do to grant access. The following are valid choices: |
| 105 | |
| 106 | |
| 107 | '''dynamic_projects''':: |
| 108 | Add new projects and users to the local Emulab in response to requests. What users and projects and who may successfully request them is a function of the access DB below. The access component decides what projects and users to add and the allocation component does the work. |
| 109 | '''dynamic_keys''':: |
| 110 | No projects or users are added to the local Emulab, but addtional keys may be granted access to user accounts and projects may have their access rights expanded. Again the access component decides which users and projects to expand and the allocation system does so. |
| 111 | '''confirm_keys''': |
| 112 | The local Emulab is never changed, but the allocating `fedd` confirms that the users specified may be accessed by the given keys. In effect, it confirms that the if the changes were requested, they would succeed. |
| 113 | '''addpubkey''':: |
| 114 | Path to the `addpubkey` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/addpubkey` is usually insufficient. See the instructions in [FeddDownload installing] for information on how to construct and install the `taddpubkey` version, and set this option to point at it. Note that if you are not dynamically allocating resources, you need not create the new script nor set this option. |
| 115 | '''cert_file''':: |
| 116 | Certificate used to assert identity of the allocation component. If '''uri''' is set in the [access] section, this certificate is presented to the remote allocation `fedd`, if not this certificate is presented to the allocator making a request. |
| 117 | '''cert_pwd''':: |
| 118 | Password for the private key in '''cert_file'''. |
| 119 | '''confirmkey''':: |
| 120 | Path to the Emulab command used to confirm a user's public SSH key. Only useful for local allocation. The default of `/usr/testbed/sbin/addpubkey` is usually insufficient. If you are interested in dynamic allocation, the same modifications that make `taddpubkey` sufficient as for use in adding and removing public SSH keys are sufficent for this use as well. Follow the instructions in [FeddDownload installing] for information on how to construct and install the `taddpubkey` version, and set this option to point at it. If you are not allocating resources dynamically, you can use the `confirm_sshkey.py` script packaged with `fedd` for this purpose. By default it is installed as `/usr/local/bin/confirm_sshkey.py'. |
| 121 | '''grantnodetype''':: |
| 122 | Path to the `grantnodetype` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/grantnodetype` is usually insufficient. See the instructions in [FeddDownload installing] for information on how to construct and install the `tgrantnodetype` version, and set this option to point at it. Note that if you are not dynamically allocating resources, you need not create the new script nor set this option. |
| 123 | '''mkproj''':: |
| 124 | Path to the `mkproj` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/mkproj` is usually correct. |
| 125 | '''newproj''':: |
| 126 | Path to the `newproj` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/newproj` is usually correct. |
| 127 | '''newuser''':: |
| 128 | Path to the `newuser` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/newuser` is usually correct. |
| 129 | '''rmproj''':: |
| 130 | Path to the `rmproj` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/rmproj` is usually correct. |
| 131 | '''rmuser''':: |
| 132 | Path to the `rmuser` Emulab command. Only useful for local allocation. The default of `/usr/testbed/sbin/rmuser` is usually correct. |
| 133 | '''trusted_certs''':: |
| 134 | a file containing the trusted CAs used for SSL validation. If this is not |
| 135 | present, no certificate path checking is done. |
| 136 | '''user_to_project''':: |
| 137 | Script to attach a new local (Emulab) user to a local (Emulab) project. The `user_to_project.py` script shipped with `fedd` is used for this purpose by default. Specifically, the default value of this option is `/usr/local/bin/user_to_project.py`. |