The past few weeks, I’ve been reading up on Google Tests. Its the primary way how developers at Mesos test whether their code is working properly. Google test is a unit testing library for the C++ programming language based on the xUnit architecture. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. Since Mesos is made up of many different parts such as the Master, Slave, Scheduler, etc. unit testing is quite convenient. To understand anything properly, you have to implement it practically somewhere. So, I read the introduction to Google Tests, and wrote a test for one of the programs I’d written before. I chose a simple one, just to get the hang of it. I was delighted to find out that the test I wrote worked, no matter how easy it was.
Then, I wrote a test for the code that I’d written to display capabilities (ability of a framework to accept revocable resources) on the state.json HTTP endpoint. It took a while because I had to understand to write a test for Mesos. It’s a bit complicated, because you have to mock almost every component of the software, like the master and the scheduler. Capabilities of a framework are only read by the master and allocator, so there was no need to mock a slave. I’ve posted a review request for the test. You can check it out here.
Also, I got wonderful news this week. In my previous blog post, I’d mentioned the MesosCon Diversity Scholarship. Well, I got accepted 😀 Because I’m still new at being an adult, I had to convince my parents a bit to allow me to go alone all the way to the US. I’m so grateful to them for agreeing! ^_^ I’m so excited because I’ll get to meet my mentor and everyone related to Mesos in real life. It’ll be a great learning experience for me. Looking forward to attending the convention 🙂
The past few days, I’ve been working on my Outreachy project, i.e, Updating Framework Info. The project is described really well here. A Framework in Mesos is basically a software system that manages and executes one or more tasks in a cluster. This week, I’ll be working on solving this.
Most of my time is spent in reading and understanding what the code does, so that I can modify it appropriately. If I’m stuck and unable to understand the code, I ask my mentor to help me out. Sometimes, I post my query on the Mesos developers mailing list and I receive incredibly helpful answers 🙂
It’s not like working at Outreachy is taking up all of my time. I do get time to do normal 18-year old stuff. Like this –
Hanging out with friends too –
I’ve also applied for the MesosCon Diversity Scholarship. Let’s see if I’m accepted. *fingers crossed*
One day, I was just browsing through Twitter, you know, reading other people’s tweets and catching up on things. As I was scrolling down, a particular tweet caught my eye. It was about Outreachy – a paid internship program for women. I clicked the link and read up on the program. The main aim of the program is to encourage women to contribute to open source software and support software freedom. Even though I had absolutely no experience working on open source software, I still decided to take a crack at the program because I am a feminist 🙂 (also, I was free the whole summer)
The main page of Outreachy listed the participating organizations, the application process and various details. The organization that interested me the most was Apache Mesos. Mesos is a cluster manager that abstracts CPU, memory, storage and other compute resources away from machines, enabling fault-tolerant and elastic distributed systems to easily be built and run effectively. Coincidentally, I had basic knowledge of C++, so working on Mesos was perfect for me. Therefore, after extensive reading on what Mesos is and how it works, I submitted two patches, out of which, one was accepted. Then, I submitted my application and waited for the results to come out. After acquainting myself with the software and the community, I realized I really wanted to be a part of it, mostly because the Mesos community is extremely welcoming to newcomers ^_^
The results came out, and surprisingly, I got accepted! 😀
The first week, I had a lot of trouble. I spent hours on problems that would probably take minutes for pros to solve. But with lots of help from my mentor, Vinod Kone, I was able to successfully submit more patches. I am still working on starter tickets to get more familiar with the code base. Once I am, I’ll start working on my proposed project.