Changes between Version 2 and Version 3 of OMF/OMF60/2Operator


Ignore:
Timestamp:
May 13, 2019, 7:43:22 PM (19 months ago)
Author:
seskar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMF/OMF60/2Operator

    v2 v3  
    1 == Installation Guide ==
    2 
    3 [[TOC(heading=OMF 6.0 Documentation, OMF/OMF60/*, depth=2)]]
    4 
    5 === Introduction ===
     1=== Installation Guide ===
     2
     3[[TOC(heading=OMF 6.0 Documentation, OMF/OMF60/2Operator*, depth=4)]]
     4
     5==== Introduction ====
    66
    77In an OMF testbed, everything is a resource. The entity that controls one or multiple resources is called Resource Controller (RC). The RC can run directly on the resource (e.g. a PC), or run on a separate computer that can control the resources (e.g. a bunch of sensor nodes or an !OpenFlow switch). OMF is designed to support many different types of resources, and additional RCs for those resources can make use of our OMF APIs.
     
    1313[[Image(OMF_system.jpg)]]
    1414
    15 === Prepare Your Environment ===
     15==== Prepare Your Environment ====
    1616OMF could run under Ruby with versions not earlier than 1.9.3. Your operating system most likely have this version available by the time of writing this documentation. If you do require information regarding installing Ruby, please see official ruby site, or simply search for it.
    1717
    1818Some additional packages shall be installed in order to compile native extensions for certain dependent libraries, for example 'Eventmachine':
    1919
    20 ==== !Ubuntu/Debian ====
     20===== !Ubuntu/Debian =====
    2121{{{
    2222sudo apt-get install ruby-dev build-essential libssl-dev
     
    2828}}}
    2929
    30 ==== Fedora ====
     30===== Fedora =====
    3131{{{
    3232sudo yum update -y audit
     
    3939}}}
    4040
    41 === Install communication server ===
     41==== Install communication server ====
    4242
    4343OMF6 currently supports XMPP and AMQP for its message transport. Only one message transport is required.
     
    4747TEST OPERATORS need to install a communication server in their testbed. It should be reachable from the outside Internet if any of the testbed users are on the outside of your organisation or if you want to federate your testbed with another organisation over the public Internet. DEVELOPERS might just run a server on their local machine for development.
    4848
    49 ==== AMQP server (RabbitMQ) Installation ====
     49===== AMQP server (RabbitMQ) Installation =====
    5050
    5151For OMF, we RECOMMEND using RabbitMQ. Other AMQP servers may work as well, but have not been tested.
     
    7676[http://www.rabbitmq.com/troubleshooting.html Troubleshooting instructions]
    7777
    78 ===== Verify AQMP Server Installation ======
     78====== Verify AQMP Server Installation =======
    7979If you want to verify that your RabbitMQ server is responding, you can follow this "Hello World" tutorial.
    8080
    81 ==== XMPP Server (Openfire) Installation ====
     81===== XMPP Server (Openfire) Installation =====
    8282For OMF, we recommend using Openfire. Other XMPP servers may work as well, but this has not been extensively tested. Ejabberd is known to have some issues regarding node permissions and database cleanup. If are upgrading from an older Openfire release and you have trouble running OMF, please wipe your Openfire database and recreate the pubsub nodes.
    8383
     
    116116* Restart Openfire to apply any changes made: /etc/init.d/openfire restart
    117117
    118 ===== Verify XMPP Server Installation =====
     118====== Verify XMPP Server Installation ======
    119119To verify that Openfire has been set up correctly, we are providing a test script (also available here). Run:
    120120{{{
     
    124124Watch the output for any lines starting with ERROR. Double check your Openfire settings as described above and re-run the test until you receive no more ERRORs.
    125125
    126 === Install Resource Controller (RC) ===
     126==== Install Resource Controller (RC) ====
    127127
    128128On a typical node, you could install the RC as root:
     
    151151Ruby's ERB syntax is used here to set the UID (topic name) to the output of the Ruby command Socket.gethostname. We assume that the host name of each node is unique (e.g. assigned via DHCP), so we can use the same configuration file for all of them.
    152152
    153 ==== Start RC ====
     153===== Start RC =====
    154154If you want to start the RC using an init script and you installed this script with the '-i' flag above, you can start the daemon like this:
    155155
    156 ===== Ubuntu: =====
     156====== Ubuntu: ======
    157157{{{
    158158start omf_rc
     
    177177Using the same XMPP URI as in the RC config file and your local machine's hostname (run hostname to find out), unless you changed the :uid: parameter in the RC config file to another name. Watch the output for any lines starting with ERROR. If the RC could be contacted successfully at the "test" topic, your resource is ready to run experiments.
    178178
    179 ==== Configure RC ====
     179===== Configure RC =====
    180180RC could be configured via changing the configuration files. Examples can be found under https://github.com/mytestbed/omf/tree/master/omf_rc/config/
    181181
     
    188188ALWAYS RESTART RC TO MAKE CHANGES EFFECTIVE
    189189
    190 ==== Test RC ====
     190===== Test RC =====
    191191To check if a particular resource controller responds to FRCP messages properly, simply send a FRCP REQUEST message to the resource, and expect an answer from it. OMF provides a tiny utility to do exactly this:
    192192{{{
     
    201201Otherwise you would see NOTHING.
    202202
    203 ===  Experiment Controller (EC) ===
    204 ==== Install EC ====
     203====  Experiment Controller (EC) ====
     204===== Install EC =====
    205205{{{
    206206gem install omf_ec --no-ri --no-rdoc
    207207}}}
    208208
    209 === Run EC ===
     209===== Run EC =====
    210210{{{
    211211omf_ec <PATH_TO_YOUR_OEDL_FILE>