How to contribute to
OpenStack
Jirayut Nimsaeng (Dear)
CEO & Founder | Opsta
OpenStack Thailand Chapter - User and Contributor MeetUp #1
EGA | November 30, 2016
#whoami
Jirayut Nimsaeng (Dear)
● CEO & Founder of Opsta
https://facebook.com/opstacloud
https://opsta.io
● Focus on building scale with
Cloud Automation
● First Certified OpenStack
Administrator (COA) in Thailand
● Open Source and
OpenStack Contributor
https://github.com/opsta
● One of the OpenStack Users and
Contributors Thailand organizer
What is OpenStack
● Open source software for creating private and
public clouds
● Coordinated collection of software from a few
dozen related projects
What is OpenStack
OpenStack Core Services
OpenStack Optional Services
OpenStack Big Tent
OpenStack Four “open”s
● Open Source
● Open Design
● Open Development
● Open Community
http://governance.openstack.org/reference/opens.html
OpenStack Community
● Created by a large growing community (by Mitaka)
○ 40,497 people
○ 596 supporting companies
○ 179 countries
○ More than 35 million lines of code
● Most recent ("Newton") release stats:
○ 2,581 developers
○ 309 different organizations
OpenStack Governance
● OpenStack Foundation
○ Board of Directors
○ Technical Committee (TC)
○ User Committee
○ Members
● OpenStack Project Teams
○ Project Team Leads (PLTs)
○ Active Project Contributor (APC)
○ Active Technical Contributor (ATC)
Contributors
OpenStack Release Cycle
Ocata Release schedule
https://releases.openstack.org/ocata/schedule.html
OpenStack Development Methodologies
● Individuals and interactions over processes and tools
● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan
Agile
http://agilemanifesto.org/
OpenStack Release Cycle
● Project Team Gathering (PTG)
● Milestone 1 (b1)
● Milestone 2 (b2)
● Milestone 3 (b3)
● RC1
● Release
OpenStack Development Milestone
● Planning and design activities
○ Discuss
○ Spec/Blueprint
○ Prioritizing items
● Implementation work
○ Push code to Gerrit for review
○ Feature freeze
● Release preparation
○ Test the code
○ Fix bugs
○ Release candidate 1, 2, 3...
● Release
Communication
● IRC
○ Freenodes IRC server
○ #openstack-<name-of-project>
○ http://eavesdrop.openstack.org for IRC logs
● Wiki pages
○ General information for each project
○ https://wiki.openstack.org/wiki/Main_Page
● Etherpads
○ For project collaborate and planning
○ https://etherpad.openstack.org
● Mailing lists
○ To communicate larger group than IRC
○ http://lists.openstack.org/cgi-bin/mailman/listinfo
How to start to
contribute?
Preparation before first contribute
● Choose project you interested to contribute
● Install git and git-review
● Study basic of git version control
● Register accounts
○ https://www.openstack.org/join/
○ https://launchpad.net
○ https://review.openstack.org
■ Put your public key
■ Sign Agreement
● Join IRC OpenStack project channel that you interested
http://docs.openstack.org/infra/manual/developers.html
Try first commit with sandbox
● File bug at https://launchpad.net/openstack-dev-sandbox
● Assign bug to yourself and change status to In Progress
● git clone git://git.openstack.org/openstack-dev/sandbox
● Make a change
● git checkout -b test-bug
● git add .
● git commit
● Put Closes-Bug: #<bug-number> as description
● git review -S
● git review
● Go to see your review and do approve
● See code merged and bug status change to Fix Released
Gerrit Workflow
Some tips to be contributor
● Talk with people and know them in IRC
● Start with fix documentation
● On the job training is the best way to learn
● Study Python and read the code
● Be patient
● Go to OpenStack Summit if you can
Benefit (1)
● Best way to learn how OpenStack working
● Best way to learn how Open Source working
● Best way to learn how world class coding
● Improve and add value to yourself
● Contribute to the world
● Free pass to OpenStack Summit
Benefit (2)
● Meet with cool people
Materials
● http://docs.openstack.org/upstream-training/
● http://launchpad.net
● https://www.openstack.org/join/
● http://review.openstack.org
● http://docs.openstack.org/infra/manual/developers.html
● IRC

How to contribute to OpenStack

  • 1.
    How to contributeto OpenStack Jirayut Nimsaeng (Dear) CEO & Founder | Opsta OpenStack Thailand Chapter - User and Contributor MeetUp #1 EGA | November 30, 2016
  • 2.
    #whoami Jirayut Nimsaeng (Dear) ●CEO & Founder of Opsta https://facebook.com/opstacloud https://opsta.io ● Focus on building scale with Cloud Automation ● First Certified OpenStack Administrator (COA) in Thailand ● Open Source and OpenStack Contributor https://github.com/opsta ● One of the OpenStack Users and Contributors Thailand organizer
  • 3.
    What is OpenStack ●Open source software for creating private and public clouds ● Coordinated collection of software from a few dozen related projects
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    OpenStack Four “open”s ●Open Source ● Open Design ● Open Development ● Open Community http://governance.openstack.org/reference/opens.html
  • 9.
    OpenStack Community ● Createdby a large growing community (by Mitaka) ○ 40,497 people ○ 596 supporting companies ○ 179 countries ○ More than 35 million lines of code ● Most recent ("Newton") release stats: ○ 2,581 developers ○ 309 different organizations
  • 10.
    OpenStack Governance ● OpenStackFoundation ○ Board of Directors ○ Technical Committee (TC) ○ User Committee ○ Members ● OpenStack Project Teams ○ Project Team Leads (PLTs) ○ Active Project Contributor (APC) ○ Active Technical Contributor (ATC)
  • 11.
  • 12.
  • 13.
  • 14.
    OpenStack Development Methodologies ●Individuals and interactions over processes and tools ● Working software over comprehensive documentation ● Customer collaboration over contract negotiation ● Responding to change over following a plan Agile http://agilemanifesto.org/
  • 15.
    OpenStack Release Cycle ●Project Team Gathering (PTG) ● Milestone 1 (b1) ● Milestone 2 (b2) ● Milestone 3 (b3) ● RC1 ● Release
  • 16.
    OpenStack Development Milestone ●Planning and design activities ○ Discuss ○ Spec/Blueprint ○ Prioritizing items ● Implementation work ○ Push code to Gerrit for review ○ Feature freeze ● Release preparation ○ Test the code ○ Fix bugs ○ Release candidate 1, 2, 3... ● Release
  • 17.
    Communication ● IRC ○ FreenodesIRC server ○ #openstack-<name-of-project> ○ http://eavesdrop.openstack.org for IRC logs ● Wiki pages ○ General information for each project ○ https://wiki.openstack.org/wiki/Main_Page ● Etherpads ○ For project collaborate and planning ○ https://etherpad.openstack.org ● Mailing lists ○ To communicate larger group than IRC ○ http://lists.openstack.org/cgi-bin/mailman/listinfo
  • 18.
    How to startto contribute?
  • 19.
    Preparation before firstcontribute ● Choose project you interested to contribute ● Install git and git-review ● Study basic of git version control ● Register accounts ○ https://www.openstack.org/join/ ○ https://launchpad.net ○ https://review.openstack.org ■ Put your public key ■ Sign Agreement ● Join IRC OpenStack project channel that you interested http://docs.openstack.org/infra/manual/developers.html
  • 20.
    Try first commitwith sandbox ● File bug at https://launchpad.net/openstack-dev-sandbox ● Assign bug to yourself and change status to In Progress ● git clone git://git.openstack.org/openstack-dev/sandbox ● Make a change ● git checkout -b test-bug ● git add . ● git commit ● Put Closes-Bug: #<bug-number> as description ● git review -S ● git review ● Go to see your review and do approve ● See code merged and bug status change to Fix Released
  • 21.
  • 22.
    Some tips tobe contributor ● Talk with people and know them in IRC ● Start with fix documentation ● On the job training is the best way to learn ● Study Python and read the code ● Be patient ● Go to OpenStack Summit if you can
  • 23.
    Benefit (1) ● Bestway to learn how OpenStack working ● Best way to learn how Open Source working ● Best way to learn how world class coding ● Improve and add value to yourself ● Contribute to the world ● Free pass to OpenStack Summit
  • 24.
    Benefit (2) ● Meetwith cool people
  • 25.
    Materials ● http://docs.openstack.org/upstream-training/ ● http://launchpad.net ●https://www.openstack.org/join/ ● http://review.openstack.org ● http://docs.openstack.org/infra/manual/developers.html ● IRC