Upstream contribution mentoring program
in Korea User Group
Seongsoo Cho / OpenStack Korea User Group
1
Seongsoo Cho
Organizer of OpenStack Korea User Group
( 2017 ~ now )
OpenStack operator at NHN Cloud
2
Main topic :
The Journey to making an Upstream
Contributing Culture in Korea User Group
3
Why do we want to contribute upstream?
We are users and developers of OpenStack.
User group activities are important in the OpenStack community,
but there are many regional-oriented activities.
Contribution is the most direct way to participate in the OpenStack global community.
You can feel the joy of participating in the global community while learning the development
process and culture of openstack.
4
In the hope that members of Korea User
Group will become closer to the global
community,
5
OpenStack Upstream Institute
6
But, There was a big problem
7
But, There was a big problem
8
The Organizer are infra engineer.
We have never contributed code to opensource.
9
Fortunately,
Tringh lives in Korea and he is a searchlight PTL.
10
Let’s try to contribute to searchlight
11
In 2020,
we became mentors for the OpenStack team.
12
Contribute to core components is too difficult
13
Decided to contribute to the SDK and client
Contribute to SDK and client
Easy to understand the code structure and flow.
You do not need to know openstack well.
Good for studying openstack and contributing code at the same time.
14
15
After two years of trial and error, our plan
gradually developed.
2020, Contribution Academy Schedule
Mentoring period : 3 month
1st month : openstackclient code analysis
2nd month : Find the issue from storyboard and solve it.
3rd month : Continue to solve the issue and translate the docs
16
Openstackclient code analysis
First of all, you need to know how the openstackclient code works.
It is difficult to know where to start to analyze the code blindly.
So we created a course where we could do our weekly assignments and analyze the code.
You can't contribute upstream, but practice adding new features to your code.
17
Step1 : Add a column in openstack server list
purpose
● Check whether the desired value can be obtained through the api.
● Learn how to control the result screen in cli.
18
Step2 : Add a column in openstack server show
Purpose
- Learn how to manage component clients in
the cli and how to get and output data from
multiple components.
19
Step3 : Fix a failed test case
After steps 1 and 2, all test cases related to servers fail.
In Step3, we try to modify the failed test case according to the newly added function.
What can mentee learn?
- Learn test case structure of openstackclient, fake/mockup data structure
- How to use Tox
20
21
Okay, Now Ready for contribute
Let’s find the issue and solve it !
22
Nope..
23
There are many issues there, but I don't know what to solve
24
Found an issue I want to solve, but I don't know how
25
Openstackclient integrates the cli that each
component has.
Then, there will be instructions that have not
been implemented yet.
Mapping Guide
There was a table mapping
Component CLI and
openstackclient.
26
Mapping Guide
There are many things that haven't been
implemented yet.
Directed by implementing these
27
Developing Unimplemented Commands
Take Glance cli as an example
The implementation method of the not yet implemented command is in python-glanceclient.
Referring to the method implemented in glanceclient, implement similarly to openstackclient.
28
29
In our mentoring, we are continuously working
on adding unimplemented commands to
openstackclient.
Achievements over the past 2 years
2020
- Bug patch: 3
- Bug report : 1
- Issue Comment : 2
30
2021
- Bug patch: 5
- Bug report : 2
- Issue Comment : 4
- New Command: 8
- Documentation: 3
2022
- Bug patch: 1
- TBD
Thanks
31

Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program in Korea User Group

  • 1.
    Upstream contribution mentoringprogram in Korea User Group Seongsoo Cho / OpenStack Korea User Group 1
  • 2.
    Seongsoo Cho Organizer ofOpenStack Korea User Group ( 2017 ~ now ) OpenStack operator at NHN Cloud 2
  • 3.
    Main topic : TheJourney to making an Upstream Contributing Culture in Korea User Group 3
  • 4.
    Why do wewant to contribute upstream? We are users and developers of OpenStack. User group activities are important in the OpenStack community, but there are many regional-oriented activities. Contribution is the most direct way to participate in the OpenStack global community. You can feel the joy of participating in the global community while learning the development process and culture of openstack. 4
  • 5.
    In the hopethat members of Korea User Group will become closer to the global community, 5
  • 6.
  • 7.
    But, There wasa big problem 7
  • 8.
    But, There wasa big problem 8 The Organizer are infra engineer. We have never contributed code to opensource.
  • 9.
    9 Fortunately, Tringh lives inKorea and he is a searchlight PTL.
  • 10.
    10 Let’s try tocontribute to searchlight
  • 11.
    11 In 2020, we becamementors for the OpenStack team.
  • 12.
    12 Contribute to corecomponents is too difficult
  • 13.
    13 Decided to contributeto the SDK and client
  • 14.
    Contribute to SDKand client Easy to understand the code structure and flow. You do not need to know openstack well. Good for studying openstack and contributing code at the same time. 14
  • 15.
    15 After two yearsof trial and error, our plan gradually developed.
  • 16.
    2020, Contribution AcademySchedule Mentoring period : 3 month 1st month : openstackclient code analysis 2nd month : Find the issue from storyboard and solve it. 3rd month : Continue to solve the issue and translate the docs 16
  • 17.
    Openstackclient code analysis Firstof all, you need to know how the openstackclient code works. It is difficult to know where to start to analyze the code blindly. So we created a course where we could do our weekly assignments and analyze the code. You can't contribute upstream, but practice adding new features to your code. 17
  • 18.
    Step1 : Adda column in openstack server list purpose ● Check whether the desired value can be obtained through the api. ● Learn how to control the result screen in cli. 18
  • 19.
    Step2 : Adda column in openstack server show Purpose - Learn how to manage component clients in the cli and how to get and output data from multiple components. 19
  • 20.
    Step3 : Fixa failed test case After steps 1 and 2, all test cases related to servers fail. In Step3, we try to modify the failed test case according to the newly added function. What can mentee learn? - Learn test case structure of openstackclient, fake/mockup data structure - How to use Tox 20
  • 21.
    21 Okay, Now Readyfor contribute Let’s find the issue and solve it !
  • 22.
  • 23.
    23 There are manyissues there, but I don't know what to solve
  • 24.
    24 Found an issueI want to solve, but I don't know how
  • 25.
    25 Openstackclient integrates thecli that each component has. Then, there will be instructions that have not been implemented yet.
  • 26.
    Mapping Guide There wasa table mapping Component CLI and openstackclient. 26
  • 27.
    Mapping Guide There aremany things that haven't been implemented yet. Directed by implementing these 27
  • 28.
    Developing Unimplemented Commands TakeGlance cli as an example The implementation method of the not yet implemented command is in python-glanceclient. Referring to the method implemented in glanceclient, implement similarly to openstackclient. 28
  • 29.
    29 In our mentoring,we are continuously working on adding unimplemented commands to openstackclient.
  • 30.
    Achievements over thepast 2 years 2020 - Bug patch: 3 - Bug report : 1 - Issue Comment : 2 30 2021 - Bug patch: 5 - Bug report : 2 - Issue Comment : 4 - New Command: 8 - Documentation: 3 2022 - Bug patch: 1 - TBD
  • 31.