Recap : Mini-Deb Conf’16, Mumbai

Mini-Deb Conferences are regional Debian community meet-ups. The first edition of this year’s Mini-Deb Conference was held in Mumbai on 30th and 31st of January’2016.

It all started when I saw a Call for Sessions mail from Rigved on Debian Indian mailing list.

Me and my friend Sana both thought of giving an introductory session on OpenStack as we both are learning OpenStack. Shirish from the Debian India community encouraged us for submitting a proposal. Excited about the idea, we went ahead and started preparing for the session.

It took us a day to prepare the presentation and the demo VDI having DevStack setup on Debian Jessie.

Finally the conference started. Due to some work, I could not attend the conference on the first day and hence missed a lot of sessions. I would summarize my experience from Day 2.

After reaching the event I attended Raju Vindane’s session on ownCloud. His session demonstrated how to set up your own cloud. It was a hands-on session.

There were also sessions of Mumbai Technology Meetup taking place in the next room.

After Raju’s session, there was a tea-break. That was the time when I could actually talk to people and discuss the awesome stuff which each of us was working on. Had a long discussion with Manish who was giving a session on Rust. Also spoke to the contributors of Hamara Linux project.

The tea-break got over and then came the time for some real action, the time when I was the speaker. Excited and nervous!

I started off with – What is OpenStack? As the audience consisted mostly of students, it was totally new to them. Then I explained the architecture of OpenStack. After that it was Sana’s turn to explain DevStack, post which we gave a demo on how to install DevStack and see everything we learned live.

The day ended with a Key Signing Party. I got my key signed from Jonas and many other people 🙂

Link to our presentation:





Installing Sahara using DevStack

So you heard of a cool new technology called OpenStack and wanna try it out! The easiest way to start with it is installation of DevStack which won’t take more than an hour. 

But first, what is DevStack? In a nutshell, DevStack is mini OpenStack for developers.

Now, let’s get started with the installation right away.


1. Install Virtual Box or any other hypervisor of your choice with minimum 2 GB of RAM.(Required for DevStack to run successfully)

2. Install Ubuntu/any other Linux distro on it. I had used Ubuntu 14.04 server

Installation Steps:

1. Install git

$ sudo apt-get install git-core

2. Clone devstack repository

$ git clone

3. Navigate to the devstack directory

$ cd devstack

4. Copy local configuration file from devstack/samples to devstack. This file overwrites the settings in file. There are few plugins which are not enabled by default. To enable them you need to modify this file.

$ cp samples/local.conf local.conf

5. Sahara is not enabled by default. So to enable it you need to add following
line in local.conf

$ enable_plugin sahara git://

This enables sahara service but to be able to view the data processing tab (that is what sahara is called, data processing component of OpenStack) in the dashboard, you need to enable sahara dashboard plugin.

This is because sahara’s dashboard is separated from horizon. So you need to plug it externally.

$ enable_plugin sahara-dashboard git://

6. run

$ ./

If the script runs successfully and you have something like this on your screen,


then you are good to go.

You have a mini OpenStack cloud on your own machine. Now open a browser and explore the OpenStack dashboard (horizon) using the URL you got on the screen.

Happy exploring the cloud 🙂

My Internship Project – Improving Anti-Affinity in Sahara

It’s been around 3 weeks since my internship started and trust me every single day had been an entirely new learning experience.

My internship started on 7th December. The very first day, we had a meeting with the fellow OpenStack interns and mentors all around the world. It was kind of warm up for the internship. We discussed what and how we are going to achieve our goals set for the internship.


Improving anti-affinity behaviour for Sahara cluster creation

Sahara is a data processing component of OpenStack. It provisions the clusters (e.g a Hadoop cluster) into OpenStack cloud.

Since the nodes in the cluster are provisioned on virtual machines, we can’t be sure on which hypervisor they go. To provide high availability, hadoop ensures that there are replicas for the nodes. In the worst case, if all the replicas go onto the same hypervisor and the hypervisor goes down, high availability is not ensured. So to avoid this, Sahara provides the user with capability of defining anti-affinity policies. In the policy, the user is expected to define a node group, nodes of which should be anti-affine.

Sahara ensures that the nodes in the anti-affinity group are not on a single hypervisor. It provisions each of the anti-affine node on a different hypervisor. The problem with the current implementation is that, if the hypervisors are less than the number of nodes in the anti-affinity group, Sahara throws an error which can be a valid  use-case sometimes. My task involves me to understand the current cluster allocation strategy and improve it so as to support the above use case.


My mentor for the project is Michael McCune (elmiko). He is very supportive and encouraging. His “Keep up the good work!” comment always inspires me to do more and more. I would love to meet him in person some day. We discuss the status of the project every alternate day.

Work so far:

On the work front, I have installed DevStack with Sahara enabled (a blog post coming up soon on how to install it). I am exploring the Sahara codebase and pdb comes very handy. I am learning how to use screens in DevStack. So far, it has been an amazing experience.

I have fallen in love with OpenStack. I am learning new things each day. 🙂