Project

General

Profile

HOWTO » History » Version 103

Loïc Dachary, 02/22/2016 06:12 AM

1 15 Loïc Dachary
h3. Introduction
2 1 Loïc Dachary
3 51 Loïc Dachary
Backporting and the maintenance of a stable release begins when a new "stable Ceph release":http://ceph.com/docs/master/releases is published. Commits from the master branch are cherry-picked to the stable branch and run through integration and upgrade tests. After a few weeks a "point release":http://ceph.com/docs/master/releases is published. This repeats until the "the stable release is retired":http://ceph.com/docs/master/releases. Backporting is focused on fixing bugs and development on the master branch is expected to add new features but both share the "same workflow":http://ceph.com/docs/master/dev/development-workflow/.
4 16 Loïc Dachary
5 24 Loïc Dachary
h3. Overview of the backports in progress
6
7 73 Loïc Dachary
* *infernalis* 
8 84 Loïc Dachary
** "complete":http://tracker.ceph.com/versions/507
9 86 Loïc Dachary
** "backport status":http://tracker.ceph.com/issues/13750
10 73 Loïc Dachary
** "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=82
11
** "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=83
12
** "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Ainfernalis
13 101 Loïc Dachary
* *hammer v0.94.6* (in QE)
14 83 Loïc Dachary
** "complete":http://tracker.ceph.com/versions/505
15 1 Loïc Dachary
** "backport status":http://tracker.ceph.com/issues/13356
16 101 Loïc Dachary
* *hammer v0.94.7* 
17
** "complete":http://tracker.ceph.com/versions/511
18
** "backport status":http://tracker.ceph.com/issues/14692
19 73 Loïc Dachary
** "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=78 
20
** "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=77 
21
** "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Ahammer
22 24 Loïc Dachary
23 32 Loïc Dachary
h3. Leads
24
25 35 Loïc Dachary
* Ceph : Sage Weil
26 32 Loïc Dachary
* rados : Samuel Just
27
* radosgw / rgw : Yehuda Sadeh
28
* CephFS / fs : Gregory Farnum
29 102 Loïc Dachary
* RBD : Jason Dillaman
30 60 Loïc Dachary
* build/ops : Ken Dreyer
31 1 Loïc Dachary
32 98 Loïc Dachary
Note: It may be useful to know the leads of other projects which have a different lifecycle but depend on Ceph.
33 1 Loïc Dachary
34
h3. Who's who
35
36 97 Loïc Dachary
Members of the "stable releases team":http://tracker.ceph.com/projects/ceph-releases are assigned the following roles as of February, 2016.
37 93 Loïc Dachary
 
38 95 Loïc Dachary
|                      | v0.94.6 | v0.94.7 |  v9.2.1  |  v9.2.2  | v10.2.0  |
39
| Abhishek Lekshmanan  |         |         | backup   |          |          |
40
| Abhishek Varshney    | backup  |         | driver   |          |          |
41 100 Loïc Dachary
| Nathan Cutler        | driver  | driver  |          |          |          |
42 95 Loïc Dachary
| Loic Dachary         | backup  | backup  | backup   | backup   | backup   |
43
| Robin Hugh Johnson   | mentee  |         |          |          |          |
44 103 Loïc Dachary
| M Ranga Swami Reddy  |         | mentee  | mentee   | driver   | backup   |
45 94 Loïc Dachary
46 75 Loïc Dachary
47 96 Loïc Dachary
* Mentee: during the course of a release the driver is available to help understand the stable release workflow
48 76 Loïc Dachary
* Driver: responsible for making sure the release is moving forward
49
* Backup: helps the driver and replaces her/him when she/he is not available
50
51 62 Loïc Dachary
* Sage Weil, Samuel Just, Yehuda Sadeh, Gregory Farnum, Josh Durgin, Ken Dreyer : leads
52
53 26 Loïc Dachary
h3. HOWTO
54 23 Loïc Dachary
55 1 Loïc Dachary
The following describes in detail and in chronological order, the steps to follow for backporting and maintaining stable releases.
56
57 23 Loïc Dachary
h4. Add a new stable release
58 19 Loïc Dachary
59 1 Loïc Dachary
* [[HOWTO start backporting a stable release]]
60 15 Loïc Dachary
61 23 Loïc Dachary
h4. Add a new point release
62 1 Loïc Dachary
63 19 Loïc Dachary
* [[HOWTO start working on a new point release]]
64 15 Loïc Dachary
65 23 Loïc Dachary
h4. Prepare a new point release
66 9 Loïc Dachary
67 43 Loïc Dachary
# [[HOWTO monitor the automated tests AKA nightlies]]
68 22 Loïc Dachary
# [[HOWTO schedule an issue for backporting]]
69 30 Loïc Dachary
# [[HOWTO document user visible changes]]
70 1 Loïc Dachary
# [[HOWTO backport commits]]
71 19 Loïc Dachary
# [[HOWTO populate the integration branch]]
72 1 Loïc Dachary
# [[HOWTO run integration and upgrade tests]]
73 46 Loïc Dachary
# [[HOWTO forensic analysis of integration and upgrade tests]]
74 19 Loïc Dachary
# [[HOWTO describe a test result]] inline or [[HOWTO summarize test results]] in a separate issue
75 25 Loïc Dachary
# [[HOWTO merge commits from the integration branch]]
76 1 Loïc Dachary
# [[HOWTO synchronize pull requests from different repositories]]
77 27 Loïc Dachary
# [[HOWTO resolve issues that are Pending Backport]]
78 34 Loïc Dachary
# [[HOWTO get the Ceph lead to decide if it is time for a point release]]
79 31 Loïc Dachary
# [[HOWTO get the leads to sign-off on a release]]
80 33 Loïc Dachary
# [[HOWTO write the release notes]]
81 15 Loïc Dachary
82 38 Loïc Dachary
h4. Publish a stable release
83
84 39 Loïc Dachary
* Study https://github.com/ceph/ceph-build/ and http://jenkins.ceph.com/ to figure out how it is used to update http://ceph.com/debian-hammer/ and http://ceph.com/rpm-hammer/ 
85 40 Loïc Dachary
* The jenkins job is http://jenkins.ceph.com/job/ceph/ and requires some setup
86
* The "ceph-jenkins-build":https://github.com/alfredodeza/ceph-jenkins-build/tree/master/ceph ansible setup does a bunch of things like "changing version numbers, creating a tag and pushing to the Jenkins GIT repository":https://github.com/alfredodeza/ceph-jenkins-build/blob/master/ceph/tasks/setup.yml
87
* once that tag is created that can be used to trigger a build in the jenkins ui when the build is completed you are required to run a bunch of scripts in the jenkins server they sign and re-index the repositories and then synchronize them with ceph/(rpm|debian)-$release. Those scripts need to be edited by hand depending on the type of release and where you are pushing them to (e.g. testing vs firefly vs hammer)
88
* for hammer a new repository was created by hand and it is "documented as a script":https://gist.github.com/alfredodeza/b8f8b94ea795f1a7169b
89 38 Loïc Dachary
90 23 Loïc Dachary
h4. Retire a stable release
91 15 Loïc Dachary
92 21 Loïc Dachary
* [[HOWTO retire a stable release]]
93 41 Loïc Dachary
94 54 Nathan Cutler
h4. Recurring duties expected from backporters
95 52 Cron Tab
96 92 Loïc Dachary
* [[HOWTO triage incoming backport pull requests]]
97 58 Nathan Cutler
* [[HOWTO triage incoming Pending backport issues]]
98 52 Cron Tab
* "fill in the missing releases":http://tracker.ceph.com/projects/ceph/issues?query_id=84
99 56 Cron Tab
100 41 Loïc Dachary
h4. Organize the stable releases and backports team
101
102
* [[HOWTO become a new team member]]
103
* [[HOWTO retire from the team]]