154 | | <h3>Load Containers into DETER</h3> |
155 | | |
156 | | <p> |
157 | | |
158 | | DETER must allocate the control network address for the containers prior to |
159 | | experiment swap-in. This allocation occurs by passing the <b>nodes.json</b> |
160 | | file to the script at <pre>/share/config_server/bin/initialize_containers.py</pre>. |
161 | | |
162 | | <p> |
163 | | |
164 | | This must be run at least once per experiment and <b>must be done before experiment swap-in</b>. This is because the <pre>initialize_containers.py</pre> script asks DETER to allocate control network addresses for the containers. These addresses must exist prior to the containers existing as the control network to request configuration information from the configuration server. And due to the way DETER works, the addresses must be allocated before swap in or the addresses will not be properly associated with the containers hostnames so the configuration server will not be able to talk to the containers. |
165 | | |
166 | | The script can be run multiple times without ill effects. |
167 | | |
168 | | <p> |
169 | | |
170 | | The <i><expid></i> and <i><projid></i> fields in the following |
171 | | example are referring to the experiment ID and the project ID. The |
| 154 | <h3>Tell the Configuration Server about your new Nodes</h3> |
| 155 | |
| 156 | <p> |
| 157 | |
| 158 | The Configuration Server needs to know that information in your brand-new <pre>nodes.json</pre>file. There's a little script just for this: <pre>/share/config_server/bin/initialize_containers.py</pre>. This script feeds the information from your <pre>nodes.json</pre> file to the Configuration Server. This must be done <b>before you swap in your experiment<b> for reasons given below. (Note that because the script needs to run before the experiment is swapped in, the script is run on the <pre>users</pre> machine. |
| 159 | |
| 160 | <p> |
| 161 | |
| 162 | The script asks DETER to allocate control network addresses for your new nodes. These addresses must exist prior to the containers existing as the control network to request configuration information from the configuration server. And due to the way DETER works, the addresses must be allocated before swap in or the addresses will not be properly associated with the containers hostnames. The hostnames are how the Configuration Server talks to your containers. So if the script is not run, the configuration of the new nodes cannot happen. |
| 163 | |
| 164 | The script can be run multiple times without ill effects. The system is smart enough to only request the control network addresses from DETER once. If the script is re-run, the (non-control-net-IP) information will simply overwrite the existing information in the configuration database. |
| 165 | |
| 166 | <p> |
| 167 | |
| 168 | Below is an example of how to run the script. The <i><expid></i> and <i><projid></i> fields in the |
| 169 | example refer to the experiment ID and the project ID. The |