diff --git a/doc/upstream-training/source/website/index.rst b/doc/upstream-training/source/website/index.rst index c3bca9fb..a496344a 100644 --- a/doc/upstream-training/source/website/index.rst +++ b/doc/upstream-training/source/website/index.rst @@ -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 -project’s 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 ------------------------ diff --git a/doc/upstream-training/source/website/upstream-details.rst b/doc/upstream-training/source/website/upstream-details.rst index 8750b225..6eae0c94 100644 --- a/doc/upstream-training/source/website/upstream-details.rst +++ b/doc/upstream-training/source/website/upstream-details.rst @@ -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 `_ - - * `Planning (Design, Discuss and Target) `_ - * `Implementation (Milestone iterations `_ - * `Pre-release (Release Candidates dance) `_ - - * `Release candidate 1 `_ - * `Other release candidates `_ - * `Release day `_ - - * Exercise: based on the `Kilo release schedule `_ - find the URL of a document or a patch that belongs to each of the above - steps. - -* Relevant actors - - * `committers `_ - companies - * `commiters `_ - individuals (bottom of the page) - * Your management - -* `OpenStack Governance `_ - - * `Technical Committee `_ - * `The role of the Technical Committee `_ - * `OpenStack Project Teams `_ - * `OpenStack Project Teams list `_ - * `Meetings `_ - * Exercise: read `archived `_ - and briefly comment on `keystone document `_ - * `PTLs `_ - * `APC `_ - * `ATC `_ - * Exercise: each APC / ATC in the class add a URL to the etherpad proving it - -* `"Big Tent" and tags `_ - - * `OpenStack Project Teams `__ - * `List of approved tags `_ - * `Understanding the DefCore Guidelines `_ - * `Core Definition `_ - * `How to create a project `_ - * Exercise: What kind of Program do you contribute to ? - -* `Design summits `_ - - * `Propose sessions `_ - * `List of sessions `_ - * `Liberty Summit Etherpads `_ - * Exercise: Add a session proposal regarding your contribution in an - etherpad, review two proposals - -* `IRC meetings `_ - - * `IRC Services `_ - * `meetbot `_ - * `OpenStack IRC channels `_ - * `IRC Logs `_ - * ``#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 `_ - - * Ubuntu or Fedora - * ``git clone https://git.openstack.org/openstack-dev/devstack`` - * `minimal configuration `_ - * ``cd devstack; ./stack.sh`` - * Exercise: get the code for the targeted contribution - -* `How_To_Contribute URL `_ - - * `Puppet `_ - * `Documentation `_ - * `Training guides `_ - * Exercise: Apply for individual membership and sign the CLA - -* `Launchpad `_ - - * `Blueprints `_ - * `Bugs `_ - - * `Status, Importance, Assigned To, Milestone, Tags `_ - * `reporting a bug `_ - * `confirming and prioritizing `_ - * `debugging `_ - * `bugfixing `_ - - * Exercise: review other launchpad bugs and improve yours - -* How to contribute - - * `Developer’s Guide `_ - * `Account setup `_ - * `Git review installation `_ - * `Starting Work on a New Repository `_ - * `Development workflow `_ - * `Running unit tests `_ - * `Cross-Repository Dependencies `_ - * Exercise: push a WIP or draft and invite reviewers - -* Branching model - - * `Branch model `_ - * `Stable branch `_ - * Exercise: checkout the latest stable branch - -* `Code Review `_ -* `Peer Review `_ - - * `Git Commit Good Practice `_ - * Gerrit Documentation: `Gerrit Code Review - A Quick Introduction `_ - * Gerrit Documentation: `Reviewing the Change `_ - * Exercise: review each other messages on the draft - -* `Zuul (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 `_ +:doc:`upstream-trainees-guide` section.