Project

General

Profile

HOWTO » History » Version 10

Loïc Dachary, 03/26/2015 09:27 AM

1 2 Loïc Dachary
h3. HOWTO backport
2 1 Loïc Dachary
3
Based on what would be done for the Giant branch
4
5 9 Loïc Dachary
[[HOWTO update the inventory]]
6 10 Loïc Dachary
[[HOWTO summarize test results]]
7 7 Yuri Weinstein
8 1 Loïc Dachary
h3. Backport issues
9
10
The helper snippet at http://workbench.dachary.org/dachary/ceph-workbench/issues/3 can be used to semi automate the process below
11
12
* For each entry at http://workbench.dachary.org/ceph/ceph-backports/wikis/giant#issues-that-need-backporting
13
* git cherry-pick -x the commits from the pull request that was targettig master (not from the pull requests targeting stable branches)
14
* create a pull request with the backport with a reference to the issue and set the milestone to giant
15
* add a reference to the pull request in the issue
16
* if the make check bot finds a problem, fix it
17
18 2 Loïc Dachary
h3. Collect pending pull requests into an integration branch
19 1 Loïc Dachary
20
The snippet at http://workbench.dachary.org/dachary/ceph-workbench/issues/4 can help
21
22
* create a giant-backport branch
23
* fetch all pull requests from github
24
* git merge all pull requests
25
* modify the pull requests individually to fix merge conflicts (i.e. they must merge cleanly, which may involving aggregating two pull requests into a single one designed to properly resolve the conflict)
26
* compile with ./autogen.sh ; ./configure ; make -j4
27
* modify the pull requests individually to fix compilation errors
28 3 Loïc Dachary
29
h3. Format of teuthology analysis entries
30
31
For instance http://tracker.ceph.com/issues/11153#rgw is structured like so:
32
33
* In chronological order
34
* The command line (that can be copy/pasted) used to run the suite
35
* A bullet point with the URL to the suite run in pulpito prefixed by
36
** *running* if the run is not complete
37
** *red* if the run has at least one error
38
** *green* if the run has no error
39 4 Loïc Dachary
* If the run has at least one error, the output of the fail formatter snippet (found at http://workbench.dachary.org/dachary/ceph-workbench/issues/2 is appened to it) is added and edited when the errors are analyzed
40 6 Loïc Dachary
* When an error is analyzed, the link to the error is prefixed with
41
** *environmental noise* if it must be run again because it failed for reasons unrelated to the test itself (DNS error etc.)
42
** *known bug* and a URL to the bug (not just the number of the bug)
43
** *new bug* and a URL to the newly created bug if it was discovered during the analysis of this error: it is likely to be a regression
44 5 Loïc Dachary
45
h3. Synchronized repositories
46
47
When running teuthology tests for a given branch (say giant), the "ceph-qa-suite":https://github.com/ceph/ceph-qa-suite branch must match. In the simplest case it is enough to write:
48
<pre>
49
teuthology-suite --suite-branch giant ... --ceph giant ...
50
</pre>
51
When a Ceph pull request (for instance "rgw acl response should start with <?xml version=1.0 ?>":https://github.com/ceph/ceph/pull/4082) needs to be synchronized with a ceph-qa-suite pull request (for instance "create a new get_acl helper to ensure proper xml is compared":https://github.com/ceph/ceph-qa-suite/pull/370), dedicated branches must be created in the Ceph and ceph-qa-suite repositories. For instance:
52
<pre>
53
teuthology-suite --suite-branch wip-rgw-acl-giant ... --ceph giant-backports ...
54
</pre>
55
Note that it is not possible to specify a branch that is outside of the Ceph or ceph-qa-suite repositories: write access to these repositories is necessary.
56
57
For S3 tests an additional repository must be synchronized in a similar way https://github.com/ceph/s3-tests: there must exist a branch with the same name as the branch specified with **--suite-branch**. For instance the "ceph-qa-suite wip-rgw-acl-giant":https://github.com/ceph/ceph-qa-suite/tree/wip-rgw-acl-giant branch must have a "s3-test wip-rgw-acl-giant":https://github.com/ceph/s3-tests/tree/wip-rgw-acl-giant counterpart.