Instructions are outdated.  New instructions coming soon!

Create Database:

Whether running from source or binary.  The database needs to be created first. 

Create a mysql database with the name of webui

Under the root directory take the "webui.sql" file and do a :

$ mysql -p -h $DBHOST webui < webui.sql 

Run From Source

Prerequisites :
Setup Beacon and OpenflowJ

Flowscale is built on Beacon.  Follow the steps here to setup the Beacon controller and openflowj .

Setup Flowscale

1) Download Flowscale from github:

$ git clone git@github.com:InCNTRE/FlowScale.git

2) Import the Flowscale project into your eclipse workspace (edu.iu.incntre.flowscale and edu.iu.incntre.flowscalehttplistener)

3) In the "Beacon Main Target" project, open up the main.target file and:

You should see no errors now.


As another option if of-lab2 is down is to get the Flowscale components by importing the FlowScale/backend and FlowScale/backend/FlowScaleLib/plugins directories
In the "Beacon Main Target" project, open up the main.target file and:

You should see no errors but will see some warnings


4) Set database values in Flowscale content.xml under META-INF/spring for for username, password, and host.

Running Flowscale

1) Import the project "edu.iu.incntre.flowscaleproduct" into the workspace. Open up flowscale-id.product.

2) Click on the "debug" button.

Run From Binary

          https://github.com/InCNTRE/FlowScale/downloads

  1.  cd into the root directory flowscale-controller-binary
  2.  set the beacon, jetty ports
  1.  create the files flowscale.properties and beacon.properties and web_interface.properties:
    E.g. let's set the beacon port as 6634 (default is 6633)

In beacon.properties:

controller.listenPort=6634

In flowscale.properties below is a sample file that configures the jetty listener port, the database hsot , the username and password

flowscaleController.port=3306
flowscaleController.host=localhost
flowscaleController.username=webui-username
flowscaleController.password=[webui-db-password]

In web_interface.properties set the listener port for Jetty:

flowscaleHttpListener.jettyListenerPort=8181

You may want to configure the logging level:

create a file called logback.xml in the root directory.

The below logback.xml file reports ERROR for the beacon controller and INFO logs for Flowscale:

<configuration>


  <appender name="flowscale.log" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/flowscale.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>logs/flowscale.%d.log.zip</fileNamePattern>
      <maxHistory>60</maxHistory>
    </rollingPolicy>

    <encoder>
      <pattern>%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="info">

    <appender-ref ref="flowscale.log" />
  </root>
  <logger name="net.beaconcontroller" level="ERROR"/>
  <logger name="edu.iu.incntre.flowscale" level="INFO"/>

</configuration>


In flowscale-controller.ini set the path for logback.xml

Dlogback.configurationFile=logback.xml

Finally: you may want to setup the management console for the OSGI environment (optional)

In flowscale-controller.ini you can do:

-console
7777

Where 7777 is the listening port you can telnet to.

 ./flowscale-controller & 

Confirm that flowscale is running by running a netstat and verify that the jetty, beacon, and console ports are listening.

Do a telnet to the OSGI console to confirm that the necessary bundles are in a running state.

Deploy WebUI

Deploy the folder flowscale_ui to any server of your choice.

Make sure to edit the variables under 'conf' directory

 Perl Packages Required:

libhtml-template-perl
Template
JSON 
File::ShareDir
REST::Client
RRDS
libhtml-template-perl

Template

JSON 

File::ShareDir

REST::Client

RRDS