[upstream] add Using Sandbox for Practice chapter
Launchpad sandbox is now available! This commit adds a slide document to explain how both Sandbox git repository and Launchpad is used with illustrative screenshots. Change-Id: Ie37cb2f0c707dbfd1de91a2011a13f1ee8f9ed7c Co-Authored-By: SeongSoo Cho <nexusz99@gmail.com>
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 337 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 330 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 64 KiB |
BIN
doc/upstream-training/source/slides/_assets/sandbox-git-log.png
Normal file
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 227 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 321 KiB |
After Width: | Height: | Size: 267 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 193 KiB |
After Width: | Height: | Size: 182 KiB |
After Width: | Height: | Size: 324 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 210 KiB |
After Width: | Height: | Size: 541 KiB |
After Width: | Height: | Size: 56 KiB |
BIN
doc/upstream-training/source/slides/_assets/sandbox-scores.png
Normal file
After Width: | Height: | Size: 64 KiB |
@ -32,7 +32,7 @@ How OpenStack is Made
|
|||||||
branching-model.rst
|
branching-model.rst
|
||||||
|
|
||||||
Workflow and Tools for Participation
|
Workflow and Tools for Participation
|
||||||
===============================================
|
====================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
@ -45,6 +45,7 @@ Workflow and Tools for Participation
|
|||||||
workflow-commit-message.rst
|
workflow-commit-message.rst
|
||||||
workflow-jenkins.rst
|
workflow-jenkins.rst
|
||||||
workflow-setup-and-first-patch.rst
|
workflow-setup-and-first-patch.rst
|
||||||
|
workflow-using-sandbox.rst
|
||||||
|
|
||||||
Code Deep Dive
|
Code Deep Dive
|
||||||
==============
|
==============
|
||||||
|
413
doc/upstream-training/source/slides/workflow-using-sandbox.rst
Normal file
@ -0,0 +1,413 @@
|
|||||||
|
==========================
|
||||||
|
Using Sandbox for Practice
|
||||||
|
==========================
|
||||||
|
|
||||||
|
.. image:: ./_assets/os_background.png
|
||||||
|
:class: fill
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
|
Sandbox repository
|
||||||
|
==================
|
||||||
|
|
||||||
|
- OpenStack has a sandbox repository for learning and testing purposes
|
||||||
|
- Great repository to begin your OpenStack learning
|
||||||
|
|
||||||
|
- https://git.openstack.org/cgit/openstack-dev/sandbox
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-repo-website.png
|
||||||
|
:width: 95%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Sandbox Launchpad
|
||||||
|
=================
|
||||||
|
|
||||||
|
- To manage and track the reported bugs and issues related with
|
||||||
|
openstack-dev/sandbox repository
|
||||||
|
|
||||||
|
- https://launchpad.net/openstack-dev-sandbox
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-lp-website.png
|
||||||
|
:width: 95%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Learning example with two Sandboxes
|
||||||
|
===================================
|
||||||
|
|
||||||
|
- Using Sandbox repository and Launchpad, next number of slides will show
|
||||||
|
the following steps:
|
||||||
|
|
||||||
|
- Reporting a bug on Launchpad
|
||||||
|
- Reading the bug description and assigning her/himself to fix the bug
|
||||||
|
- Uploading a patch and inviting a peer as a reviewer
|
||||||
|
- Reviewing the patch and giving feedback with comment
|
||||||
|
- Uploading a revised patch with comment
|
||||||
|
- Reviewing the revised patch and merging the patch
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
- Try to emphazise the synergy of using repository integration
|
||||||
|
with bug management to students!
|
||||||
|
|
||||||
|
Sandbox Launchpad Bug list
|
||||||
|
==========================
|
||||||
|
|
||||||
|
- https://bugs.launchpad.net/openstack-dev-sandbox
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-list-bugs.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Report a bug - Summary
|
||||||
|
======================
|
||||||
|
|
||||||
|
- We have seen in `Overview of the contribution process
|
||||||
|
<workflow-training-contribution-process.html#4>`_
|
||||||
|
- https://bugs.launchpad.net/openstack-dev-sandbox/+filebug
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-report-a-bug-summary.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Report a bug - Details
|
||||||
|
======================
|
||||||
|
|
||||||
|
- (Real bug report needs detail descriptions.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-report-a-bug-details.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Bug Report Submission
|
||||||
|
=====================
|
||||||
|
|
||||||
|
- Successful bug report submission
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-report-a-bug-submission.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Bug Assigning
|
||||||
|
=============
|
||||||
|
|
||||||
|
- To notify working status on the bug to others
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-lp-assign.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Bug Assigned
|
||||||
|
============
|
||||||
|
|
||||||
|
- (Other people will think that someone working on the bug.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-lp-assignnee-changed.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Local branch creation
|
||||||
|
=====================
|
||||||
|
|
||||||
|
- We have seen in `Overview of the contribution process
|
||||||
|
<workflow-training-contribution-process.html#5>`__
|
||||||
|
and `Setup & First patch <workflow-setup-and-first-patch.html#8>`__
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git checkout -b [BRANCH_NAME]
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-checkout-branch.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Working for commit
|
||||||
|
==================
|
||||||
|
|
||||||
|
- (As an example, a new file has been created using cat command.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-new-file.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Checking work status
|
||||||
|
====================
|
||||||
|
|
||||||
|
- Current branch name information
|
||||||
|
- File status working in the repository
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git status
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-status.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Add the file and commit
|
||||||
|
=======================
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git add [FILE_PATH]
|
||||||
|
$ git commit -a
|
||||||
|
|
||||||
|
- Writing 'Related-Bug: #[Bug number in Lanuchpad]' on message content
|
||||||
|
|
||||||
|
- We have seen in `Commit Messages <workflow-commit-message.html#9>`__
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-commit-message.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Commit log message
|
||||||
|
==================
|
||||||
|
|
||||||
|
- (Checking log message before uploading is always a nice idea.)
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git log
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-log.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Uploading to Gerrit
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git review
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-git-review.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Sandbox Status
|
||||||
|
==============
|
||||||
|
|
||||||
|
- Gerrit (openstack-dev/sandbox repository)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-submission.png
|
||||||
|
:width: 90%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- Launchpad (openstack-dev-sandbox)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-lp-message-added.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Invite peer as Reviewer
|
||||||
|
=======================
|
||||||
|
|
||||||
|
- We have seen in `Gerrit <workflow-gerrit.html#5>`__
|
||||||
|
|
||||||
|
- (Find reviewer by Gerrit username or e-mail address.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-add-reviewer.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Added as Reviewer
|
||||||
|
=================
|
||||||
|
|
||||||
|
- (Review invitation letter has been sent by e-mail.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-add-reviewer-added.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Reading review invitation
|
||||||
|
=========================
|
||||||
|
|
||||||
|
- Review invitation letter
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-review-invitation.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Reviewing with comment
|
||||||
|
======================
|
||||||
|
|
||||||
|
- Commenting
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-reviewer-commenting.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- Draft comment was saved
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-reviewer-comment.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Publish comment
|
||||||
|
===============
|
||||||
|
|
||||||
|
- (Draft comments are not visible to others.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-reviewer-publish-comment.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Review Score & Results
|
||||||
|
======================
|
||||||
|
|
||||||
|
- Score will reflect reviewer's opinion.
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-reviewer-scoring.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- Results will be accumulated in History.
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-reviewer-comment-results.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Check peer's Review
|
||||||
|
===================
|
||||||
|
|
||||||
|
- Seeing review score with written comments
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-committer-checking.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- Do not be frustrated!
|
||||||
|
We can revise the current patchset to address comments.
|
||||||
|
|
||||||
|
Revising file(s)
|
||||||
|
================
|
||||||
|
|
||||||
|
- Start work from latest patchset
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-committer-revise.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Amending the commit
|
||||||
|
===================
|
||||||
|
|
||||||
|
- We have seen in
|
||||||
|
`Setup & First Patch <workflow-setup-and-first-patch.html#8>`__
|
||||||
|
|
||||||
|
- (Please also change your commit message if needed.)
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ git commit -a --amend
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-committer-amending.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Uploading a new patchset
|
||||||
|
========================
|
||||||
|
|
||||||
|
- Executing "git review" command will submit the amended commit.
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-committer-git-review-again.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- New patchset was recorded in Gerrit.
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-another-patchset.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Seeing new comment
|
||||||
|
==================
|
||||||
|
|
||||||
|
- Since the written comment is in the previous patchset, select patchset 1,
|
||||||
|
and choose the file which has comment(s).
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-patchsets.png
|
||||||
|
:width: 50%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-click-file.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Comment reply
|
||||||
|
=============
|
||||||
|
|
||||||
|
- Answering reviewer's comment(s) is a good manner.
|
||||||
|
- Click 'Reply' and write your message, or just 'Done' for "Done" message.
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-checking-comment.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-checking-comment-answer.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-still-draft-comment.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Publish comment reply
|
||||||
|
=====================
|
||||||
|
|
||||||
|
- Draft comment publishment
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-publish-comment.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- (Ensure that your commment is being shown in History.)
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-comment-publish-result.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Review again
|
||||||
|
============
|
||||||
|
|
||||||
|
- Code-Review -1/0/+1 is for all OpenStack reviewers
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-bug-reporter-review.png
|
||||||
|
:width: 50%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- Code-Review -2/+2 is for core reviewers (Sandbox repository is open)
|
||||||
|
- The Gerrit review will be merged by +1 in Workflow
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-core-reviewer-score.png
|
||||||
|
:width: 50%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Merged!
|
||||||
|
=======
|
||||||
|
|
||||||
|
- Score status
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-scores.png
|
||||||
|
:width: 60%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
- History status
|
||||||
|
|
||||||
|
.. image:: ./_assets/sandbox-gerrit-merged.png
|
||||||
|
:width: 80%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Good manners on Sandbox
|
||||||
|
=======================
|
||||||
|
|
||||||
|
- Please create a few logical and different changes and submit new patchsets
|
||||||
|
to those few changes in Sandbox repository for one bug in Launchpad.
|
||||||
|
- Cleaning up activities are needed
|
||||||
|
|
||||||
|
- Includes the deletion of uploaded files on Sandbox repository
|
||||||
|
and change of bug status in Launchpad to "Invalid", "Won't Fix",
|
||||||
|
or "Fix Released"
|
||||||
|
- During upstream training, do not worry about this! Upstream training
|
||||||
|
leaders will clean up after the training is finished.
|
||||||
|
- However, please keep in mind that it is on your own responsibility.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
- Please do not let students create 10 or more changes.
|
||||||
|
(This is not the intention of Sandboxes!)
|
||||||
|
- http://docs.openstack.org/infra/manual/sandbox.html
|
@ -125,6 +125,7 @@ Workflow and Tools for Participation
|
|||||||
* `Jenkins <workflow-jenkins.html>`_
|
* `Jenkins <workflow-jenkins.html>`_
|
||||||
* `Guide to SetUp and Push First Patch
|
* `Guide to SetUp and Push First Patch
|
||||||
<workflow-setup-and-first-patch.html>`_
|
<workflow-setup-and-first-patch.html>`_
|
||||||
|
* `Using Sandbox for Practice <workflow-using-sandbox.html>`_
|
||||||
|
|
||||||
Code Deep Dive
|
Code Deep Dive
|
||||||
--------------
|
--------------
|
||||||
|