Removes old things in details and corrects numbers

- In details page, outline is too old (for Kilo).
  Since it cannot reflect current structure, let's delete it.
- 2,000 developers -> 6,000 developers according to
  http://activity.openstack.org and
  http://stackalytics.com/?release=all&metric=commits
- Shows organizers with bullets
- Changes an unused ref to docs tag for preparation
- Fixes some typos

Change-Id: I7b945fdc654a2a9e0be2d0f2b8bc698cdab8e482
This commit is contained in:
Ian Y. Choi 2018-05-19 01:56:08 +09:00
parent 48f6f22bde
commit 6cad422371
2 changed files with 14 additions and 195 deletions

View File

@ -22,7 +22,7 @@ OpenStack Upstream Institute
Overview
========
With over 2,000 developers from over 300 different organizations worldwide,
With over 6,000 developers from over 300 different organizations worldwide,
OpenStack is one of the largest collaborative software-development projects.
Because of its size, it is characterized by a huge diversity in social norms
and technical conventions.
@ -34,7 +34,7 @@ of contributing to OpenStack like providing new features, writing
documentation, participating in working groups, and so forth. The educational
program is built on the principle of open collaboration and will teach the
students how to find information and navigate the intricacies of the
projects technical tools and social interactions in order to get their
project's technical tools and social interactions in order to get their
contributions accepted. The live one and a half day class is focusing on
hands-on practice like the students can use a prepared development
environment to learn how to test, prepare and upload new code snippets or
@ -111,8 +111,8 @@ Staff
Training organizers
-------------------
Ildiko Vancsa: ildiko@openstack.org
Kendall Nelson: knelson@openstack.org
- Ildiko Vancsa: ildiko@openstack.org
- Kendall Nelson: knelson@openstack.org
Further trainers/coaches
------------------------

View File

@ -5,20 +5,19 @@ OpenStack Upstream Institute Class Details
Introduction
============
With over 2000 developers from 80 different companies worldwide, OpenStack is
one of the largest collaborative software-development projects. Because of its
size, it is characterized by a huge diversity in social norms and technical
conventions. Attending a live class to get an insight of how the community
operates and to learn about the insights and best practices can significantly
increase the speed at which newcomers are successful at integrating their own
roadmap into that of the OpenStack project.
With over 6,000 developers from over 300 different organizations worldwide,
OpenStack is one of the largest collaborative software-development projects.
Because of its size, it is characterized by a huge diversity in social norms
and technical conventions.
These can significantly slow down the speed at which newcomers are successful
at integrating their own roadmap into that of the OpenStack project.
We've designed a training program to provide an interactive environment to
newcomers where they can learn they ways of collaborating with our community.
We are relying on the principles of open collaboration and describe and show
how the 'Four Opens' work in OpenStack in practice.
how the ``Four Opens`` work in OpenStack in practice.
The training has a modular structre by which it gives room to attendees with
The training has a modular structure by which it gives room to attendees with
different job roles.
For example if you are a project or program manager it is very important for
@ -38,7 +37,7 @@ how they can collaborate with the community and find their place in the
ecosystem.
After the training students have the possibility to sign up for a longer term
mentoring to further stregthen the skills they've learnt during the training.
mentoring to further stregthen the skills they've learned during the training.
Objectives
==========
@ -87,184 +86,4 @@ Infrastructure
We are providing a virtual machine with the necessary tools pre-installed in
it. For further information about the system requirements on it please see the
`ref: prepare-environment` section.
Course Outline
==============
* Day 1: Introduction
* Day 1: How OpenStack is made
* Day 1: Learn and practice Git, Gerrit, IRC
* Day 2: The theory of contribution
* Day 2: Deep dive sessions
First day
---------
Introduction
~~~~~~~~~~~~
How OpenStack is made (3h including 1h30 exercises)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* `Release cycle <https://wiki.openstack.org/wiki/Release_Cycle>`_
* `Planning (Design, Discuss and Target) <https://wiki.openstack.org/wiki/Release_Cycle#Planning_.28Design.2C_Discuss_and_Target.29>`_
* `Implementation (Milestone iterations <https://wiki.openstack.org/wiki/Release_Cycle#Implementation_.28Milestone_iterations.29>`_
* `Pre-release (Release Candidates dance) <https://wiki.openstack.org/wiki/Release_Cycle#Pre-release_.28Release_Candidates_dance.29>`_
* `Release candidate 1 <https://wiki.openstack.org/wiki/Release_Cycle#Release_candidate_1>`_
* `Other release candidates <https://wiki.openstack.org/wiki/Release_Cycle#Other_release_candidates>`_
* `Release day <https://wiki.openstack.org/wiki/Release_Cycle#Release_day>`_
* Exercise: based on the `Kilo release schedule <https://wiki.openstack.org/wiki/Kilo_Release_Schedule>`_
find the URL of a document or a patch that belongs to each of the above
steps.
* Relevant actors
* `committers <http://www.stackalytics.com/?release=kilo&metric=commits&project_type=openstack&module=&company=&user_id=>`_
companies
* `commiters <http://www.stackalytics.com/?release=kilo&metric=commits&project_type=openstack&module=&company=&user_id=>`_
individuals (bottom of the page)
* Your management
* `OpenStack Governance <https://governance.openstack.org/>`_
* `Technical Committee <https://governance.openstack.org/reference/charter.html>`_
* `The role of the Technical Committee <https://governance.openstack.org/reference/charter.html#mission>`_
* `OpenStack Project Teams <https://governance.openstack.org/reference/charter.html#openstack-project-teams>`_
* `OpenStack Project Teams list <https://governance.openstack.org/reference/projects/index.html>`_
* `Meetings <https://wiki.openstack.org/wiki/Meetings#Technical_Committee_meeting>`_
* Exercise: read `archived <http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-04-01-20.03.log.html>`_
and briefly comment on `keystone document <https://etherpad.openstack.org/p/keystone-incubation-integration-requirements>`_
* `PTLs <https://governance.openstack.org/reference/charter.html#project-team-leads>`_
* `APC <https://governance.openstack.org/reference/charter.html#voters-for-ptl-seats-apc>`_
* `ATC <https://governance.openstack.org/reference/charter.html#voters-for-tc-seats-atc>`_
* Exercise: each APC / ATC in the class add a URL to the etherpad proving it
* `"Big Tent" and tags <https://governance.openstack.org/reference/new-projects-requirements.html>`_
* `OpenStack Project Teams <https://governance.openstack.org/reference/projects/index.html>`__
* `List of approved tags <https://governance.openstack.org/reference/tags/index.html>`_
* `Understanding the DefCore Guidelines <https://git.openstack.org/cgit/openstack/defcore>`_
* `Core Definition <https://git.openstack.org/cgit/openstack/defcore/plain/doc/source/process/CoreDefinition.rst>`_
* `How to create a project <https://docs.openstack.org/infra/manual/creators.html>`_
* Exercise: What kind of Program do you contribute to ?
* `Design summits <https://wiki.openstack.org/wiki/Design_Summit>`_
* `Propose sessions <https://wiki.openstack.org/wiki/Design_Summit/Planning>`_
* `List of sessions <https://libertydesignsummit.sched.org/overview/type/design+summit#.VVeYTt-uNNw>`_
* `Liberty Summit Etherpads <https://wiki.openstack.org/wiki/Design_Summit/Liberty/Etherpads>`_
* Exercise: Add a session proposal regarding your contribution in an
etherpad, review two proposals
* `IRC meetings <https://wiki.openstack.org/wiki/Meetings>`_
* `IRC Services <https://docs.openstack.org/infra/system-config/irc.html>`_
* `meetbot <https://wiki.debian.org/MeetBot>`_
* `OpenStack IRC channels <https://wiki.openstack.org/wiki/IRC>`_
* `IRC Logs <http://eavesdrop.openstack.org/irclogs/>`_
* ``#info`` - Add an info item to the minutes. People should liberally use
this for important things they say, so that they can be logged in the
minutes.
* ``#action`` - Document an action item in the minutes. Include any
nicknames in the line, and the item will be assigned to them. (nicknames
are case-sensitive)
* ``#help`` - Add a "Call for Help" to the minutes. Use this command when
you need to recruit someone to do a task. (Counter-intuitively, this
doesn't provide help on the bot)
* Exercise: lunch menu online meeting
Workflow of an OpenStack contribution and tools (3h including 2h exercises)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* `DevStack <https://docs.openstack.org/developer/devstack/>`_
* Ubuntu or Fedora
* ``git clone https://git.openstack.org/openstack-dev/devstack``
* `minimal configuration <https://docs.openstack.org/devstack/latest/configuration.html#minimal-configuration>`_
* ``cd devstack; ./stack.sh``
* Exercise: get the code for the targeted contribution
* `How_To_Contribute URL <https://wiki.openstack.org/wiki/How_To_Contribute>`_
* `Puppet <https://wiki.openstack.org/wiki/Puppet#Contributing_to_the_modules>`_
* `Documentation <https://wiki.openstack.org/wiki/Documentation/HowTo>`_
* `Training guides <https://wiki.openstack.org/wiki/Training-guides#How_To>`_
* Exercise: Apply for individual membership and sign the CLA
* `Launchpad <https://help.launchpad.net/>`_
* `Blueprints <https://wiki.openstack.org/wiki/Blueprints>`_
* `Bugs <https://wiki.openstack.org/wiki/Bugs>`_
* `Status, Importance, Assigned To, Milestone, Tags <https://wiki.openstack.org/wiki/Bugs#Bugs_reference>`_
* `reporting a bug <https://wiki.openstack.org/wiki/Bugs#Reporting>`_
* `confirming and prioritizing <https://wiki.openstack.org/wiki/Bugs#Confirming_.26_prioritizing>`_
* `debugging <https://wiki.openstack.org/wiki/Bugs#Debugging_.28optional.29>`_
* `bugfixing <https://wiki.openstack.org/wiki/Bugs#Bugfixing>`_
* Exercise: review other launchpad bugs and improve yours
* How to contribute
* `Developers Guide <https://docs.openstack.org/infra/manual/developers.html>`_
* `Account setup <https://docs.openstack.org/infra/manual/developers.html#account-setup>`_
* `Git review installation <https://docs.openstack.org/infra/manual/developers.html#installing-git-review>`_
* `Starting Work on a New Repository <https://docs.openstack.org/infra/manual/developers.html#starting-work-on-a-new-repository>`_
* `Development workflow <https://docs.openstack.org/infra/manual/developers.html#development-workflow>`_
* `Running unit tests <https://docs.openstack.org/infra/manual/developers.html#running-unit-tests>`_
* `Cross-Repository Dependencies <https://docs.openstack.org/infra/manual/developers.html#cross-repository-dependencies>`_
* Exercise: push a WIP or draft and invite reviewers
* Branching model
* `Branch model <https://wiki.openstack.org/wiki/Branch_Model>`_
* `Stable branch <https://wiki.openstack.org/wiki/StableBranch>`_
* Exercise: checkout the latest stable branch
* `Code Review <https://docs.openstack.org/infra/manual/developers.html#code-review>`_
* `Peer Review <https://docs.openstack.org/infra/manual/developers.html#peer-review>`_
* `Git Commit Good Practice <https://wiki.openstack.org/wiki/GitCommitMessages>`_
* Gerrit Documentation: `Gerrit Code Review - A Quick Introduction <https://review.openstack.org/Documentation/intro-quick.html>`_
* Gerrit Documentation: `Reviewing the Change <https://review.openstack.org/Documentation/intro-quick.html#_reviewing_the_change>`_
* Exercise: review each other messages on the draft
* `Zuul (Automated testing) <https://docs.openstack.org/infra/manual/developers.html#automated-testing>`_
* Exercise: add an error and match it to the Zuul message
Second day
----------
The Contribution Process (1 hour)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Overview of the contribution process
* Take the pulse of the project
* Figure out who's behind it
* Determine the project's social groups
* Assess your approach
* Engage immediately
* Play with your network
* Perform the smaller tasks
* Choose a question
* Familiarize yourself with the code of conduct
* Understand the conventions
* Explain what you do
* Prepare the backport
* Learn what's local and what's upstream
* Learn what distinguishes good work flow from bad work flow
* Quantify the delta
* Speed up the acceptance
* Determine the time frame
* Maximize karma
* Work in parallel
* Archive and collect
`Complete index in slide format only <https://docs.openstack.org/upstream-training/slide-index.html>`_
:doc:`upstream-trainees-guide` section.