Outreachy | Modifying Expectations: Progress Report
This is the fourth blog in the series of Outreachy Internship blogs. As per the goal of the weeks I am publishing a blog every 2nd week, for the next 3 months. The prompt of this week is to write a report about your progress on your project and what modifications happen in project goals.
In this blog, I’m going to talk about what I have accomplished so far, what goals took more time than expected and my modified goals for the second half of the internship.✨ Well, I am now half-way done with my Outreachy internship at OpenStack. Let me grab my cup of iced coffee and celebrate this with my laptop, because why not? huh! I’m on the second half of the internship 🎉💃🏻
I’ve been learning a lot about the OpenStack ecosystem from the starting of the project tasks and how I can complete the goals of the project. 🌺
Before starting the blog I want to mention that my internship got two weeks extension, and now my end date of the internship is Sept. 7, 2021 :)
Previously my project task was to adding support to share type quotas in the Manila UI project. Manila has the option to define the quotas for a given share type. In setups with multiple share-types, per share type quota will allow resource providers to have better control over the provisioned resources. So my task was to implement this in the UI. But now due to some issues, there is some modification in my project task. I don’t want to share about the modifications here. You can keep reading to find :D
What was your original internship project timeline?
During the submission of the final application, we applicants are required to submit the project timeline that I’ll be working on for the next 3 months. This timeline covers everything about the project and the task.
As per the project, my timeline was something like this — get familiar with Manila UI code, contribute to small fixes, get familiar with share type quotas API, draft the mock of how the share type quotas visual component should look like, draft a basic layout of the visual components needed to work on the implementation, start coding to ready the base visual component up for review, continue coding…, include unit tests, work on documentation and done!
What goals have you met?
Okay so if I have to talk about my goals then I can say that there are many goals that I met and some of are below, because in those I faced many issue to complete it.
- OpenStack DevStack environment setup for the OpenStack project. It was very challenging for me due to some new issues hit every time when one got fixed.
- Getting familiar with the code I’m currently contributing on projects like — python-manilaclient and manila-ui.
- Getting familiar with the OpenStack ecosystem, now I know the flow — picking up the issue, assign it to myself, start making changes for that and submit it for review in the Gerrit.
- Also making myself familiar with the Python syntax was a big task :/
What have you accomplished in the first half of your internship?
My two patches got merged into OpenStack. Here are both:
- 799997: Add — wait flag to the create share group operation | https://review.opendev.org/c/openstack/python-manilaclient/+/799997
- 795990: Replace assertDictMatch with assertDictEqual method in tests | https://review.opendev.org/c/openstack/manila/+/795990
Contributing to both the patches was very challenging for me, from not knowing anything about Python and unit testing to working on such patches with a huge codebase in Python. All I can say is I have learned a lot(i mean it!) when I worked on both the patches. Also, I am now more familiar with OpenStack ecosystem.
I am continuously working on the patches with are assigned by my mentor and learning too 🙋🏻♀️
What project goals took longer than expected?
Setting up the DevStack environment into my VirtualBox took a lot of time and ended up working on Vexxhost VM provided by mentor. Also, sometimes going through the reviews which are left by reviewer and making things clear before working on it took a lot of time too.
I believe these all took longer than expected due to the the resources I wasn’t able to find resources on time and I was afraid to ask question again and again to my mentor in the beginning of the internship. But now I ask many question multiple times in a day and make sure that I know things clearly before I start working on those.
What is your new plan for the second half of the internship?
So here comes the modification part, I learnt that modifying your project timeline to set more realistic goals is a skill all contributors need to learn. I had discussion with my mentor about my internship tasks about the second half of the internship — we ended up dropping the Manila UI part due to less reviewer for Manila UI projects and moving to the another Manila project which is OpenStack Manila — OSC Integration with python-manilaclient.
This project is all about building OpenStack CLI(OSC) plugin within python-manilaclient to support OSC users enhances the usability of ‘manila’ within an OpenStack cloud. In this project I’ll be creating a CLI support for Manila.
I learned about this project and find it interesting to work on, though I love to work more on UI part but moving to something new and getting out of my comfort zone will surely shape me in something new :)
That’s all folks! I think I’m done here. See you on the other side of the internship. I’m damn excited for the tasks I’ll working on for the upcoming weeks 🌻