Changes between Version 2 and Version 3 of OMF/OMF60/2Operator
- Timestamp:
- May 13, 2019, 7:43:22 PM (6 years ago)
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 ==== 6 6 7 7 In 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. … … 13 13 [[Image(OMF_system.jpg)]] 14 14 15 === Prepare Your Environment===15 ==== Prepare Your Environment ==== 16 16 OMF 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. 17 17 18 18 Some additional packages shall be installed in order to compile native extensions for certain dependent libraries, for example 'Eventmachine': 19 19 20 ==== !Ubuntu/Debian====20 ===== !Ubuntu/Debian ===== 21 21 {{{ 22 22 sudo apt-get install ruby-dev build-essential libssl-dev … … 28 28 }}} 29 29 30 ==== Fedora====30 ===== Fedora ===== 31 31 {{{ 32 32 sudo yum update -y audit … … 39 39 }}} 40 40 41 === Install communication server===41 ==== Install communication server ==== 42 42 43 43 OMF6 currently supports XMPP and AMQP for its message transport. Only one message transport is required. … … 47 47 TEST 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. 48 48 49 ==== AMQP server (RabbitMQ) Installation====49 ===== AMQP server (RabbitMQ) Installation ===== 50 50 51 51 For OMF, we RECOMMEND using RabbitMQ. Other AMQP servers may work as well, but have not been tested. … … 76 76 [http://www.rabbitmq.com/troubleshooting.html Troubleshooting instructions] 77 77 78 ===== Verify AQMP Server Installation======78 ====== Verify AQMP Server Installation ======= 79 79 If you want to verify that your RabbitMQ server is responding, you can follow this "Hello World" tutorial. 80 80 81 ==== XMPP Server (Openfire) Installation====81 ===== XMPP Server (Openfire) Installation ===== 82 82 For 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. 83 83 … … 116 116 * Restart Openfire to apply any changes made: /etc/init.d/openfire restart 117 117 118 ===== Verify XMPP Server Installation=====118 ====== Verify XMPP Server Installation ====== 119 119 To verify that Openfire has been set up correctly, we are providing a test script (also available here). Run: 120 120 {{{ … … 124 124 Watch 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. 125 125 126 === Install Resource Controller (RC)===126 ==== Install Resource Controller (RC) ==== 127 127 128 128 On a typical node, you could install the RC as root: … … 151 151 Ruby'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. 152 152 153 ==== Start RC====153 ===== Start RC ===== 154 154 If 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: 155 155 156 ===== Ubuntu:=====156 ====== Ubuntu: ====== 157 157 {{{ 158 158 start omf_rc … … 177 177 Using 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. 178 178 179 ==== Configure RC====179 ===== Configure RC ===== 180 180 RC could be configured via changing the configuration files. Examples can be found under https://github.com/mytestbed/omf/tree/master/omf_rc/config/ 181 181 … … 188 188 ALWAYS RESTART RC TO MAKE CHANGES EFFECTIVE 189 189 190 ==== Test RC====190 ===== Test RC ===== 191 191 To 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: 192 192 {{{ … … 201 201 Otherwise you would see NOTHING. 202 202 203 === Experiment Controller (EC)===204 ==== Install EC====203 ==== Experiment Controller (EC) ==== 204 ===== Install EC ===== 205 205 {{{ 206 206 gem install omf_ec --no-ri --no-rdoc 207 207 }}} 208 208 209 === Run EC===209 ===== Run EC ===== 210 210 {{{ 211 211 omf_ec <PATH_TO_YOUR_OEDL_FILE>