Posted in Debian, Happy Birthday Debian, Mini-DebConf Pune, Open Source, OpenStack, OpenStack Neutron, Outreachy

At Mini-Debian Conference Pune 2016

It was at Mini-Debian Conference 2010 at my alma mater, College of Engineering Pune that my journey with Open Source began. So I was thrilled when our Professor Abhijit A.M. invited us to give a talk at Mini-Debian Conference 2016 which was being held again at our own college.

The proposals were open even for other Open Source projects. Since me and Akanksha are both currently learning about OpenStack, we thought it would be a nice idea to share with the students our learnings.

Akanksha’s session included an Introduction to Cloud and OpenStack. She explained the different components of OpenStack and their roles and their interaction when we spawn a new instance, the OpenStack Development Environment – DevStack, how to Contribute to OpenStack, the Community, the workflow, the reviewing system, and everything else a newbie would want to know. The session was interactive and many students engaged in asking their doubts.

In my session, I gave an Introduction to Virtualization and talked briefly about Network Virtualization. I also gave a demo on the Neutron API using the Horizon Dashboard, explained the Neutron workflow, the Neutron architecture, the different network types supported by OpenvSwitch and finally talked briefly about SDN.

Many students interacted with us after the session. It was great to know a few students were already working on OpenDaylight as a part of their final year project.

Apart from talking about OpenStack, I also attended the session on How to Contribute to GNUKhata which is a python based Open Source Accounting Software. Ishan and Navin gave a nice walkthrough of the GNUKhata code during the session.

The sessions I found most interesting were on Docker. Swapnil explained the Docker basics and Augustine gave an awesome demo on docker compose, where he demonstrated how fast it was to live debug multiple containers each running a random-word-generator JavaScript application.

We also had a group photo that was followed by the Debian India Community Planning Session where both the attendees and the speakers interacted and shared their feedbacks and reviews. The audience, comprising of students from different colleges across Pune, were eager to have more MiniDebConfs at their own colleges, each of them suggesting the different ways in which they would like to increase awareness about Debian, FOSS and Open Source Communities in their respective colleges.

minidebconfpune16_group_photo

debian_bday

And we also celebrated Debian’s 23rd Birthday in advance. Every year, the Debian Community celebrates 16th August as Debian Day (The day on which Debian was founded by its founder Ian Murdock).

Posted in OpenStack, OpenStack Neutron, Outreachy

Interning with Outreachy – 2016

The Initial Journey

My journey with OpenStack started in December 2015, while I was working, since one and half years, at a Software company in Pune and my friend Akanksha Agrawal told me about Outreachy and the OpenStack Community.

Motivated by her, I decided to learn OpenStack and get back to doing Open Source work that I so much loved during my college days.

The most fulfilling part of my initial journey of learning OpenStack, was when I made my first contribution to OpenStack Ironic. I had picked up a bug to work on for the OpenStack Bug Smash Mitaka Pune and with the help of OpenStack Ironic Community was able to get my patch merged in Ironic. I am really grateful to everyone from the OpenStack Ironic Community to help me get kick started. It had been a very long time since I made another first contribution to an Open Source Project.

After that I started learning Neutron, the networking component of OpenStack and that interested me a lot. As I began understanding the Neutron architecture, I got in touch with my mentor Rossella Sblendido and she further encouraged me to learn OpenvSwitch.

My Internship Project

A Switch is a device that connects multiple devices together on a computer network. In Neutron, a virtual switch connects a physical interface to a virtual interface. OpenvSwitch is a software based switch used by Neutron to implement virtual switches.

My project, Neutron – Metering agent add port statistics, requires me to use the OpenvSwitch tools to provide port statistics to the Neutron Metering Agent.

The Neutron Metering Agent is used to send metering notifications about network related metrics (These are measurable network usage data).

The Switch related meters that provide network port statistics are:

Received Packets:  switch.port.receive.packets
Transmitted Packets:  switch.port.transmit.packets
Received Bytes:  switch.port.receive.bytes
Transmitted Bytes: switch.port.transmit.bytes
Receive Drops: switch.port.receive.drops
Transmit Drops:  switch.port.transmit.drops
Receive Errors:  switch.port.receive.errors
Transmit Errors: switch.port.transmit.errors
Receive Frame Alignment Errors : switch.port.receive.frame_error
Receive Overrun Errors: switch.port.receive.overrun_error
Receive CRC Errors: switch.port.receive.crc_error
Collisions:  switch.port.collision.count

The Neutron Metering Agent sends network metrics via the rpc notification mechanism to Ceilometer. These notifications are gathered by Ceilometer for metering (billing) and monitoring purposes.

Progress So far

  • I have been able to set up Neutron along with its plugins ( ML2, router, metering ) and agents (Metadata agent, L3 agent, Open vSwitch agent, DHCP agent, Metering agent ) on my DevStack setup.
  • I’ve been learning to use the Neutron CLI by playing around ( creating Networks, adding Routers, adding interface to Router, adding gateway to Router, examining routers, understanding namespaces, adding rules to the default security group, attaching floating ip address to public network, etc).
  • I am also learning to use ovs tools: ovs-vsctl and ovs-ofctl and have setup the following Switch configuration on my DevStack :

ovs_daigram

 

  • I’ve set up Ceilometer on my DevStack ( yet to add switch meters).
  • I am working on my patch to add port statistics to the metering agent and hopefully should be able to submit the patch by the end of this week.

I am grateful to my mentor Rossella for being extremely supportive and encouraging. I’ve learned a huge bunch of things and the whole journey is amazing.

That’s all for now. I’ll  be posting soon on my progress further.