Changes between Version 39 and Version 40 of NeoContainers


Ignore:
Timestamp:
Nov 23, 2015 1:45:38 PM (9 years ago)
Author:
Geoff Lawler
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NeoContainers

    v39 v40  
    5050                                                                                                                                                 
    5151<a name="containers-by-hand"></a>
    52 <h2>1. Adding virtual machines "by hand" to your experiment.</h2>
     52<h2>2. Adding virtual machines "by hand" to your experiment.</h2>
    5353
    5454<!----------------------------------------------->
     
    152152<!----------------------------------------------->
    153153
    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>&lt;expid&gt;</i> and <i>&lt;projid&gt;</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
     158The 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
     162The 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
     164The 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
     168Below is an example of how to run the script. The <i>&lt;expid&gt;</i> and <i>&lt;projid&gt;</i> fields in the
     169example refer to the experiment ID and the project ID.   The
    172170experiment ID is defined by the user, and could be something like
    173171"neocont-test" or "netstriping".  The project ID is the name of the project under which the experiment is run.
     
    179177</pre>
    180178
    181 
    182 If you decide to change the the nature of the containers run in an experiment,
    183 you must <b>destroy the experiment</b> and start over. This needs to be done
    184 so that DETER will unreserve the control net addresses it previously
    185 reserved for the containers.
    186 
    187 <p>
     179When run, you'll see output in the terminal. If successful, you will not see any <style color="red">[ERROR]</style>s. Here's sample output:
     180
    188181
    189182<!----------------------------------------------->