Installing OESS

Quick Start

1. install the code (oess-frontend, oess-core, oscars) there is a meta package oess contains all of these
1a. Have Mysql and Apache running and know the mysql administrator password
1b. SNAPP-collector needs to be installed, and you should know the location of the snapp.mysql.sql and
    base_example.sql files included by snapp-collector
1c. Ports required:
    By Default OpenFlow goes on port 6633
    Apache will require 443 and 80

2. run oess_setup.pl (RPM location /usr/bin/oess_setup.pl, tarball core/oess_setup.pl)
   this will guide you through the initial configuration of OESS, including setting up the
   databases and do some initial configuration
2a. Start the OESS processes through the OESS init script (/etc/init.d/oess)

3. Configure Apache and get it running (our apache config should get you most fo the way)

4. Load the apache frontend administration section (https://localhost/oess/admin/admin_index.cgi)
   this will get you to the admin section of OESS where you can do the final configuration pieces
   like approving devices, and links, setting up users and work groups and configuring Remote Links

5. Edit the oess cron file (/etc/cron.d/nddi-scheduler.cron) and uncomment all 3 lines (this enables restore to primary and other scheduled actions)

6. Approve Nodes and Links

7. Add ports to workgroups and add users

8. Provision your circuit :)

Switch Requirements

To work with OESS, switches must support the Openflow 1.0 specification or support a version of JUNOS >= 13.3R1.6. In particular, the software makes use of the following OpenFlow features:

  • flow stats
  • rules that match on input port
  • rules that match on vlan tag
  • rules that set the output port of a flow - Support rules that change the vlan tag of a flow
  • rules that set output port of a flow, including the ability to support sending out multiple ports with differing VLAN IDs (for use cases which require multi-point VLANs)
  • rules that send packets to controller
  • rules that match on ether type
  • ability to add and remove flows
  • barrier messages


If multipoint functionality is desired, the switch must support the ability to have a rule which contains multiple output actions like the following:

Match: input port, vlan tag Action: set vlan tag, output, set vlan tag, output

System Requirements

OESS is designed to run on a modern Linux systems.  Internally, we use RedHat 6.  

OESS requires several packages to work. The core is built on Apache and MySQL, though there are several other packages needed. A RedHat 6 box with EPEL repositories enabled (http://fedoraproject.org/wiki/EPEL) should have all of the dependencies to install OESS.

If you are not using the RPM installation method, please refer to the Requires section in the specfiles for a full listing of what is required: oess-core.spec oess-frontend.spec nox.spec