Jump to: navigation, search

Difference between revisions of "Internship ideas"

(Added notice about this page being out of date)
 
(264 intermediate revisions by 51 users not shown)
Line 1: Line 1:
 
 
<!-- ## page was renamed from [[GnomeOutreachWomen]]/Ideas -->
 
<!-- ## page was renamed from [[GnomeOutreachWomen]]/Ideas -->
== Outreach Program for Women Ideas List ==
 
 
The GNOME Foundation provides an outreach program for women. You can learn more here:  https://live.gnome.org/OutreachProgramForWomen.
 
 
OpenStack would like to participate as a project again. We have identified some mentors and have sponsorship from the Foundation to participate in this program. This page should collect the ideas for applicants to work on.
 
 
They definitely emphasize that applicants may not have ever worked on FLOSS before. There are several stages to the program, but the first stage is to mentor during the application process itself. Joining mailing lists, IRC, understanding the channels of communication are good first steps. Logging bugs and fixing bugs are also good ideas.
 
 
Interns are expected to spend 40 hours a week on the project.
 
 
So, feel free to list ideas here:
 
 
== Documentation ==
 
 
OpenStack documentation is highly technical and processed like the code itself. See below for ideas on how to participate as a doc contributor.
 
 
=== API Try-it-out Website ===
 
 
Description: Try it out web forms on http://api.openstack.org/api-reference.html. To make it easier for users to understand the REST API calls, we want to use a javascript library called jstack to make calls to the TryStack cloud through a web interface. There are lots of tasks within the project: web design, forms design, javascript, CSS, HTML, possibly XSLT.
 
 
Blueprint: https://blueprints.launchpad.net/openstack-manuals/+spec/api-try-it-out
 
 
Expected results: Design for a web form that would enable jstack to integrate into a web page.
 
Bonus results: A working proof-of-concept web page that uses jstack to make calls to the TryStack cloud and returns results to the web page.
 
 
Knowledge Prerequisites: Understanding of XML, HTML, build automation, APIs, javascript
 
Nice-to-have knowledge: REST API, JSON, programming, Git
 
 
Mentor: Anne Gentle
 
 
=== Documentation Automation ===
 
  
Description: Documentation refactoring to do a massive refactor based on a "blueprint" which is a plan agreed upon by the community at a Summit. Includes debugging scripts that automate configuration listings directly from Python code. There will be both bug fixes and cleanup and new document creation. Documentation for [[OpenStack]] is a code-like task because you'll need to use Github and the Gerrit review process to submit changes. A list of the bugs for admin docs built to docs.openstack.org can be found at http://bugs.launchpad.net/openstack-manuals to get an idea of how technical some of these bugs are. A list of the bugs for API docs can be found at http://bugs.launchpad.net/openstack-api-site.
+
<div style="font-size: 150%; background-color: yellow; padding: 1em">
 +
<span style="font-size: 150%">This page is not actively maintained.</span>
 +
<br/><br/>
 +
Before working on any of the internship ideas on this page, contact the listed Mentor to find out whether the idea is still relevant.
 +
<br/><br/>
 +
You can also take a look at the current Outreachy proposals, which are up-to-date:
 +
https://www.outreachy.org/apply/project-selection/#openstack
 +
<br/><br/>
 +
Finally, you can take a look at the current "Upstream Investment Opportunities", which lists projects of interest to the community that don't have owners:
 +
https://governance.openstack.org/tc/reference/upstream-investment-opportunities/
 +
</div>
  
Blueprint: https://blueprints.launchpad.net/openstack-manuals/+spec/restructure-documentation
+
To submit new ideas please consider creating a new page and use the [[Template:InternshipIdea]] (instructions are provided on that page) and you can see how a [[Test idea|sample idea page]] would look like. The pages created with such template are listed on [[:Category:Internship_idea]].
  
Expected results: Patchsets submitted for review that build output to the docs.openstack.org site, reviewed by community members.
 
  
Knowledge Prerequisites: Understanding of XML, HTML, build automation
+
=  List of Ideas for Internships =
Nice-to-have knowledge: cloud operations, programming, Git, yaml, Python
 
  
Mentor: Anne Gentle
+
The OpenStack Foundation has multiple sources for internships, from [[Outreachy]] to [[:Category:GSoC|Google Summer of Code]] and other opportunities. This page collects the ideas for candidate interns to work on.
  
== Community ==
+
Applicants may not have ever worked on FLOSS before and have different levels of competence. Since we have different programs, add here ideas that can be completed by inexperienced contributors, developers or other fields (marketing, communication, graphic design, and anything that may be useful for OpenStack and to include new people in this community).
* Build a supply-chain management system to distribute merchandising to OpenStack User Groups around the world [reed on IRC / stefano at openstack org] [[Community/CollateralMgmt|Details]]
 
* Write a mobile app for tablets to create a paperless kiosk for marketing collateral at events [reed on IRC / stefano at openstack org]
 
* Investigate the availability of free software conferencing systems and deploy one inside the OpenStack Infrastructure [reed on IRC / stefano at openstack org]
 
  
 
== Coding ==
 
== Coding ==
  
=== Adding features to Python Clients of Various [[OpenStack]] Projects ===
+
{{InternshipIdea|
 
+
TITLE=OpenStack as a virtual Kubernetes node|
Description: Adding features to existing python clients for various projects of [[OpenStack]], for example glance client(https://launchpad.net/python-glanceclient), nova client (https://launchpad.net/python-novaclient), etc. It includes finding bugs and fixing them or implementing blue prints. This will help gain an overview of various parts of [[OpenStack]] project and improve the clients.
+
DESCRIPTION=Implement a virtual Kubernetes node that allows running containers/pods on OpenStack. Students applying to work on this will learn about Zun and Kubernetes, and will work on implemeting a whole new feature for Zun, which will include not only coding but also testing and documentation efforts. See https://github.com/virtual-kubelet/virtual-kubelet/issues/22 for more info on the requirement|
 
+
DIFFICULTY=Medium|
Expected results: Patchsets submitted for review, reviewed by community members.
+
TOPICS=OpenStack Zun, Kubernetes|
 
+
SKILLS=Python Go|
Knowledge Prerequisites: programming knowledge
+
EXTRA_SKILLS=|
 
+
MENTORS=hongbin on IRC channel #openstack-zun @ freenode |
Nice-to-have knowledge: cloud operations, python, Git
+
STATUS=Looking for candidates.|
 
+
PROGRAM=
Mentor: Iccha Sethi
+
}}
 
 
=== Consistent Transaction ID across all projects ===
 
 
 
Description: To ensure that a consistent transaction id is set for a given user requested operation and is carried forward towards all the other projects where the request might have been made. This helps tie into together requests and transaction and better analyze what went wrong where. For example, a single create server request may cause multiple requests to glance(image service), and depending on the issue, it would be great to both tie those together or investigate separately.
 
 
 
Listserv discussion: https://lists.launchpad.net/openstack/msg13084.html
 
 
 
Expected results: Patchsets submitted for review, reviewed by community members.
 
 
 
Knowledge Prerequisites: programming knowledge
 
 
 
Nice-to-have knowledge: cloud operations, python, Git
 
 
 
Mentor: Iccha Sethi
 
 
 
=== DRY the templates ===
 
 
 
Description: Horizon, the OpenStack web dashboard, uses Django and Django's templating system. However there are many places where templates should be respecting the "Don't Repeat Yourself" motto but instead were copy-pasted, which now makes them cumbersome to maintain and leads to discrepancies. The existing templates should be analysed to see which ones are similar enough and could be merged. Then the code and templates should be updated to do just this.
 
 
 
Related blueprint: https://blueprints.launchpad.net/horizon/+spec/dry-templates
 
 
 
Expected results: Patchsets submitted for review, reviewed by community members.
 
 
 
Knowledge prerequisites: programming knowledge
 
 
 
Nice-to-have knowledge: Python, Django
 
 
 
Mentor: [[User:Jpichon|Julie Pichon]]
 
 
 
=== Surface the "Instance Actions" Information ===
 
 
 
Description: In the web dashboard (Horizon), it is possible to see information about the instances currently running. It would be nice to be able to see the instance history when clicking on the details, e.g. to figure out when an instance was shut down and by whom, etc. This information is already provided by an API in the compute service (Nova), and needs to be surfaced both for the user (who can see the history for their own instances) and the admin (who can see the history for everyone). This will probably require using Horizon Tabs and TabGroups, adding it to the instance details and finding a nice way to display the data.
 
 
 
Related blueprint: https://blueprints.launchpad.net/horizon/+spec/instance-actions-dashboard
 
 
 
Expected results: Patchsets submitted for review, reviewed by community members.
 
 
 
Knowledge prerequisites: programming knowledge
 
 
 
Nice-to-have knowledge: Python, Django
 
 
 
Mentor: [[User:Jpichon|Julie Pichon]]
 
 
 
=== Ceilometer improvements ===
 
 
 
Description: we have several features in Ceilometer that could be interested, depending on the interest of the internship.
 
 
 
Related blueprints:
 
  
* https://blueprints.launchpad.net/ceilometer/+spec/api-group-by
+
{{InternshipIdea|
* https://blueprints.launchpad.net/ceilometer/+spec/db-ttl
+
TITLE=Improve Cinder integration for Docker containers|
* https://blueprints.launchpad.net/ceilometer/+spec/count-api-requests
+
DESCRIPTION=Add support for Cinder volume multi-attach for Docker containers. Students willing to take this task will learn about Zun and Cinder. During the Ocata cycle a new flow for volume attaching has been implemented in Cinder. We want to make Zun leverage this new flow. Implementing this will require the student not only contribute with code, but also with testing and documentation for the feature. Check https://blueprints.launchpad.net/zun/+spec/cinder-volume-multi-attach for more details.|
* https://blueprints.launchpad.net/ceilometer/+spec/nova-cell-support
+
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Zun, OpenStack Cinder, Docker|
 +
SKILLS=Python|
 +
EXTRA_SKILLS=|
 +
MENTORS=hongbin on IRC channel #openstack-zun @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
 +
{{InternshipIdea|
 +
TITLE=Help Implement Support for a Generic Backup Driver in Cinder|
 +
DESCRIPTION=The goal is to create a generic backup driver that be used to turn any Cinder volume backend into a target for backups.
 +
This way, we won't need to implement specific backup driver for supported backends. Students picking this internship task will learn about Cinder and will be asked to contribute with testing and documentation of this feature. Refer to https://review.openstack.org/#/c/504099/1/specs/queens/generic-backup-implementation.rst for more detials |
 +
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Cinder, Storage|
 +
SKILLS=Python|
 +
EXTRA_SKILLS=|
 +
MENTORS=jungleboyj and e0ne on IRC channel #openstack-cinder @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Expected results: Patchsets submitted for review, reviewed by community members.
+
{{InternshipIdea|
 +
TITLE=Eliminate Redundant Downloads of Uncached Images|
 +
DESCRIPTION=An important component in the amount of time it takes to boot a new virtual machine is how long it takes to get the image being used from backend storage down to the host.  To speed this up, Glance has optional caching middleware that for some back ends (specifically, OpenStack Swift), significantly improves performance.  The problem is that the cache is kind of stupid, and in the scenario where someone wants to boot 1000 VMs from the same image, each request will discover that the image isn't cached, and will initiate a download from the storage backend, resulting in severely degraded performance.
  
Knowledge prerequisites: programming knowledge
+
There are some complexities to improving the caching middleware that are discussed in a Glance specification document: http://specs.openstack.org/openstack/glance-specs/specs/untargeted/glance/duplicate-downloads.html .  In addition to coding, you will get exposure to working in an open-source community from the design phase through implementation, because your first task will be to re-propose the spec to the Glance community so that it can be reviewed and re-approved. (Don't worry, this won't drag on because it was already approved once; it is untargeted because the original developer was reassigned to a different project.)  This is an interesting project that will touch several Glance components: the API server, the caching middleware, and the glance_store library.  And, of course, you'll be adding good tests.|
 +
DIFFICULTY=Low to Medium (you don't need previous OpenStack experience, but you need to be self-motivated enough to learn the components of Glance and how they interact)|
 +
TOPICS=Glance|
 +
SKILLS=Python|
 +
EXTRA_SKILLS=General distributed systems knowledge|
 +
MENTORS=jokke_ on IRC channel #openstack-glance @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Nice-to-have knowledge: MongoDB, SQL
 
  
Mentor: Julien Danjou
+
{{InternshipIdea|
 +
TITLE=Transform legacy notifications to the new versioned framework in Nova|
 +
DESCRIPTION=Help transforming legacy Nova notifications to a new versioned framework. Students applying for this task will learn about Nova and the oslo.messaging library, and will help transforming the legacy notifications of Nova to a proper versioned API using an already established framework. Check for more details on this page https://wiki.openstack.org/wiki/Nova/VersionedNotificationTransformation|
 +
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Nova|
 +
SKILLS=Python |
 +
EXTRA_SKILLS=|
 +
MENTORS=gibi on IRC channel #openstack-nova @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
=== Marconi WebSocket Transport ===
+
{{InternshipIdea|
 +
TITLE=Policy Testing|
 +
DESCRIPTION=WIth all the system-scope work coming down the pipe and landing in Queens, we need to be prepared to rethink out test_v3_protection.py test module. This is the module responsible for making it so policies are doing what they should. Since we're adding a few new combinations with system scope, this should result in a test explosion that could be difficult to maintain and understand.
  
Description: Marconi, a queuing service for OpenStack, is in its early ages and some of its areas are still being designed and developed from scratch. It is a great opportunity for interns to learn about queuing systems, OpenStack architecture and development methodologies. The proposed project is to help developing a WebSocket based transport for Marconi.  
+
*Can we come up with a way to flexibly test different policy cases
 +
*Refactor current coverage
 +
*Integration with Patrole|
 +
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Keystone|
 +
SKILLS=Python |
 +
EXTRA_SKILLS=|
 +
MENTORS=hrybacki and lbragstad on IRC channel #openstack-keystone @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Related blueprint: https://blueprints.launchpad.net/marconi/+spec/websocket-endpoint
+
{{InternshipIdea|
   
+
TITLE=Flask support|
Expected results: Patchsets submitted for review, reviewed by community members.
+
DESCRIPTION=
 +
We have a home-grown WSGI implementation when there are suitable frameworks to do that lifting for us. We can get rid of a wheel to maintain by moving to a framework and ditching the home-grown implementation. We've talked about moving to Flask for a while. The benefits would be less maintenance of a home-grown implementation.|
 +
  DIFFICULTY=Medium|
 +
TOPICS=OpenStack Keystone|
 +
SKILLS=Python |
 +
EXTRA_SKILLS=|
 +
MENTORS=TBA |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Knowledge prerequisites: programming knowledge
+
{{InternshipIdea|
 +
TITLE=Native SAML|
 +
DESCRIPTION=Currently, federation requires the use of Apache plugins to do the SAML processing. We want to experiment with a piece of middleware that can go into keystone paste pipeline to process SAML according to specification. This will make federation easier to configure for deployers and it has the ability to reduce a mapping currently used in federation (assertions -> env var, env vars -> keystone mappings).|
 +
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Keystone|
 +
SKILLS=Python |
 +
EXTRA_SKILLS=|
 +
MENTORS=cmurphy and rodrigods on IRC channel #openstack-keystone @ freenode |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Nice-to-have knowledge: RESTFul APIs, HTTP, MongoDB
+
{{InternshipIdea|
 +
TITLE=Make keystone a fully-fledged IdP|
 +
DESCRIPTION=Currently, keystone can act as an IdP but only in a non-standard in-house-designed auth flow, not with WebSSO. We could implement the rest of the WebSSO standard in keystone.
 +
https://bugs.launchpad.net/keystone/+bug/1470205
 +
This could be a good warm-up bug for either this or the Native SAML project: https://bugs.launchpad.net/keystone/+bug/1641625|
 +
DIFFICULTY=Medium|
 +
TOPICS=OpenStack Keystone|
 +
SKILLS=Python |
 +
EXTRA_SKILLS=|
 +
MENTORS=TBA |
 +
STATUS=Looking for candidates.|
 +
PROGRAM=
 +
}}
  
Mentor: [[User:flaper87|Flavio Percoco]]
+
{{InternshipIdea|
 +
TITLE=OpenStack Manila Integration with OpenStack CLI (OSC)|
 +
DESCRIPTION=OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Object Store and Volume APIs together in a single shell with a uniform command structure. OSC primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack. Manila basic commands should be added to OSC client. This will be helpful for user to provide a unified shell command structure to describe operations in OpenStack. |
 +
DIFFICULTY=Low|
 +
TOPICS=OpenStack Manila|
 +
SKILLS=Ruby|
 +
EXTRA_SKILLS=Python|
 +
MENTORS=enriquetaso and vkmc on IRC channel #openstack-manila @ freenode|
 +
STATUS=Looking for candidates.|
 +
PROGRAM=Outreachy May-Aug 2019 candidates.
 +
}}

Latest revision as of 16:03, 15 February 2023


This page is not actively maintained.

Before working on any of the internship ideas on this page, contact the listed Mentor to find out whether the idea is still relevant.

You can also take a look at the current Outreachy proposals, which are up-to-date: https://www.outreachy.org/apply/project-selection/#openstack

Finally, you can take a look at the current "Upstream Investment Opportunities", which lists projects of interest to the community that don't have owners: https://governance.openstack.org/tc/reference/upstream-investment-opportunities/

To submit new ideas please consider creating a new page and use the Template:InternshipIdea (instructions are provided on that page) and you can see how a sample idea page would look like. The pages created with such template are listed on Category:Internship_idea.


List of Ideas for Internships

The OpenStack Foundation has multiple sources for internships, from Outreachy to Google Summer of Code and other opportunities. This page collects the ideas for candidate interns to work on.

Applicants may not have ever worked on FLOSS before and have different levels of competence. Since we have different programs, add here ideas that can be completed by inexperienced contributors, developers or other fields (marketing, communication, graphic design, and anything that may be useful for OpenStack and to include new people in this community).

Coding

OpenStack as a virtual Kubernetes node

Implement a virtual Kubernetes node that allows running containers/pods on OpenStack. Students applying to work on this will learn about Zun and Kubernetes, and will work on implemeting a whole new feature for Zun, which will include not only coding but also testing and documentation efforts. See https://github.com/virtual-kubelet/virtual-kubelet/issues/22 for more info on the requirement

Difficulty Medium
Topics OpenStack Zun, Kubernetes
Required skills Python Go
Extra skills
Mentor hongbin on IRC channel #openstack-zun @ freenode
Status Looking for candidates.
Program


Improve Cinder integration for Docker containers

Add support for Cinder volume multi-attach for Docker containers. Students willing to take this task will learn about Zun and Cinder. During the Ocata cycle a new flow for volume attaching has been implemented in Cinder. We want to make Zun leverage this new flow. Implementing this will require the student not only contribute with code, but also with testing and documentation for the feature. Check https://blueprints.launchpad.net/zun/+spec/cinder-volume-multi-attach for more details.

Difficulty Medium
Topics OpenStack Zun, OpenStack Cinder, Docker
Required skills Python
Extra skills
Mentor hongbin on IRC channel #openstack-zun @ freenode
Status Looking for candidates.
Program


Help Implement Support for a Generic Backup Driver in Cinder

The goal is to create a generic backup driver that be used to turn any Cinder volume backend into a target for backups. This way, we won't need to implement specific backup driver for supported backends. Students picking this internship task will learn about Cinder and will be asked to contribute with testing and documentation of this feature. Refer to https://review.openstack.org/#/c/504099/1/specs/queens/generic-backup-implementation.rst for more detials

Difficulty Medium
Topics OpenStack Cinder, Storage
Required skills Python
Extra skills
Mentor jungleboyj and e0ne on IRC channel #openstack-cinder @ freenode
Status Looking for candidates.
Program


Eliminate Redundant Downloads of Uncached Images

An important component in the amount of time it takes to boot a new virtual machine is how long it takes to get the image being used from backend storage down to the host. To speed this up, Glance has optional caching middleware that for some back ends (specifically, OpenStack Swift), significantly improves performance. The problem is that the cache is kind of stupid, and in the scenario where someone wants to boot 1000 VMs from the same image, each request will discover that the image isn't cached, and will initiate a download from the storage backend, resulting in severely degraded performance.

There are some complexities to improving the caching middleware that are discussed in a Glance specification document: http://specs.openstack.org/openstack/glance-specs/specs/untargeted/glance/duplicate-downloads.html . In addition to coding, you will get exposure to working in an open-source community from the design phase through implementation, because your first task will be to re-propose the spec to the Glance community so that it can be reviewed and re-approved. (Don't worry, this won't drag on because it was already approved once; it is untargeted because the original developer was reassigned to a different project.) This is an interesting project that will touch several Glance components: the API server, the caching middleware, and the glance_store library. And, of course, you'll be adding good tests.

Difficulty Low to Medium (you don't need previous OpenStack experience, but you need to be self-motivated enough to learn the components of Glance and how they interact)
Topics Glance
Required skills Python
Extra skills General distributed systems knowledge
Mentor jokke_ on IRC channel #openstack-glance @ freenode
Status Looking for candidates.
Program



Transform legacy notifications to the new versioned framework in Nova

Help transforming legacy Nova notifications to a new versioned framework. Students applying for this task will learn about Nova and the oslo.messaging library, and will help transforming the legacy notifications of Nova to a proper versioned API using an already established framework. Check for more details on this page https://wiki.openstack.org/wiki/Nova/VersionedNotificationTransformation

Difficulty Medium
Topics OpenStack Nova
Required skills Python
Extra skills
Mentor gibi on IRC channel #openstack-nova @ freenode
Status Looking for candidates.
Program


Policy Testing

WIth all the system-scope work coming down the pipe and landing in Queens, we need to be prepared to rethink out test_v3_protection.py test module. This is the module responsible for making it so policies are doing what they should. Since we're adding a few new combinations with system scope, this should result in a test explosion that could be difficult to maintain and understand.

  • Can we come up with a way to flexibly test different policy cases
  • Refactor current coverage
  • Integration with Patrole
Difficulty Medium
Topics OpenStack Keystone
Required skills Python
Extra skills
Mentor hrybacki and lbragstad on IRC channel #openstack-keystone @ freenode
Status Looking for candidates.
Program


Flask support

We have a home-grown WSGI implementation when there are suitable frameworks to do that lifting for us. We can get rid of a wheel to maintain by moving to a framework and ditching the home-grown implementation. We've talked about moving to Flask for a while. The benefits would be less maintenance of a home-grown implementation.

Difficulty Medium
Topics OpenStack Keystone
Required skills Python
Extra skills
Mentor TBA
Status Looking for candidates.
Program


Native SAML

Currently, federation requires the use of Apache plugins to do the SAML processing. We want to experiment with a piece of middleware that can go into keystone paste pipeline to process SAML according to specification. This will make federation easier to configure for deployers and it has the ability to reduce a mapping currently used in federation (assertions -> env var, env vars -> keystone mappings).

Difficulty Medium
Topics OpenStack Keystone
Required skills Python
Extra skills
Mentor cmurphy and rodrigods on IRC channel #openstack-keystone @ freenode
Status Looking for candidates.
Program


Make keystone a fully-fledged IdP

Currently, keystone can act as an IdP but only in a non-standard in-house-designed auth flow, not with WebSSO. We could implement the rest of the WebSSO standard in keystone. https://bugs.launchpad.net/keystone/+bug/1470205 This could be a good warm-up bug for either this or the Native SAML project: https://bugs.launchpad.net/keystone/+bug/1641625

Difficulty Medium
Topics OpenStack Keystone
Required skills Python
Extra skills
Mentor TBA
Status Looking for candidates.
Program


OpenStack Manila Integration with OpenStack CLI (OSC)

OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Object Store and Volume APIs together in a single shell with a uniform command structure. OSC primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack. Manila basic commands should be added to OSC client. This will be helpful for user to provide a unified shell command structure to describe operations in OpenStack.

Difficulty Low
Topics OpenStack Manila
Required skills Ruby
Extra skills Python
Mentor enriquetaso and vkmc on IRC channel #openstack-manila @ freenode
Status Looking for candidates.
Program Outreachy May-Aug 2019 candidates.