Showing posts with label OpenDaylight. Show all posts
Showing posts with label OpenDaylight. Show all posts

Monday, September 18, 2017

Receiving the Books that I Reviewed!

This year has become the year that I have traveled most. Probably this will remain to be the year with most number of travels for quite some time for me. Sometimes it gets a bit too much with too many flights. Not to mention how expensive a flight can get when it is a last minute flight. All my one-way flights cost me almost 200 Euro (FAO/Faro/Portugal -> CRL/Chareloi/Belgium and BRU/Brussels/Belgium -> LIS/Lisboa/Portugal). My favorites are border crossings by land. Had one more chance to cross into the south of the Netherlands from Belgium. It was amazing.


Finally, returned to Portugal once more from Belgium. By this time, I also received my reviewer copies for the 2 books that I reviewed recently. These books discuss OpenDaylight. The last year of my PhD is going so eventful.

Belgium Almost Autumn

I had to go to Belgium once more from Lisboa to sign the contracts, since my EMJD-DC funding comes to an end. It was already getting colder compared to Lisboa. Summer is officially over for Belgium!

I also received the hard-copies of my recently published book, "Python Network Programming Cookbook - Second Edition", during my short time in Lisboa.

Wednesday, January 13, 2016

OpenDaylight Research from INESC-ID Lisboa

As a PhD student focusing on SDN, I have been researching on OpenDaylight. I have also created OpenDaylight Lisboa User Group and coordinated multiple meetups in Lisboa. As an OpenDaylight developer, I am featured in today's OpenDaylight Developer Spotlight. Have a look. :)

Wednesday, December 30, 2015

A few things that made my 2015 interesting..

The beautiful view from the Mayan Palace, Mexico
2015 was a wonderful and probably the best-so-far year for me. This year had traces of a few previous years, remarkably 2013. Abiding to my tradition of writing an annual summarizing post, I am listing below a few things that made my 2015 interesting. The list is in a random order, and the order does not represent anything.

1. Data Quality (QD) module.
I never thought I will start this list with a course I did at the university.

It was a remarkable experience with a party atmosphere.
 
3. Graduating. Twice!
This year, I graduated from my masters double degree, from IST Lisboa and KTH Stockholm, and attended two graduation ceremonies (in Portugal and Sweden) to receive the degree award.

4. My comeback to FOSS.
It was always in my new year resolutions in the recent years. This year I got active with OpenDaylight community, leading the Messaging4Transport Project, and also created an OpenDaylight user group in Lisboa.

5. The HOT Summer in multiple beaches, across continents. 
Enjoyed the Beaches in Portugal, Spain, Mexico, Sri Lanka, Maldives, Sweden, Italy, and Croatia. Portimão beach in Portugal was unexpectedly pleasant.

6. Floating in the water with fish, in Maldives 
It was a clean water beach of an uninhabited island of Maldives.

Who dislikes them?

8. OpenDaylight Summit in Santa Clara.
I never thought I will have this much of information from a single conference. This was my second time to SJC, and first time to encounter a delayed flight and changing the flights to avoid missing the connecting flight.

9. God Ganesh Temple, Colombo-04 
And getting soaked in the rainy night in Colombo.

10. Cooking for my parents in Sri Lanka.
I have cooked for friends many times before. But first time for my mom and dad. That was truly remarkable. I missed this during my 2013 visit (and I was not capable of cooking before 2013. :) )

11. A long walk in a burning day in Belgrade.
Until that point, I was under the impression that nothing can burn me.

12. Ljubljana.
I was impressed by the river side wifi and game meat. :)

Higher than the last three years combined!

14. Backpacking to Andorra.
Never thought I would be able to go light weight. An achievement of the year for sure. 

15. A helicopter ride in a pleasant winter day.
Fly over the Tagus River.

16. More presentations!
First time I presented my work in another university as a guest speaker. My presentation at ASU, in Tempe for IC2E 2015 was remarkable. Loved that conference, and active involvement and enthusiasm from the participants during many of the presentations.

17. A late summer vacation in Sri Lanka.
Not really a vacation. I was getting married. Also experienced being a 'tourist' in Colombo. Never felt like a tourist in my own country before.

18. My first short-term scientific mission (STSM) at the University of Rijeka, Croatia.
Lots of research during the weekdays and lots of travels during the weekends.

19. Long flights.
This year I had many long flights.

20. Stockholm, once again!
It was loads of loads of loads of memories! I actually went to Stockholm twice this year. But somehow missed Kista during both trips.

21. Kayaking once more from Fejan!
Never did I guess in 2013 that I would visit this place for another EMDC Summer Event.

22. An unhealthy lunch in Trst, Italy.
All while keeping an eye at the hungry, persistent, and bullying seagulls.

23. Planning for the events in 2016 starting from early December!
Already have 3 confirmed events in my list in Berlin, Portland, and San Francisco.In addition, have a planned trip to Shenzhen, and planning another long term journey to Atlanta. Many of these events are outcomes of the collaboration with Emory BMI. It was a pleasant surprise that we got many papers as outcomes, which I am in fact going to present in 2016. We have 4 accepted papers; 3 to be presented - MediCurator, Data Cafe, and SPREAD, and MEDIator already presented.

24. Barcelona once more. 
This was my first EMJD-DC Spring Event. I was nice to meet all my EMJD-DC colleagues for the first time. We are so distributed - In Portugal, Spain, Belgium, and Sweden.

25. Renting a whole apartment.
No more apartment sharing. More privacy.. ^_^

26. Random walking in many new cities alone.
Often with a map. Often without; asking strangers for information. It felt like a virtual reality game, finding random places with no knowledge of the local language.  May be an increased level of confidence? Well, to be fair, many of the youngsters I met in these cities speak better English than me.

27. Some successes (xSDN, ∂u∂u, Cassowary, MEDIator, Data Cafe, MediCurator, SPREAD, ..) and some failures (SDCO, S²DN, RAVANA, SMART, FIRM, ..), and... some mixtures (SENDIM, ..).
I am talking about my projects, if you are confused.

28. Spring flowers in Frankfurt, Germany
The flowers are beautiful in Spring.

29. International border crossings by land, and long bus rides.

This includes US <-> Mexico, Croatia <-> Slovenia, and Croatia <-> Serbia. Never really did this before this year (not counting Sweden <-> Denmark (2013) and Spain <-> Andorra (2015) as real borders due to the Schengen open visa policy).

30. Multiple plots and locations. Spent most of the time in Portugal, with one month each in Croatia and Sri Lanka, in the mid-year.
Other short-term locations include US (twice), Mexico, Germany, Sweden (twice), Spain, Andorra, Italy, Slovenia, Serbia, and Maldives. This made 2015 a year full of travels for me.

Thanks for reading my list till the end. If you are really interested, you may also read the blog posts on the previous years as well.

Friday, December 25, 2015

Moments with Twitter - IV

It has been a while since I wrote a post on the series of Moments with Twitter. You may find the previous 3 posts by checking out my blog label,

A short term COST action in Croatia. Very remarkable! This gives the entire list of successful STSMs under the same European Project.
  • ~~ Election results of the @Erasmus_Mundus PR election for 2016 https://t.co/wXhF2cUYqc Best wishes to all the EMA Program Representatives! Dec 25, 2015
I am going to be a PR once more. Previously I hold the post for EMDC in 2013.

  • Date Ariane, an interesting "dating simulator" game that has become a YouTube sensation. https://t.co/bZVVFSodx0 Works also in Linux #NSFW Dec 23, 2015
This application is interesting to try once or twice. Irrespective of going viral in YouTube, this game/simulator/application is so depressing. It does not give you much controls, except going on a predefined set of actions in a loop, often random. The "date" in the game itself is more complicated and unfair than the real life scenarios. You may try for fun. If you take it too serious, you will be left irritated.

Erasmus Mundus is surely one of the best things happened to me so far. Actually not one. It is two, as I have been awarded two Erasmus Mundus grants so far - one for masters, and the other (the current one) for doctorate.

  • ~~ Today I presented my work at FCUL. This was also my first guest talk in a university outside Sri Lanka. https://t.co/HJK5isoSTw Nov 20, 2015
I surely love meeting new people, specially the smart ones.

  • The satisfaction you get, when your paper's title has unicode characters that make the editor's job more interesting. :P #∂u∂u -> ?u?u Sep 29, 2015
That tweet was a bit sarcastic. Not sure whether that was a good idea to include Unicode characters in my paper. However, happy about the outcome.

  • #Facebook was down, and now it is apparently back. Reporting real time from #Portugal. :P Sep 28, 2015
Social media has its adverse efforts on the users. I like social media for the network I have built, more than the features it has to offer. I am not actually addicted to any of the sites though. I never check them when I am out. I like to post some interesting updates. However, this year the remarkable events increased significantly, which made me fail to update social media networks altogether. 

  • Thanks @OpenDaylightSDN for reminding me the periodic table again. Hydrogen, Helium, Beryllium, Boron, and more.. :D Jul 30, 2015
Effects of actively participating in the Beryllium release.

  • Listening to the @OpenDaylightSDN VPN Service presentation, while reading on Quagga Routing Suite integration (http://t.co/2FH0spj3wy ). Jul 30, 2015
Updates, real time from the OpenDaylight Summit 2015.
More updates from the summit. I really loved the summit that I did not go out on sight seeing at all, as I did not want to miss any of the sessions. Also since I was in a tight schedule, I could not extend my stay before or after the summit.


Seems pretty interesting to dig the history.

At some point in this year, I really felt  Lisboa airport was like my second home.

  • #MEOCloud, a good alternative to #Dropbox. It gives 16 GB free space, and also has a Dropbox-like referral system. https://t.co/KOAmagkAlB Mar 28, 2015
May be because of its Portuguese interface; it is not that popular. Probably it is intentional as they want to limit their user base to inside Portugal.

This year, in fact, Dropbox introduced the Campus Space Race again for 2 more years. Predictably, this year the universities (at least the ones that I am affiliated with) underperformed compared to the previous, the first time they introduced this. Probably, just like me, many others got annoyed with the migration requirements at the end of two years. In 2013 race, my university was able to secure 25 GB out of the 25 GB maximum advertised. This time, it was just 15 GB.

I love maps and data.

  • I never get any message in #Twitter #Messages #Inbox. Whenever I get one, it is always a spam message. Dec 28, 2014
 Except when I initiate the communication myself. This is not even an exaggeration, though it sounds like one.

Some fun stuff.

The Internet offers an unlimited amount of learning resources.

  • A guide to sleeping in the airports - http://t.co/unTcJgB5IJ This comes handy in deciding the transits.. Sep 14, 2014
I am not really good at sleeping in the airports. I often stare at the small "vehicles" that move the elderly or differently-abled, or the ones that clean the airports in the nights. Often I just go into a long train of thoughts.

  • Found that it is a spam company called @AdCeylon is who spamming me using @madmimi. Created a filter to delete all the mails from adceylon. Aug 08, 2014
That was a heavy spamming that time. Like a few mails a day, directed to my inbox, short-circuiting many of my unsubscribe and filter attempts.

  • I scored 26012 points at 2048, a game where you join numbers to score high! #2048game http://t.co/vcQmTxIDr8 via @gabrielecirulli Jul 10, 2014
Another way how I spend time in the airports during the long transits, specially the ones that come in the nights where the shops in the air-side are often closed. I have a love-hate relationship with the airports. Often loving it for holding strong memories and nostalgia, while hating for the long wait specially for check in and other procedures.

This is to combat scammers.

Mozilla's yearly effort.

  • Read #Tipitaka online. Collection of Pali language texts which form the doctrinal foundation of #Theravada #Buddhism. http://t.co/3NZsMEtfYh Apr 12, 2014
  • Download the free #school text books provided by #Sri #Lanka government from http://t.co/oJdhfnZHFg for grade 1 to grade 11. So convenient. Jan 17, 2014
Memories. Old memories. (Should I say, young memories?)

  • China's first moon rover lands — and rolls onto lunar surface - http://t.co/XrEW93ra8f After almost four decades. First time in my lifetime. Dec 14, 2013
Must have been a cool feeling when the man landed on the moon for the first time a few decades ago. Not much new exciting breakthroughs recently, compared to that. I would consider a Mars landing equally ground-breaking. Nothing else.

I tweeted this long ago. Have to re-read now, as I have forgotten what was this about. After a few minutes of scanning the page again, I still hold the respect for this hero, after 2 years.

  • ~~ Someone is trying to reset my #twitter password. Considering I am a harmless and no-politics person, that is really funny.. :D Dec 06, 2013
After my somewhat political posts in social media in the recent past, I am not sure whether I am still a no-politics person. However, I am still a harmless person, and always will be. I just want everyone to be happy!

I am still not a master.


  • What is the origin of name Pradeeban? Probably Switzerland. According to http://t.co/cLtm55JhMQ :D #smh Nov 10, 2013
Seems it is US now. There are pros and cons of having a long name, that is hard to remember and pronounce. Not sure whether pros outweigh the cons though.

I used to buy colouring books as a young kid.

Just like I developed this habit of booking seat number 55A in the flights, recently.

  • It's not normal to get your testicles bitten off, of course, but it can happen, especially now in Sweden. http://t.co/pJGz1scaU1 Aug 14, 2013
ouch! I love the Swedish lakes. Should be more careful. lol.


  • Closed #Railway stations of Sri Lanka - http://t.co/AZavXMCFcl || It seems previous generations had a better railway in the country. Aug 07, 2013
Luckily the northern lines are back in service now.

The days before clickbaits were mainstream.

Thursday, December 3, 2015

git core.filemode set to true in .git/config files

I notice that in all the project .git folders, core.filemode property is set to true. So I encounter so many unmodified files reported as modified when I run git status, and conflicts leading to an abort of git pull.

This is what I found.
OpenDaylight/integration$ git diff test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt
diff --git a/test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt b/test/csit/suites/openflowplugin/Flows_OF13/306__eth_ip_qos.txt
old mode 100644
new mode 100755
  
While I am not sure why git core.filemode set to true in .git/config files in OpenDaylight, setting it false helped me fix this block on git pull.

Changing the author name for git/gerrit commit

So this was my second time having some adventure with gerrit for OpenDaylight (also read about the first time, if you are curious). This time, I pulled the remote changes and tried to commit my new changes by adding my changes. This created a merge as the commit from the remote repository and my local commits merged in a single pull request, and hence my commit failed with the below message.

$ git review

You are about to submit multiple commits. This is expected if you are
submitting a commit that is dependent on one or more in-review
commits. Otherwise you should consider squashing your changes into one
commit before submitting.

The outstanding commits are:

fe17631 (HEAD, master) Fix bug 4535/4541
475fae6 Use odlparent-lite as artifacts parent

Do you really want to submit the above commits?
Type 'yes' to confirm, other to cancel: yes
remote: Processing changes: refs: 1, done   
To ssh://pradeeban@git.opendaylight.org:29418/messaging4transport.git
 ! [remote rejected] HEAD -> refs/publish/master/bug/4535 (you are not allowed to upload merges)
error: failed to push some refs to 'ssh://pradeeban@git.opendaylight.org:29418/messaging4transport.git'

Now,
$ git statusOn branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean
 
So it indeed shows as 2 commits - one mine, and the one pulled from the remote repository.

I had to rebase to the master fix this.
$  git rebase origin/master

However, this left my commit attributed to the author of the previous commit in the commit log, when I try to git review.

I had to amend the author to finally fix the commit message successfully git review following that.
$ git commit --amend --author "FirstName LastName "

Friday, November 27, 2015

The Third OpenDaylight Lisboa Meetup

This time we had the OpenDaylight Lisboa meetup at FCUL, Lisbon. We had a productive discussion, and I learned a lot from the fellow researchers at FCUL. Given below is the introductory presentation slides I prepared for the meetup.
 

Friday, November 20, 2015

Cassowary: Middleware Platform for Context-Aware Smart Buildings with Software-Defined Sensor Networks

Today I presented my work** at FCUL - the Faculty of Science, Universidade de Lisboa. Though I have presented my work in conferences, this was the first time I presented my work in another university in Portugal. I have always enjoyed presenting in different universities when I was in Sri Lanka. However, this marked my first in Portugal, ever since I left Sri Lanka in 2012. I always enjoyed visiting other universities (the universities that I am not studying). I have previously been to ISCTE-IUL, and today it was FCUL. Visiting new universities is like invading a new country. ;) I loved my audience - it was interactive and I learned a lot from the audience myself!

** Kathiravelu, P., Shari , L., & Veiga, L. (2015). Cassowary: Middleware Platform for Context-Aware Smart Buildings with Software-De ned Sensor Networks . In 2nd Workshop on Middleware for Context-Aware Applications in the IoT (M4IOT 2015), co-located with ACM/USENIX/IFIP Middleware 2015. Dec.2015. Pages 1 - 6.
doi>10.1145/2836127.2836132



Abstract: 
Smart devices sense the environment through their sensors and leverage the contextual information derived from the sensor readings to satisfy system requirements such as energy and carbon efficiency and user preferences. Smart buildings compose of smart devices, and local sensors of the devices and device controllers in a coordinated network. Software-Defined Networking (SDN) offers a centralized view of the entire networking data plane elements to a logically centralized controller. While smart buildings and ubiquitous computing are heavily researched, later advancements in networking are not exploited in achieving tenant-aware smart buildings.

This paper describes the research for the design, prototype implementation, and preliminary assessments of Cassowary, a middleware platform for Context-Aware Smart Buildings with Software-Defined Sensor Networks. By extending SDN paradigm and leveraging the message oriented middleware protocols to seamlessly connect the smart devices of the buildings to the centralized SDN controller, Cassowary enables context-aware Software-Defined Smart Buildings.

Friday, October 16, 2015

Git Rebase for OpenDaylight/Gerrit

I hate merge conflicts, and luckily so far I did not have to do a git rebase for gerrit in OpenDaylight. However, this time I had to. So here are the steps I followed.

https://git.opendaylight.org/gerrit/#/c/28471/1

pradeeban@llovizna:~/OpenDaylight/distribution$ git-review -d  28471
Creating a git remote called "gerrit" that maps to:
    ssh://pradeeban@git.opendaylight.org:29418/integration/distribution.git
Downloading refs/changes/71/28471/1 from gerrit
Switched to branch "review/pradeeban_kathiravelu/28471"
pradeeban@llovizna:~/OpenDaylight/distribution$


pradeeban@llovizna:~/OpenDaylight/distribution$ git rebase origin/master
First, rewinding head to replay your work on top of it...
Applying: Add messaging4transport to integration
Using index info to reconstruct a base tree...
M    features/index/pom.xml
M    features/index/src/main/resources/features.xml
M    features/test/src/main/resources/features.xml
M    pom.xml
Falling back to patching base and 3-way merge...
Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Auto-merging features/test/src/main/resources/features.xml
CONFLICT (content): Merge conflict in features/test/src/main/resources/features.xml
Auto-merging features/index/src/main/resources/features.xml
CONFLICT (content): Merge conflict in features/index/src/main/resources/features.xml
Auto-merging features/index/pom.xml
CONFLICT (content): Merge conflict in features/index/pom.xml
Failed to merge in the changes.
Patch failed at 0001 Add messaging4transport to integration
The copy of the patch that failed is found in:
   /home/pradeeban/OpenDaylight/distribution/.git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".




pradeeban@llovizna:~/OpenDaylight/distribution$ git status
rebase in progress; onto b524a56
You are currently rebasing branch 'review/pradeeban_kathiravelu/28471' on 'b524a56'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git reset HEAD ..." to unstage)
  (use "git add ..." to mark resolution)

    both modified:      features/index/pom.xml
    both modified:      features/index/src/main/resources/features.xml
    both modified:      features/test/src/main/resources/features.xml
    both modified:      pom.xml

no changes added to commit (use "git add" and/or "git commit -a")



Modify the offending files, the files that are marked as 'both modified'.

Add the modified files.
pradeeban@llovizna:~/OpenDaylight/distribution$ git add features/index/pom.xml features/index/src/main/resources/features.xml features/test/src/main/resources/features.xml pom.xml

pradeeban@llovizna:~/OpenDaylight/distribution$ git rebase --continue
Applying: Add messaging4transport to integration


pradeeban@llovizna:~/OpenDaylight/distribution$ git status
On branch review/pradeeban_kathiravelu/28471
nothing to commit, working directory clean

To amend or modify the commit message,
pradeeban@llovizna:~/OpenDaylight/distribution$ git commit --amend -s

Finally submitting the changes to gerrit,
pradeeban@llovizna:~/OpenDaylight/distribution$ git review
Your change was committed before the commit hook was installed.
Amending the commit to add a gerrit change id.
remote: Processing changes: updated: 1, refs: 1, done   
remote:
remote: Updated Changes:
remote:   https://git.opendaylight.org/gerrit/28471 Adding messaging4transport features.
remote:
To ssh://pradeeban@git.opendaylight.org:29418/integration/distribution.git
 * [new branch]      HEAD -> refs/publish/master/28471

Monday, August 31, 2015

Wrong input in features.xml of OpenDaylight and the adventure with error logs. :)

So I was working on OpenDaylight, and the below error was blocking me from building the messaging4transport project locally with maven successfully.
[INFO] Processing feature: odl-messaging4transport
Sep 27, 2015 2:26:12 AM org.apache.bsf.BSFManager eval
SEVERE: Exception: 
java.security.PrivilegedActionException: org.apache.bsf.BSFException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at java.security.AccessController.doPrivileged(Native Method)
 at org.apache.bsf.BSFManager.eval(BSFManager.java:442)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute2(ExecuteMojo.java:119)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute(ExecuteMojo.java:52)
 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.bsf.BSFException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at org.codehaus.groovy.bsf.GroovyEngine.eval(GroovyEngine.java:98)
 at org.apache.bsf.BSFManager$5.run(BSFManager.java:445)
 ... 25 more

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] messaging4transport-api ........................... SUCCESS [11.182s]
[INFO] messaging4transport-impl .......................... SUCCESS [11.951s]
[INFO] messaging4transport-features ...................... FAILURE [2.738s]
[INFO] messaging4transport-karaf ......................... SKIPPED
[INFO] messaging4transport-artifacts ..................... SKIPPED
[INFO] messaging4transport ............................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.619s
[INFO] Finished at: Sun Sep 27 02:26:12 WEST 2015
[INFO] Final Memory: 110M/771M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.alexecollins.maven.plugin:script-maven-plugin:1.0.0:execute (add-version-to-features) on project messaging4transport-features: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :messaging4transport-features
Since this does not give much clue, I built again with -X flag.
[DEBUG] -- end configuration --
[INFO] executing groovy script
[INFO] Updating repository declarations
[INFO] Processing feature: odl-messaging4transport-api
[INFO] Processing feature: odl-messaging4transport
Sep 27, 2015 12:13:14 PM org.apache.bsf.BSFManager eval
SEVERE: Exception: 
java.security.PrivilegedActionException: org.apache.bsf.BSFException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at java.security.AccessController.doPrivileged(Native Method)
 at org.apache.bsf.BSFManager.eval(BSFManager.java:442)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute2(ExecuteMojo.java:119)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute(ExecuteMojo.java:52)
 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.bsf.BSFException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at org.codehaus.groovy.bsf.GroovyEngine.eval(GroovyEngine.java:98)
 at org.apache.bsf.BSFManager$5.run(BSFManager.java:445)
 ... 25 more

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] messaging4transport-api ........................... SUCCESS [11.099s]
[INFO] messaging4transport-impl .......................... SUCCESS [13.164s]
[INFO] messaging4transport-features ...................... FAILURE [3.496s]
[INFO] messaging4transport-karaf ......................... SKIPPED
[INFO] messaging4transport-artifacts ..................... SKIPPED
[INFO] messaging4transport ............................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29.693s
[INFO] Finished at: Sun Sep 27 12:13:14 WEST 2015
[INFO] Final Memory: 109M/762M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.alexecollins.maven.plugin:script-maven-plugin:1.0.0:execute (add-version-to-features) on project messaging4transport-features: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.alexecollins.maven.plugin:script-maven-plugin:1.0.0:execute (add-version-to-features) on project messaging4transport-features: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at com.alexecollins.maven.plugin.ExecuteMojo.execute(ExecuteMojo.java:56)
 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
 ... 19 more
Caused by: org.apache.bsf.BSFException: exception from Groovy: java.lang.ArrayIndexOutOfBoundsException: 2
 at org.codehaus.groovy.bsf.GroovyEngine.eval(GroovyEngine.java:98)
 at org.apache.bsf.BSFManager$5.run(BSFManager.java:445)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.apache.bsf.BSFManager.eval(BSFManager.java:442)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute2(ExecuteMojo.java:119)
 at com.alexecollins.maven.plugin.ExecuteMojo.execute(ExecuteMojo.java:52)
 ... 21 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :messaging4transport-features
This gave me some clue on what went wrong. It is the features.xml entry. I found the wrong entry in my code-
    wrap:mvn:org.opendaylight.controller.config.api/{{VERSION}} 
I fixed it as below.
    wrap:mvn:org.opendaylight.controller/config-api/{{VERSION}}
It was of course a careless mistake. But the error log was crazy and interesting. :-)

Sunday, August 30, 2015

EMDC Summer Event 2015


I represented EMDC 2012 batch at the EMDC Summer Event 2015, in Fejan island, Sweden. The event was targeted towards my juniors, EMDC batch 2014. I presented the thoughts from our batch, as well as my research work at the event.



Saturday, August 1, 2015

Messaging4Transport at OpenDaylight Summit 2015

I presented the Messaging4Transport (Message Oriented Middleware Bindings for MD-SAL) OpenDaylight incubation project at OpenDaylight Summit 2015 on the 31st of July in Santa Clara. The video recordings of the talk is given below. The updated presentation can be found here.

Friday, July 31, 2015

OpenDaylight Summit 2015 and Santa Clara

Love this name tag from the OpenDaylight Summit
~~ Ready to return home after a very productive conference and unconference, in a few hours. Now it is time to get back to my regular life for a while, and focus on my projects.

This year was full of travels for me, with 11 (short and long) international travels so far (and 2 more upcoming). The best part of this trip was to meet many interesting people, listen to many awesome presentations, and present my project. Unlike the previous trips, I did not do any random walks this time. But will continue in the upcoming trips. :3 I am unpredictable in my travelling habits anyway. I just don't have any pattern. :D

Next year seems more interesting as well, with an array of travels and "migrations" already planned - Shenzhen 2016, Atlanta 2016, and Louvain 2016. Sometimes I suspect that I am becoming a gypsy. lol.

Saturday, July 25, 2015

Traveling light weight

Fresh water river in Andorra la Vella
I returned to Lisboa from Croatia after my summer internship a few hours ago. Now I leave home again with my suitcase, to the metro station. Going to the airport for my next flight to San Jose for the ODL Summit. I walk like a zombie - brain doesn't work; but  my legs move in the right direction. I surely lack sleep. Do I really need to do this? I ask myself. It happens to me at times - I overdo things to tire myself. But then, I say, "I will never remember these tiring moments spent in transit. But the good memories will last."
 
I used to travel heavy with lots of luggage. Eventually, I learned to travel light. I often avoid even taking the checked in luggage with me, so that I directly go to the border gates, as I already check in at home. By this I avoid the long queues at the luggage drop and further delay at the baggage claim belts. Sometimes I just go on a flight with a small backpack, which also happens to be my laptop bag. I carefully pack the bare minimum stuff with me. This helped travelling further. An ideal example was my travel to Andorra this year, just a day before the EMJD-DC Spring event in Barcelona. 

Since it was a Sunday, most of the shops were closed. I had a look at the books, written in Catalan, speaking the history of the Catalan region. Andorra is the only country which has Catalan as its national language. Andorra la Vella was pleasant, and felt like the hill country in Sri Lanka. I know that the winter will be different, with mountains covered in snow.

Thursday, April 30, 2015

Running mininet on mininet..

Initially (as monitored from ODL/DLUX)
Since mininet can run applications that are installed on its host, why not run mininet on top of mininet, just for lulz? :P

Running OpenDaylight
$ ./distribution-karaf-0.2.0-Helium/bin/karaf
Running Mininet
pradeeban@llovizna:~$ sudo mn --controller=remote,ip=127.0.0.1 --topo linear,2
[sudo] password for pradeeban:
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1 s2
*** Adding links:
(h1, s1) (h2, s2) (s2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 2 switches
s1 s2 ...
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2
h2 -> h1
*** Results: 0% dropped (2/2 received)
Now ODL/DLUX with Mininet on Mininet.

Mininet on Mininet

mininet> h1 sudo mn --controller=remote,ip=127.0.0.1 --topo tree,6
*** Error setting resource limits. Mininet's performance may be affected.
*** Creating network
*** Adding controller
Unable to contact the remote controller at 127.0.0.1:6633
*** Adding hosts:
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 h33 h34 h35 h36 h37 h38 h39 h40 h41 h42 h43 h44 h45 h46 h47 h48 h49 h50 h51 h52 h53 h54 h55 h56 h57 h58 h59 h60 h61 h62 h63 h64
*** Adding switches:
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 s33 s34 s35 s36 s37 s38 s39 s40 s41 s42 s43 s44 s45 s46 s47 s48 s49 s50 s51 s52 s53 s54 s55 s56 s57 s58 s59 s60 s61 s62 s63
*** Adding links:
(s1, s2) (s1, s33) (s2, s3) (s2, s18) (s3, s4) (s3, s11) (s4, s5) (s4, s8) (s5, s6) (s5, s7) (s6, h1) (s6, h2) (s7, h3) (s7, h4) (s8, s9) (s8, s10) (s9, h5) (s9, h6) (s10, h7) (s10, h8) (s11, s12) (s11, s15) (s12, s13) (s12, s14) (s13, h9) (s13, h10) (s14, h11) (s14, h12) (s15, s16) (s15, s17) (s16, h13) (s16, h14) (s17, h15) (s17, h16) (s18, s19) (s18, s26) (s19, s20) (s19, s23) (s20, s21) (s20, s22) (s21, h17) (s21, h18) (s22, h19) (s22, h20) (s23, s24) (s23, s25) (s24, h21) (s24, h22) (s25, h23) (s25, h24) (s26, s27) (s26, s30) (s27, s28) (s27, s29) (s28, h25) (s28, h26) (s29, h27) (s29, h28) (s30, s31) (s30, s32) (s31, h29) (s31, h30) (s32, h31) (s32, h32) (s33, s34) (s33, s49) (s34, s35) (s34, s42) (s35, s36) (s35, s39) (s36, s37) (s36, s38) (s37, h33) (s37, h34) (s38, h35) (s38, h36) (s39, s40) (s39, s41) (s40, h37) (s40, h38) (s41, h39) (s41, h40) (s42, s43) (s42, s46) (s43, s44) (s43, s45) (s44, h41) (s44, h42) (s45, h43) (s45, h44) (s46, s47) (s46, s48) (s47, h45) (s47, h46) (s48, h47) (s48, h48) (s49, s50) (s49, s57) (s50, s51) (s50, s54) (s51, s52) (s51, s53) (s52, h49) (s52, h50) (s53, h51) (s53, h52) (s54, s55) (s54, s56) (s55, h53) (s55, h54) (s56, h55) (s56, h56) (s57, s58) (s57, s61) (s58, s59) (s58, s60) (s59, h57) (s59, h58) (s60, h59) (s60, h60) (s61, s62) (s61, s63) (s62, h61) (s62, h62) (s63, h63) (s63, h64)
*** Configuring hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 h30 h31 h32 h33 h34 h35 h36 h37 h38 h39 h40 h41 h42 h43 h44 h45 h46 h47 h48 h49 h50 h51 h52 h53 h54 h55 h56 h57 h58 h59 h60 h61 h62 h63 h64
*** Starting controller
c0
*** Starting 63 switches
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 s32 s33 s34 s35 s36 s37 s38 s39 s40 s41 s42 s43 s44 s45 s46 s47 s48 s49 s50 s51 s52 s53 s54 s55 s56 s57 s58 s59 s60 s61 s62 s63 ...
*** Starting CLI: