Monday, August 10, 2015

What does OpenDaylight SDN Platform need from the Apache Karaf container?

Just wanted to share my talk from OpenDaylight Summit 2015.

I'd like to thank the OpenDaylight community again for allowing me speaking time during the developer forum.

Sunday, August 9, 2015

Decanting OpenDaylight

The Monitoring and Alerting Solution for Apache Karaf
During OpenDaylight Summit 2015 I was given the opportunity to talk about Apache Karaf's road map, and Karaf's new subproject Apache Karaf Decanter.

Decanter is a complete monitoring and alerting solution for Apache Karaf.  It provides a web based collection of dash boards, which contain nicely graphed metrics from your applications' runtime, and lets you explore logged events.

Architecturally, Decanter is composed of:
  • collectors retrieving monitored data (JMX metrics, log messages, etc)
  • dispatchers powered by EventAdmin, and
  • appenders storing monitored data.
Decanter provides a Service Level Agreement layer, which allows you to check values of harvested data and send alerts when data in not in the expected state.

User and Developer guides are available from Karaf's website.

OpenDaylight Lithium, Decanted
Perhaps the most exciting news for OpenDaylight users is that the core Decanter framework works on Lithium! All the OpenDaylight community needs to do now is develop the various collectors, dispatchers, appenders, and alters to make OpenDaylight based services appear in one of Decanter's dashboards.

Thank you ODSummit

George Zhao, OpenDaylight Release Manager
receiving a signed copy of Learning Apache Karaf
I recently attended OpenDaylight Summit 2015 in Santa Clara, California - a community gathering of the developers, and users of OpenDaylight SDN Platform. The energy and enthusiasm of the crowd for building this new open source community was invigorating. I met many of the people behind the IRC nicknames I've come to know over the last year & half of working with the community. It was truly a great event, and I look forward to seeing how OpenDaylight's next release, Be, evolves.

The various keynotes, sessions, and tutorials are available for reviewing from the OpenDaylight projects' youtube channel. I'd like the share the below two keynotes, as it helps show how deeply OpenDaylight is reaching into today's networks and how integral OpenDaylight (and it's Apache Karaf core) is becoming in tomorrow's infrastructure:

Security BSides St John's 2015 Call for Papers is Open

BSides St. John’s 2015 is happening on September 25th, and will consist of a single speaking track. Regular presentation slot lengths are a fixed duration of 45 minutes plus 15 minutes for Q&A if necessary. For 2015, BSides St. John’s is also accepting submissions for Lightning Talks. They will be limited to 10-15 minutes in duration and typically consist of 2 to 3 presentation slides. We are hoping that this short presentation time will encourage those new to presenting to submit.

We are currently investigating our options to live stream the event and record all presentations for later distribution. If the recording and live streaming of your presentation poses an issue for you then please contact us to discuss your concerns.

It is important to note that any presentations or talks deemed to be of a marketing or sales pitch nature will be politely rejected.

Submissions will be in plain text and should address the following points

  • Your preferred email address
  • Are you representing anyone (yourself, company name, group name)
  • The title and abstract for your presentation
  • Approximate length of your presentation

Additionally, your submission should answer the following questions:

  • Has this material been presented elsewhere? If so, where and when?
  • May we record and stream your presentation? If not, why?
  • Will you be travelling to the event? If so, from where?

Submissions must be emailed to The CFP opens on July 1st and the deadline for submissions is September 10th. A confirmation of receipt of your submission will be sent within 48 hours. A follow-up email, if required, will be sent to you requesting further information or clarification.

Submissions will be reviewed as they are submitted. Submitter’s will receive a personal response to their submission with our decision as to whether it has been accepted within two weeks of their submission date.

All submissions are greatly appreciated and we thank you in advance for your interest in BSides St. John’s 2015.

Wednesday, July 22, 2015

Using OpenCL on OpenDaylight

GPU processing on OpenDaylight!
I've been preparing for OpenDaylight Summit 2015, the yearly gathering of the OpenDaylight SDN community for tutorials, keynotes, sessions, and design forum. I wanted to build a little demo or two that I could run while on the conference floor. The first one is KTop: the Karaf Top processes command, the second is a small OpenCL on OpenDaylight demo.

OpenCL allows developers to construct kernel functions that execute on OpenCL capable devices - such as your GPU. Given there are a few use cases where massively parallel computing on a GPU could drastically reduce processing time, having OpenCL made available to applications running on OpenDaylight could be interesting.

My demo is just a proof of concept at this stage, however I'd enjoy discussing what could be made of the underlying concepts. That being said, I'd also love to chat about how OpenDaylight can make more use of its Apache Karaf container, and how we at Savoirtech can help organizations develop and maintain their Karaf-based applications.

Tuesday, July 7, 2015

Full Stack, Toronto 2015

This Fall, I'll be speaking at Full Stack, Toronto 2015! The conference focuses on the full stack used by developers to power the web. My talk will present how Apache Karaf provides an ecosystem (stack) for building micro service architectures for SOA and SDN.

"Empowering MicroServices with Apache Karaf"

"Deploying modular Java applications requires a container capable of supporting their special needs out of the box - Apache Karaf provides this and more.

Apache Karaf has become the defacto modular application container for Service Oriented Architectures and Software Defined Networking. These Karaf-based projects are powering web services and network infrastructure world wide.

In this session we'll present how Apache Karaf provides an ecosystem for supporting modular development and deployments of modern micro service architectures found in today's largest SOA and SDN infrastructures."

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:

Edison IoT module ships with Atom plus Quark Combo SOC:


Apache Karaf: