Changes between Version 26 and Version 27 of Tutorials/oMF/tut1


Ignore:
Timestamp:
Oct 20, 2014, 3:47:27 PM (10 years ago)
Author:
wontoniii
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/oMF/tut1

    v26 v27  
    2222[[Image(Tutorials/oMF:MFTurorialNetwork.png)]]
    2323
    24 === MobilityFirst ORBIT Image ===
     24=== !MobilityFirst ORBIT Image ===
    2525
    2626The complete set of components from the latest release of the !MobilityFirst software is available as a compressed image within the ORBIT testbed for imaging nodes using the 'OMF' tool. The current pre-prepared image is built over Ubuntu 12.04 LTS distribution and will be moved to newer distributions as they become available and we have had a chance to test compatibility.
     
    146146 * As seen above, the router is configured with both 'core' (''core_dev'') and 'edge' (''edge_dev'') interfaces. Different router configurations are available depending on the required functionality. In this case we use what we call a MobilityFirst Access Router, which has the particularity of having the core interfaces connected towards the core of the network, while the edge interface enables hosts to connect and access the MobilityFirst network.
    147147
    148  * For this basic setup, the GNRS has been configured to be running as a single instance, but in a larger experiment, it is designed to be a distributed system deployed at different locations.
    149 
    150  * Most of the client settings are located in a configuration file pre-loaded on the Orbit image.
     148 * For this basic setup, the GNRS has been configured to be running as a single server instance, but in a larger experiment, it is designed to be a distributed system deployed at different locations.
     149
     150 * Most of the client settings are located in a configuration file pre-loaded on the ORBIT image in the folder ''/usr/local/src/mobilityfirst/eval/orbit/conf/''.
    151151
    152152==== Setting up the Software Node Groups ====
    153153
    154 The following shows how the node groups for the routers are setup in the OMF control scripts. Node groups allows experimenters to use single statements to set configuration (e.g. network interfaces) and execute commands across all nodes in the group.
     154The following snippet shows how the node groups for the routers are setup in the OMF control scripts. Node groups allow experimenters to use single statements to set configuration (e.g. network interfaces) and execute commands across all nodes belonging to the group.
    155155
    156156{{{
     
    233233}}}
    234234
    235 As can be seen above, properties which were defined in the MF-Router, MF-GNRS and MF-HostStack applications have been set here. Moreover, node interfaces have been set up, and IP addresses have been assigned to them. As we discussed earlier the router is configured with both edge and core interfaces. The ethernet interface is used to connect to the core of the network, and the wireless interface is for connection to the clients. On the other side, the client is equipped with wifi interface to connect to the access router.
     235As it can be seen above, once defining applications that each group will execute, the application properties are set accordingly. While we do not want to enter the details of each parameter, it is important to notice how by simple use of counters, the different nodes can be assigned different values.
     236
     237Moreover, resources such node interfaces and their corresponding IP addresses have to be set up in this phase of the experiment. As we discussed earlier the router is configured with both edge and core interfaces. An ethernet interface is used to connect to 2 core routers, while a wireless interface is used to provide access for the clients.
    236238
    237239
     
    240242==== Starting the MobilityFirst Components ====
    241243
    242 The following snippet shows the starting of the router software and the gnrs servers on the two router nodes:
     244The final part of the experiment script is dedicated to the execution events and commands. The following snippet shows the starting of the router software, the gnrs server and the client network protocol stack:
    243245
    244246{{{
     
    253255        # click router cleanup
    254256        group("router_#{i}").exec("killall -9 click")
    255         # gnrsd cleanup
     257        # gnrs cleanup
    256258        group("router_#{i}").exec("killall -9 java")
    257259    end
     
    283285}}}
    284286
    285 To make sure, our experiment will not conflict with any prior running processes on the node groups, killall command is used to terminate all processes associated with routers, GNRS and host stack. After waiting for a reasonable time, first the routers are brought up and we start the applications on them, and then the hosts are brought up, starting the applications on them.
     287To make sure, our experiment will not conflict with any prior running experiments on the node groups, all eventual residual processes are killed. After waiting for a reasonable time in order to allow the resources to reset and be ready for a new execution, first the routers are started (and the gnrs for the associated node), and then the hosts are brought up.
    286288
    287289
     
    294296    omf tell -a on -t system:topo:imaged
    295297}}}
    296 In order to execute the just described script, download it to your console home folder copying and pasting the following command:
     298
     299All the aggregated definitions just presented are included in a single script that you have to download to your grid console. In order to download it to your console, copy and paste the following command:
    297300
    298301{{{
     
    308311}}}
    309312
    310 The obtained output should resamble the follwoing snippet:
     313The obtained output should resemble the following snippet:
    311314
    312315{{{
     
    360363A few comments on the obtained output:
    361364  * The experiment ID can be seen on one of the first lines, it will be useful for using OML to retrieve the output for OML-enabled experiments. (this experiment does not have any outputs.)
    362   * The GUIDs assigned to the nodes can be seen. The routers (nodes1-1 and 1-2 on the grid) have GUID 1 and 2, and the hosts (nodes2-1 and 2-2 on the grid) have GUID 101 and 102. Since we have a simple topology in this experiment, only a single instance of GNRS server is running, which as shown above is hosted by router with GUID 1.
     365  * The GUIDs assigned to the nodes can be seen. For this particular snippet, the routers (nodes1-1 and 1-2 on the grid) are assigned GUID 1 and 2, and the hosts (nodes2-1 and 2-2 on the grid) have GUID 101 and 102. Since we have a simple topology in this experiment, only a single instance of GNRS server is running, which as shown above is hosted by router with GUID 1.
    363366
    364367=== Test The Network ===
    365368
    366 Once the host and router components are up, you can log in to the sender (host identified by GUID 101) and receiver (host identified by GUID 102) host nodes (two separate terminals) and run the 'mfping' application. In order to access a running Orbit node ssh into it as follow:
     369Before proceeding to the next step, make sure your OMF script has reached the line '' INFO exp: Request from Experiment Script: Wait for 10000s.... ''. This will be the signal that the host and router components are up.
     370
     371Now you can proceed and using the previously opened consoles log in into the two host nodes (GUIDs 101 and 102) that will be used to run the simple 'mfping' application. In order to access a running Orbit node ssh into it as follow:
    367372
    368373{{{
     
    373378Where ''x-y'' has to be replaced by the actual numbers identifying the node.
    374379
    375 Once logged in, run the mfping 'server' specifying the application GUID:
     380Once logged in, run on the node with GUID 102 the mfping 'server' component properly specifying the application GUIDs:
    376381
    377382{{{
     
    382387where "-s" specifies that the host is running as server, "-m" specifies the source guid and "-o" the destination one
    383388
    384 To run the mfping 'client'
     389To run the mfping 'client' start on the client with GUID 101 the command:
    385390
    386391{{{
     
    411416== Finish ==
    412417
    413 Once the application has successfully completed its task, interrupt the experiment from the orbit console, using the Ctrl-C key combination.
     418Once the application has successfully completed its task, follow these steps to complete the experiments:
     419 * Kill the ''mfping'' server using Ctrl-C on the corresponding node.
     420 * On the grid's console running the experiment script, interrupt the experiment using the Ctrl-C key combination.
     421This will stop all the applications and will conclude the experiment.
    414422
    415423=== References ===