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 :
- Eclipse 3.6.2
- Mysql 5.0
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:
- click on the Add -> Software Site.
- Add the url : http://of-lab2.grnoc.iu.edu/flowscaleupdate
- Select "Flowscale Components" and click "Finish".
- Wait for "Resolving Target Definition" (bottom right) to complete, then click "Set as target platform."
You should see no errors now.
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
Download the binary for your platform :
https://github.com/InCNTRE/FlowScale/downloads
Configure flowscale
- cd into the root directory flowscale-controller-binary
- set the beacon, jetty ports
- 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
Configure Logging
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.
Run the Binary
- cd into the root directory (flowscale-controller-binary)
cd flowscale-controller-binary
-
- run the flowscale binary
./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
- controller.xml - values to connect the webui to the controller
- database.xml credentials facilitating database connection
Perl Packages Required:
libhtml-template-perl
Template
JSON
File::ShareDir
REST::Client
RRDS
libhtml-template-perl
Template
JSON
File::ShareDir
REST::Client
RRDS