Tuesday, June 2, 2015

Attending OpenDaylight Summit 2015

I've booked my tickets to OpenDaylight Summit 2015, in Santa Clara, California!

This will be my first time to attend an OpenDaylight conference, and I can't wait to meet all the contributors.

The summit organizers have posted the week long event schedule. I'm not sure which tutorials and talks I'm going to attend yet, so many interesting ones overlap with each others time slot.

While I'm on site, I'm hoping to meet up with developers/maintainers interested in maximizing their use of Apache Karaf (the base runtime container the OpenDaylight Controller operates upon). I believe there are many best practices to be shared between our communities as SDN deployments build more field experiences. If you're attending the conference, and want to meet up to chat OpenDaylight-Karaf please let me know.

Tuesday, April 14, 2015

Building my new release server

Over the weekend I embarked upon building a new server for performing the Apache Karaf release candidates I build. I thought I'd share some specs, setup, and photos of the completed project.

The Gear:



Configuring The System:


The Apache Karaf Release Guide provides the blueprint for this build, providing the community with a reproducible set of steps to help us avoid relying on a 'magic build' machine. The guide outlined the various tools, their versions, and configurations required to produce a build candidate.


No more spinning disks for my build machine :)

System Layout:


The 120GB disk was chosen as the primary boot disk, hosting Ubuntu 14.04 LTS and a swap partition (/dev/sda). The 240GB disk was formatted as a single partition using an ext3 filesystem (/dev/sdb).

I prefer to keep my Operating System and 'task' drives separate on a server.

Build Drive Organization:  


The build drive hosts three directories:

  • tools - All build tools.
  • repo - local m2 repository.
  • source - SVN and Git repos.

The tools directory contains various versions of JDKs, Ant, Maven, PrinceXML, and my environment scripts.

Sunday, January 11, 2015

OpenDaylight Helium on Intel Edison!

Edison mounted on mini breakout board.
Canadian Quarter for Scale.
How small a physical device can you get OpenDaylight running upon? Well so far the answer is the Intel Edison.

If your not familiar with the Edison, its a system on module device containing a dual core Intel Atom CPU (32bit @ 500 Mhz), 1 GB of LPDDR3 RAM, 4 GB of eMMC flash storage, and built-in wifi. At 35.5 x 25 x 3.9 mm it is arguably one of the smallest machines I've seen run an Apache Karaf based system.

My build utilizes a Yocto Linux OS build for Edison, and a standard 32 bit Oracle JDK 1.7.0 installation. Downing loading utilities onto the Edison was a small challenge in that the version of wget that ships with Yocto does not support https, to get around this I used SCP to copy files over to the device.

Out of the box I only had to make one customization to the OpenDaylight setenv script:
  • The set environment script (setenv) had JVM parameters for PermGen and Max Memory set higher than the Edison could support. I set these values to 340MB for PermGen, and 756MB for Max Memory. These are not optimal settings, but will work well enough to get things going.
After OpenDaylight had displayed the console banner, I executed the console info command to see system environment information:
OpenDaylight Banner and info command output
Sweet! OpenDaylight has booted, and the CLI is responsive!

Now to verify the installation is running correctly, I started up the OpenDaylight Toaster demo.
Log Display Output
I used jmxterm to manipulate the makeToast and clearToastsMade operations exposed via JMX on the controller to verify their correct operation - using log:display I could view each operation's logging events.
Edison CPU Info

I've posted to my github page my notes and files for getting OpenDaylight Helium running on Intel Edison. I'm looking forward to seeing what the community makes on the platform.

Links for further reading:

Intel Edison - One Tiny Platform, Endless Possibility:
http://www.intel.com/content/www/us/en/do-it-yourself/edison.html

Edison IoT module ships with Atom plus Quark Combo SOC:
http://linuxgizmos.com/edison-iot-module-ships-with-atom-plus-quark-combo-soc/

OpenDaylight:
http://www.opendaylight.org

Apache Karaf:
http://karaf.apache.org