Discovering Chaos: My LFX Mentorship Journey with LitmusChaos
Tags: litmuschaos, lfx, opensource, cncf
Published: 2023-09-01 17:22:12

Diving into Kubernetes as a newcomer can be quite overwhelming. Have you ever thought about contributing to CNCF projects? If so, you've probably had a lot of questions. Where do you begin? Which project is best suited to you? And how can you properly engage the community in order to get answers?

I can surely relate to these concerns because I've experienced them myself. The CNCF arena is home to many projects, each excelling in its own field and requiring specific prerequisites.

As I navigated this complex landscape, I came across a valuable resource - 'LFX Mentorships for CNCF projects.' It was like discovering a powerful tool that turned me into a Kubernetes superhero, much like Thor."

"So, I'm here to share my journey and shed light on how I entered the world of chaos engineering, particularly with LitmusChaos."

## What Is the LFX Mentorship Program and How Can You Apply?

The LFX Mentorship Program is a targeted 12-week initiative tailored to connect emerging contributors with seasoned mentors within the open-source realm. Its primary goal is to foster both personal and professional development by offering mentees invaluable guidance, unwavering support, and valuable insights.

To learn more about the program, be sure to check out the comprehensive [LFX Mentorship Docs](https://docs.linuxfoundation.org/lfx/mentorship/mentees/apply-to-a-project).

The application process for this program is uncomplicated. It starts with the creation of an LFX Mentee account, followed by the selection of projects from the platform. As part of your application, you'll need to submit both a resume and a cover letter. It's worth emphasizing that this isn't the final step, and this is where many students often make mistakes.

While applying for the project, I mentioned the approach I may use in the cover letter. I read the project Description and then created a github gist for the approach.  So getting to know the project before applying is a good idea.


## Choosing my Destiny: Project Pick and Confirmation

Ah, the moment of truth had arrived - it was decision time in my mentorship journey, and I had to pick a project. After setting up my LFX Mentee account and exploring the available projects, I had a list of options to consider. Each project seemed interesting in its own way.


But there was one project that stood out: "[Enhance Chaos-Operator and Chaos-Exporter](https://mentorship.lfx.linuxfoundation.org/project/bd6e875a-a64c-4405-af1c-677d8c45014b)" by [LitmusChaos](litmuschaos.io/). I decided to go for it, as I want to work with litmuschaos from 1st Term of LFX mentorship, and this project aligned my interest for Operator and Prometheus. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/miyq2kosd0j72bzo9y4y.png)


With a simple click on the "Apply" button, I threw my digital dice into the ring and submitted my application. Now, all I had to do was wait for a confirmation email.

The email arrived, and the subject line said it all, "Congratulations! You're In!" My excitement knew no bounds as I read the email, knowing that I had secured my place in the LitmusChaos for LFX mentorship program.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwqe7pjxo0hkjmlx5y5q.png)


With my choice made and confirmation in hand, I was ready for the next chapter of my mentorship journey, where I'd explore the world of Chaos Engineering with LitmusChaos. The adventure was about to begin, and I couldn't wait to dive in.
## Getting My Hands Dirty: The Work I Took On

With my project selected and my spot in the  mentorship program secured, it was time to roll up my sleeves and dive into the thick of things. In this section, I'll walk you through the tasks, challenges, and discoveries I encountered as I got to work on the project. Let's jump right in!

![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*eP_eFE7HDLu4Fz2uFxsFTg.jpeg)


My Project Included to work on several Litmuschaos Components, i.e chaos-exporter, chaos-operator, litmusctl. 
and !!!
[Shubham Chaudhary](https://github.com/ispeakc0de), [Vansh Bhatia](https://github.com/vanshBhatia-A4k9) were my mentors during this mentorship. Later on, [Saranya Jena](https://github.com/Saranya-jena), [Sarthak Jain](https://github.com/SarthakJain26) also joins.I had weekly sync-up meetings with them. In this meeting, we reviewed the goals we set in our previous meetings, discussed the progress, reviewed PRs I made, and identified any new goals or objectives that I would like to work towards. In our case, we documented our meetings in Docs, as shown in the photo below.

Firstly I started with reading [Litmuschaos Docs](https://docs.litmuschaos.io/), setting up my local environment, using the litmus  and running the litmus on my local cluster. This helped my to get brief idea how litmus works, also Shubham bhaiya explained me several components of litmus and it's architecture. 

Now, it was time to get into the project: I kicked off the project with the task of adding the Unit tests in[ Chaos-Exporter](https://github.com/litmuschaos/chaos-exporter), with weekly sync meeting being held, and discussion , i raised my First PR. From this task I learned about unit testing in golang, mocking the function and a lot more things. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tm79sjcc3e2wcdov4q9u.png)


Now, Let's get to second task, so now Sarthak and Saranya joins us, and i've been assigned the task to make [litmusctl](https://github.com/litmuschaos/litmusctl), a command-line utility developed by the LitmusChaos community, offers a powerful set of commands to manage, configure, and control various aspects of chaos engineering experiments. We're keeping tracks of tasks in a docs.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/16e2e1lw16qxn2wm7ojc.png)



As I was working on this task, I faced a lot of challenges but everything set sort out in the weekly sync up meetings. This task took me a long time, and finally raised the PR. Now it's was time test the changes, review the PR and after all resolving failing check again and again ( and force push ) we got something:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wioyt0hb2f52c6nuyfmr.png)


and amazing part is that, the changes introduced by were part of new release of [litmusctl](https://github.com/litmuschaos/litmusctl/releases/tag/0.23.0):


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k8d2ix5mywrzrjr1prea.png)



I've been contributing since the mentorship started, making small bugs fixed to introducing new changes. All of these contributions made the mentorship more interesting. If i started to explain all of these may this blog will never end. (just exaggerating)


## Okay, you did this and that

This mentorship has been great, working on several projects with amazing mentors, will play a crucial role in my open-source journey. 
Throughout my mentorship, I created a total of 5 pull requests. Out of these, 2 of them were successfully merged into the project, while 3 were still under review.
I also create a blog post ['Exploring litmusctl: A Comprehensive Guide'](https://dev.to/nageshbansal/exploring-litmusctl-a-comprehensive-guide-170k) to [Litmus Blogs](https://dev.to/t/litmuschaos). This blog explains how to use new release of Litmusctl.

LitmusChaos hosts Community and Contributor meeting every month and I had a chance to present my work and show it's demo in meet.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t55rm3swci502g6gh0ob.png)


And i got graduated from LFX mentorship.. But exploring chaos doesn't end here. 

## Conclusion: From Chaos to Clarity

In summary, my journey through the LFX Mentorship Program with LitmusChaos has been both challenging and rewarding. Navigating the vast CNCF project landscape as a newcomer can be overwhelming, but with the right resources and guidance, it becomes an exciting adventure.

The LFX Mentorship Program connected me with experienced mentors who provided crucial support throughout my journey. Key takeaways include the importance of selecting a project aligned with your interests, submitting a well-prepared application, and actively engaging with mentors and the community.

During the mentorship, I made meaningful contributions to LitmusChaos. These contributions not only enhanced my skills but also enriched the LitmusChaos ecosystem and helped others.

As I graduate from the program, I look forward to continuing my exploration of Chaos Engineering and open source. To those considering a similar journey, I encourage you to embrace the opportunity, learn, and grow in the open-source world. Your adventure awaits!

And before we sign off, a big shoutout and heartfelt thanks go to the amazing folks —the Litmus team! Your dedication to crafting a tool as awesome as litmusc doesn't go unnoticed.

Discover more about LitmusChaos by becoming part of our community on [GitHub](https://github.com/litmuschaos/litmus) and [Slack](https://kubernetes.slack.com/?redir=%2Farchives%2FCNXNB0ZTN).

It's time to let the chaos begin! 🚀🔥

Nagesh Bansal
LitmusChaos Contributor
[Linkedin](https://www.linkedin.com/in/nagesh-bansal/) | [Github](https://github.com/Nageshbansal)