Week 1: Project Navigation and Task 1
Tags: opensource, horizon, openstack, cinder
Published: 2024-06-05 10:57:47

You might know that I'll be contributing to OpenStack Horizon. If not, you can read all about it in my [application journey.](https://dev.to/ndutared/my-outreachy-application-journey-28m1)

In this post, I share my progress this far.

## Week 1

Week 1 was a roller coaster for me. I spent some time refreshing my Python and Django knowledge, but honestly there was still a lot to learn.

I spent the first week going through some tutorials, as I had already done the project set up during the contribution phase.

The tutorials were okay, and I started to understand the project somewhat.

Truth be told, OpenStack is a mammoth. 

### Task 1

I had my first meeting and it was apparent that we would need Angular to work with Glance, as there had been a transition. I have never written any Angular in my life, so that was quite a punch in the stomach.

So what next?

My mentors advised to start with Python/Django, so now the focus moved to Cinder(the initial plan was to work with Glance).

So, we set up the first task. And I realized that I had not even come across Cinder code even after spending some time going through the code.

My mentors were kind enough to go point me in the right direction. 

The first task was fixing a really small bug.

### Blockers

I was excited that my mentors wanted me to start small. My mentor had fixed the bug in like five minutes. I was like, okay, maybe it'll take me an hour tops.

When I actually sat down to write the code, I was quite lost. It took me quite a while to find the right files.

I then spent hours going through volumes code. I went through the classes, trying to understand what each was doing, and noting the ones responsible for the bug I was going to fix.

### Murky waters

Somewhere along the way, I realized that the volumes code was not 100% mapped to Django file structure. 

I couldn't find the templates responsible for that particular code. And after many hours I was in very muddy waters. I couldn't just figure out the connection between some files.

I went to bed without any sense of accomplishment.

### Asking for help

I however was honest about not making some connections, and my mentor sent more resources my way.

### Out of the Woods

It helps to work on code when my mind is settled. So I read through my mentors resources. One of them was a tutorial I already gone through.

I stepped back and tried to apply my experience getting lost with the resources. I was also able to narrow down to the specific code where the bug was.

## Submitting my review

It took me a while to remember the steps I needed to take. I had copied and pasted a doc with some steps, but I couldn't trace its source.

I finally found it, and decided to write down the [submitting a review steps](https://github.com/AgnesNM/OpenStack-Horizon/blob/main/review.md) for my future self, and hopefully, for someone else.

## Forging onward 

For now, there's still a long way to go, and I hope for many good days, without getting too lost in the woods. 

## Speaking OpenStack if you are coming from AWS

I've found it helpful to think about OpenStack in terms of AWS, since that's what I understand a little better. So here is "AWS-translated OpenStack"

There's much more, of course, these are just some main concepts.

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

Cover Image credits: https://bit.ly/4aNF3zB