Skip to content
Snippets Groups Projects
Commit 6a41c01b authored by Jason's avatar Jason
Browse files

merge conflicts

parents e8906623 95513ad1
No related branches found
No related tags found
No related merge requests found
Showing
with 350 additions and 35 deletions
......@@ -7,8 +7,8 @@
.settings
.DS_Store
target
thrift
*.swp
*.pyc
findbugs-results
*.launch
/thrift
......@@ -26,7 +26,7 @@
generated code.
-->
<project default="dist" name="Floodlight">
<project default="dist" name="floodlight">
<property name="target" location="target"/>
<property name="build" location="${target}/bin"/>
<property name="build-test" location="${target}/bin-test"/>
......@@ -35,6 +35,7 @@
<property name="coverage-output" location="${target}/coverage"/>
<property name="source" location="src/main/java"/>
<property name="resources" location="src/main/resources/"/>
<property name="test-resources" location="src/test/resources/"/>
<property name="source-test" location="src/test/java"/>
<property name="python-src" location="src/main/python"/>
<property name="docs" location="${target}/docs"/>
......@@ -43,7 +44,6 @@
<property name="floodlight-test-jar" location="${target}/floodlight-test.jar"/>
<property name="thrift.dir" value="${basedir}/src/main/thrift"/>
<property name="thrift.out.dir" value="lib/gen-java"/>
<property name="thrift.package" value="net/floodlightcontroller/packetstreamer/thrift"/>
<property name="ant.build.javac.source" value="1.6"/>
<property name="ant.build.javac.target" value="1.6"/>
<property name="findbugs.home" value="../build/findbugs-2.0.2"/>
......@@ -53,22 +53,28 @@
<patternset id="lib">
<include name="logback-classic-1.0.0.jar"/>
<include name="logback-core-1.0.0.jar"/>
<include name="jackson-core-asl-1.8.6.jar"/>
<include name="jackson-mapper-asl-1.8.6.jar"/>
<include name="jackson-core-2.1.4.jar"/>
<include name="jackson-annotations-2.1.4.jar"/>
<include name="jackson-databind-2.1.4.jar"/>
<include name="jackson-dataformat-smile-2.1.4.jar"/>
<include name="jackson-dataformat-xml-2.1.4.jar"/>
<include name="jackson-dataformat-yaml-2.1.4.jar"/>
<include name="jackson-dataformat-csv-2.1.4.jar"/>
<include name="slf4j-api-1.6.4.jar"/>
<include name="org.restlet-2.1-RC1.jar"/>
<include name="org.restlet.ext.jackson-2.1-RC1.jar"/>
<include name="org.restlet.ext.simple-2.1-RC1.jar"/>
<include name="org.restlet.ext.slf4j-2.1-RC1.jar"/>
<include name="simple-4.1.21.jar"/>
<include name="org.restlet-2.2M3.jar"/>
<include name="org.restlet.ext.jackson-2.2M3.jar"/>
<include name="org.restlet.ext.simple-2.2M3.jar"/>
<include name="org.restlet.ext.slf4j-2.2M3.jar"/>
<include name="simple-5.1.1.jar"/>
<include name="netty-3.2.6.Final.jar"/>
<include name="args4j-2.0.16.jar"/>
<include name="concurrentlinkedhashmap-lru-1.2.jar"/>
<include name="jython-2.5.2.jar"/>
<include name="libthrift-0.7.0.jar"/>
<include name="libthrift-0.9.0.jar"/>
<include name="guava-13.0.1.jar" />
<include name="findbugs-annotations-2.0.1.jar" />
<include name="findbugs-jsr305-2.0.1.jar" />
<include name="derby-10.9.1.0.jar"/>
</patternset>
<path id="classpath">
......@@ -77,6 +83,15 @@
</fileset>
</path>
<patternset id="lib-package">
<include name="jdeb-1.0.1.jar"/>
</patternset>
<path id="package-classpath">
<fileset dir="${lib}">
<patternset refid="lib-package"/>
</fileset>
</path>
<patternset id="lib-cobertura">
<include name="cobertura-1.9.4.1.jar"/>
<include name="asm-3.0.jar"/>
......@@ -126,7 +141,6 @@
<target name="compile-tests" depends="compile-test"/>
<target name="compile-test" depends="compile">
<fileset dir="${resources}"/>
<javac includeAntRuntime="false" debug="true"
srcdir="${source-test}"
classpath="${build}"
......@@ -134,28 +148,27 @@
destdir="${build-test}"/>
</target>
<!-- Thrift build based on http://www.flester.com/blog/2009/04/26/using-thrift-from-ant -->
<fileset id="thrift.files" dir="${thrift.dir}">
<include name="**/*.thrift"/>
</fileset>
<target name="gen-thrift" depends="init">
<pathconvert property="thrift.file.list" refid="thrift.files"
pathsep=" " dirsep="/">
</pathconvert>
<echo message="Running thrift generator on ${thrift.file.list}"/>
<exec executable="thrift" dir="${basedir}" failonerror="true">
<arg line="--strict -v --gen java -o ${thrift.out.dir}/.. '${thrift.file.list}'"/>
</exec>
<!-- Get rid of annoying warnings in thrift java: at annotations -->
<echo message="Adding @SuppressWarning annotations"/>
<replaceregexp byline="true">
<regexp pattern="^public "/>
<substitution expression='@SuppressWarnings("all") public '/>
<fileset id="thrift.output.files" dir="${thrift.out.dir}/..">
<include name="**/*.java"/>
</fileset>
</replaceregexp>
<echo message="Running thrift on '${thrift.dir}'"/>
<apply executable="./thrift/compiler/cpp/thrift">
<fileset dir="${thrift.dir}" casesensitive="yes">
<include name="**/*.thrift"/>
</fileset>
<arg value="--strict"/>
<arg value="-v"/>
<arg value="--gen"/>
<arg value="java"/>
<arg value="-o"/>
<arg value="${thrift.out.dir}/.."/>
</apply>
<echo message="Adding @SuppressWarning annotations"/>
<replaceregexp byline="true">
<regexp pattern="^public "/>
<substitution expression='@SuppressWarnings("all") public '/>
<fileset id="thrift.output.files" dir="${thrift.out.dir}/..">
<include name="**/*.java"/>
</fileset>
</replaceregexp>
</target>
<target name="clean">
......@@ -180,8 +193,9 @@
<classpath>
<pathelement location="${build-coverage}"/>
<pathelement location="${build}"/>
<pathelement location="${resources}"/>
<pathelement location="${test-resources}"/>
<pathelement location="${build-test}"/>
<pathelement location="${floodlight-jar}"/>
<path refid="classpath-test"/>
</classpath>
<formatter type="brief" usefile="true" />
......@@ -243,7 +257,7 @@
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="${build-test}"/>
<fileset dir="${resources}"/>
<fileset dir="${test-resources}"/>
<zipgroupfileset dir="${lib}">
<patternset refid="lib-test"/>
<patternset refid="lib-cobertura"/>
......@@ -251,6 +265,48 @@
</jar>
</target>
<target name="deb" depends="dist">
<taskdef name="deb"
classname="org.vafer.jdeb.ant.DebAntTask"
classpathref="package-classpath"/>
<copy todir="${target}/debian">
<fileset dir="debian"/>
<filterset begintoken="[[" endtoken="]]">
<filter token="version" value="1.9.0"/>
<filter token="name" value="${ant.project.name}"/>
</filterset>
</copy>
<deb destfile="${target}/floodlight-1.9.0.deb"
control="${target}/debian/control">
<data src="${floodlight-jar}" type="file">
<mapper type="perm" prefix="/usr/share/floodlight/java"/>
</data>
<tarfileset dir="debian/misc/bin" prefix="/usr/bin" filemode="755"/>
<data src="debian/misc/logrotate/floodlight" type="file">
<mapper type="perm" prefix="/etc/logrotate.d"/>
</data>
<data src="debian/misc/init/floodlight.conf" type="file">
<mapper type="perm" prefix="/etc/init"/>
</data>
<data src="debian/misc/logback.xml" type="file">
<mapper type="perm" prefix="/etc/floodlight"/>
</data>
<data src="debian/misc/rsyslog/10-floodlight.conf" type="file">
<mapper type="perm" prefix="/etc/rsyslog.d"/>
</data>
<data src="debian/misc/default/floodlight" type="file">
<mapper type="perm" prefix="/etc/default"/>
</data>
<data src="debian/misc/floodlight.properties" type="file">
<mapper type="perm" prefix="/etc/floodlight"/>
</data>
<tarfileset dir="src/main/resources/apps" prefix="/etc/floodlight/apps.d"/>
</deb>
</target>
<target name="package" depends="deb"/>
<target name="javadoc">
<javadoc access="protected"
author="true"
......
Package: [[name]]
Version: [[version]]
Section: net
Priority: low
Maintainer: rob.adams@bigswitch.com
Architecture: all
Depends: adduser,
default-jre-headless | java6-runtime-headless
Description: Floodlight is a high performance Java based OpenFlow controller originally
written by David Erickson at Stanford University.
.
Floodlight supports a broad range of virtual and physical OpenFlow switches
and has rich support for mixed OpenFlow and non-OpenFlow networks supporting
management of multiple islands of OpenFlow switches.
/var/log/floodlight
/var/lib/floodlight
/etc/floodlight/apps.d
/etc/floodlight/conf.d
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH FLOODLIGHT 1 "May 14, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
floodlight \- An Apache licensed, Java based OpenFlow controller
.SH SYNOPSIS
.B floodlight
.RI [ options ]
.SH DESCRIPTION
This manual page documents briefly the
.B floodlight
command.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBfloodlight\fP is an Apache licensed, Java based OpenFlow controller.
.SH OPTIONS
.TP
.B \-cf, \-\-configFile FILE
Floodlight configuration file.
.SH AUTHOR
floodlight was written by David Erickson and Big Switch Networks.
.PP
This manual page was written by Rich Lane <rlane@bigswitch.com>,
for the Debian project (and may be used by others).
# floodlight - A Java-based OpenFlow controller
#
# The Floodlight program configures network switches using the OpenFlow protocol.
# vim: set filetype=upstart :
description "Floodlight controller"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
setuid floodlight
setgid floodlight
respawn
pre-start script
[ -f /usr/share/floodlight/java/floodlight.jar ] || exit 0
end script
script
. /etc/default/floodlight
exec java ${JVM_OPTS} -Dpython.home=/usr/share/jython \
-Dlogback.configurationFile=/etc/floodlight/logback.xml \
-jar /usr/share/floodlight/java/floodlight.jar \
$DAEMON_OPTS 2>&1 >> /var/log/floodlight/floodlight.log
end script
debian/floodlight.1
#!/bin/sh -e
NAME=floodlight
KEYSTORE=/etc/floodlight/auth_credentials.jceks
KEYSTOREPASS=/etc/floodlight/conf.d/01-keystorepass.properties
case "$1" in
configure)
if ! id $NAME > /dev/null 2>&1 ; then
adduser --quiet --group --system --disabled-password \
--no-create-home --home /dev/null $NAME
fi
mkdir -p /var/log/floodlight
mkdir -p /var/lib/floodlight
mkdir -p /etc/floodlight/conf.d
chown -R syslog:adm /var/log/floodlight
chown -R $NAME:$NAME /var/lib/floodlight
if [ ! -f $KEYSTORE ]; then
KSPASS=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev`
umask 0077
echo "org.sdnplatform.sync.internal.SyncManager.keyStorePassword=$KSPASS" > \
$KEYSTOREPASS
authtool -a CHALLENGE_RESPONSE \
-ks $KEYSTORE \
-kp $KSPASS
chown $NAME:$NAME $KEYSTORE $KEYSTOREPASS
fi
service rsyslog restart
service floodlight restart
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
#!/bin/sh -e
NAME=floodlight
case "$1" in
purge)
deluser --quiet --system $NAME || true
delgroup --quiet --system $NAME || true
rm -f /etc/floodlight/auth_credentials.jceks
rm -f /etc/floodlight/conf.d/01-keystorepass.properties
rm -rf /var/lib/floodlight/SyncDB
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
#!/bin/sh -e
NAME=floodlight
case "$1" in
remove)
service floodlight stop || true
;;
purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
#!/bin/sh
exec java -cp '/usr/share/floodlight/java/*' org.sdnplatform.sync.client.AuthTool "$@"
#!/bin/sh
exec java -cp '/usr/share/floodlight/java/*' org.sdnplatform.sync.client.BootstrapTool "$@"
#!/bin/sh
exec java -cp '/usr/share/floodlight/java/*' net.floodlightcontroller.core.Main "$@"
#!/bin/sh
exec java -cp '/usr/share/floodlight/java/*' org.sdnplatform.sync.client.SyncClient "$@"
# Options to pass to Floodlight.
DAEMON_OPTS="-cf /etc/floodlight/floodlight.properties"
# Additional options to pass to the JVM
JVM_OPTS=""
# Sample performance options taken from upstream
JVM_OPTS="-server"
JVM_OPTS="$JVM_OPTS -ea"
JVM_OPTS="$JVM_OPTS -XX:MaxDirectMemorySize=128M"
JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC"
JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC"
JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled"
JVM_OPTS="$JVM_OPTS -XX:OnError='kill -9 %p'"
JVM_OPTS="$JVM_OPTS -XX:OnOutOfMemoryError='kill -9 %p'"
JVM_OPTS="$JVM_OPTS -Dpython.security.respectJavaAccessibility=false"
JVM_OPTS="$JVM_OPTS -Dnet.floodlightcontroller.packetstreamer.port=9090"
JVM_OPTS="$JVM_OPTS -Dlogback.configurationFile=/etc/floodlight/logback.xml"
JVM_OPTS="$JVM_OPTS -Dnet.floodlightcontroller.core.PTWarningThresholdInMilli=0"
JVM_OPTS="$JVM_OPTS -Dcom.bigswitch.floodlight.addressspace.EnableNetworkService=0"
floodlight.confd = /etc/floodlight/conf.d
floodlight.modules = \
net.floodlightcontroller.jython.JythonDebugInterface,\
net.floodlightcontroller.core.module.ApplicationLoader
net.floodlightcontroller.core.module.ApplicationLoader.appsd=/etc/floodlight/apps.d
net.floodlightcontroller.core.module.ApplicationLoader.application=simpleforwarding
net.floodlightcontroller.core.FloodlightProvider.rolepath=/var/lib/floodlight/current_role
org.sdnplatform.sync.internal.SyncManager.authScheme=CHALLENGE_RESPONSE
org.sdnplatform.sync.internal.SyncManager.keyStorePath=/etc/floodlight/auth_credentials.jceks
org.sdnplatform.sync.internal.SyncManager.dbPath=/var/lib/floodlight/
start on runlevel [2345]
stop on runlevel [!2345]
respawn
kill timeout 30
setuid floodlight
setgid floodlight
script
if [ -f /etc/default/floodlight ]; then
. /etc/default/floodlight
fi
COMMAND="java ${JVM_OPTS} -cp '/usr/share/floodlight/java/*' net.floodlightcontroller.core.Main ${DAEMON_OPTS}"
exec /bin/bash -c "${COMMAND} 2>&1 | /usr/bin/logger -t floodlight -p user.info"
end script
<?xml version="1.0"?>
<configuration scan="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%level [%logger{20}:%thread] %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
<logger name="org" level="WARN"/>
<logger name="LogService" level="WARN"/> <!-- Restlet access logging -->
<logger name="net.floodlightcontroller" level="INFO"/>
<logger name="org.sdnplatform" level="INFO"/>
</configuration>
/var/log/floodlight/floodlight.log {
daily
copytruncate
missingok
rotate 7
compress
delaycompress
notifempty
}
!floodlight
*.* /var/log/floodlight/floodlight.log
!*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment