DEV Community

Cover image for OpenStack Horizon Week 1: Project Navigation and Task 1
Abby Nduta
Abby Nduta

Posted on • Edited on

1

OpenStack Horizon Week 1: Project Navigation and Task 1

You might know that I'll be contributing to OpenStack Horizon. If not, you can read all about it in my application journey.

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 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

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

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more