Overview

Floodlight can be run as network backend for OpenStack using a Quantum plugin.  Quantum exposes a networking-as-a-service model via a REST API that Floodlight has implemented.  There are two main components to this solution: a VirtualNetworkFilter module in Floodlight (that implements the Quantum API) and the Quantum RestProxy plugin that connects Floodlight to Quantum.

The VirtualNetworkFilter module implements MAC-based layer 2 network isolation in OpenFlow networks and exposed via a REST API.  This module is included in Floodlight by default and does not depend on Quantum or OpenStack to be running.  The VirtualNetworkFilter can be activated via a configuration file change described below.

The RestProxy plugin was designed to run as part of OpenStack’s Quantum service.   If you are unfamiliar with Quantum, it is recommended you read the wiki and Administrator’s Guide to understand how to install and configure the plugin.

Running the VirtualNetworkFilter

The VirtualNetworkFilter can be run from the Floodlight virtual machine or directly from source from Github.

To run it from the virtual machine (v 0.85 or later):

$ touch /opt/floodlight/floodlight/feature/quantum
$ sudo reboot now

To run it from source:  (assuming you have already downloaded and built Floodlight (see download instructions)):

$ git clone git://github.com/floodlight/floodlight.git
$ sudo apt-get install build-essential default-jdk ant python-dev
$ cd floodlight; ant
$ java -jar target/floodlight.jar -cf src/main/resources/quantum.properties

You can verify its running by testing the rest API:

$ curl 127.0.0.1:8080/quantum/v1.0
{"status":"ok"}

RestProxy Quantum Plugin

The Floodlight team has created a new plugin, called RestProxy, that is compatible with Floodlight.  This will ultimately be distributed along with other Quantum plugins but for now is available on Github:

$ git clone git://github.com/floodlight/quantum-restproxy.git

 

QuickStart: Running DevStack with Floodlight and Quantum and RestProxy Plugin

While Floodlight’s VirtualNetworkFilter can run without Quantum or OpenStack, its convenient to run these projects together.  The RestProxy plugin contains a set of scripts built on top of Devstack to make this easy to configure. Before starting, make sure you have ubuntu 12.04 or later (required by Devstack) and make sure Floodlight is already running (along with the VirtualNetworkFilter) at the IP and REST port you pass into the “install-devstack.sh” script below.  For simplicity, we describe a single node deployment below.

$ wget https://raw.github.com/floodlight/quantum-restproxy/master/scripts/install-devstack.sh
$ ./restproxy/scripts/install-devstack.sh 127.0.0.1 8080
$ cd ~/devstack
$ ./stack.sh

You should have a running version of OpenStack, Quantum, and Floodlight (with OVS).

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.