I had the need to build a FlowVisor instance under CentOS. Since nearly all of the docs I could find were for debian, I threw this together. I utilized this GENI doc and the github docs as a simple reference. This is the quick and dirty method I used:
Install the prerequisites:
sudo yum -y install ant eclipse java-1.6.0-openjdk.x86_64 git sudo yum -y groupinstall "Development Tools"
Create my standard directories:
mkdir /services cd /services git clone git://github.com/OPENNETWORKINGLAB/flowvisor.git
Navigate, add user and install
cd flowvisor adduser flowvisor sudo make fvuser=flowvisor fvgroup=flowvisor install
Here is the relativde output I saw:
[root@collector flowvisor]# sudo make fvuser=flowvisor fvgroup=flowvisor install ant Buildfile: build.xml init: [mkdir] Created dir: /services/flowvisor/build [mkdir] Created dir: /services/flowvisor/build.tests compile: [javac] Compiling 239 source files to /services/flowvisor/build [javac] Note: /services/flowvisor/src/org/flowvisor/config/LoadConfig.java uses or overrides a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. dist: [mkdir] Created dir: /services/flowvisor/dist [jar] Building jar: /services/flowvisor/dist/flowvisor.jar [jar] Building jar: /services/flowvisor/dist/flowvisor.jar BUILD SUCCESSFUL Total time: 3 seconds ./scripts/install-script.sh Using source dir: ./scripts/.. Installation prefix (/usr/local): Install to different root directory () Installing FlowVisor into /usr/local with prefix=/usr/local as user/group flowvisor:flowvisor Updating fvctl-xml.sh to fvctl-xml Updating fvconfig.sh to fvconfig Updating flowvisor.sh to flowvisor Updating envs.sh to envs Creating directories Creating /usr/local/bin Creating /usr/local/sbin Creating /usr/local/libexec/flowvisor Creating /usr/local/share/man/man1 Creating /usr/local/share/man/man8 Creating /usr/local/share/doc/flowvisor Creating /usr/local/share/db/flowvisor Creating /etc/flowvisor (owned by user=flowvisor group=flowvisor) Installing scripts Installing SYSV startup script (not enabled by default) Installing jars Installing flowvisor.jar Installing manpages Installing FlowVisorDB Installing configs Installing Logrotate config Installing documentation Linking fvctl to fvctl-json ln: creating symbolic link `fvctl': File exists Generating a default config FlowVisor config Trying to generate SSL Server Key with passwd from scripts/envs.sh Generating cert with common name == flowvisor keytool error: java.lang.Exception: Key pair not generated, alias <mykey> already exists Enter password for account 'fvadmin' on the flowvisor: Generating default config in db Outputing config file /etc/flowvisor/config.json
Start the controller:
sudo /etc/init.d/flowvisor start
Output from controller starting:
Starting flowvisor with the configuration stored in DB If DB unpopulated, load config using 'fvconfig load config.json' [root@collector flowvisor]# Message from syslogd@collector at Jul 3 08:49:51 ... 1>Jul 3 08:49:51 flowvisor: ERROR none : log level enabled: CRIT Message from syslogd@collector at Jul 3 08:49:51 ... 1>Jul 3 08:49:51 flowvisor: ERROR none : log level enabled: ALERT Message from syslogd@collector at Jul 3 08:49:51 ... 1>Jul 3 08:49:51 flowvisor: WARN none : log level enabled: WARN
This yields a "working" flow visor. Lock it down with a password:
yum -y install pwgen test -f /etc/flowvisor.passwd || sudo sh -c 'pwgen -sB 24 > /etc/flowvisor.passwd' service flowvisor restart
Pingback: Technology Short Take #34 - blog.scottlowe.org - The weblog of an IT pro specializing in virtualization, storage, and servers
Pingback: Technology Short Take #34 | Strategic HR
At the end of the nail with your hammer to avoid splitting
the wood when you drive the nail. A door that would open for that spiritual
renewal. Some steel Doors are the most preferred today.
2 Perfect for every weather – Wooden or aluminum Doors are built to a standard
1? Even though these are made of honeycombed-cardboard
treated with a resinous strengthening agent.
Hi Nick,
Have you ever used flowvisor to test with a physical openflow switch? like NEC PF5240?
Because when I used flowvisor with ovs-based swithes, it worked fine.
However, when the flowvisor operated with the NEC PF5240, the flowvisor cannot get the flowentry in the switch. But the rest of the functions(insert/delete flowentry) worked fine.
This confused me a lot, hope you could help me with this.
Thanks~
This post is about as far as I went went flowvisor. I found it unintuitive at the time so I moved on to other options.