HOWTO » History » Version 57
Nathan Cutler, 06/07/2015 04:56 PM
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 | 50 | Loïc Dachary | * *hammer* "backport status":http://tracker.ceph.com/issues/11353 and "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=78 and "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=77 and "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Ahammer |
8 | * *firefly* "backport status":http://tracker.ceph.com/issues/11090 and "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=79 "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=75 and "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Afirefly |
||
9 | 24 | Loïc Dachary | |
10 | 32 | Loïc Dachary | h3. Leads |
11 | |||
12 | 35 | Loïc Dachary | * Ceph : Sage Weil |
13 | 32 | Loïc Dachary | * rados : Samuel Just |
14 | * radosgw / rgw : Yehuda Sadeh |
||
15 | * CephFS / fs : Gregory Farnum |
||
16 | * RBD : Josh Durgin |
||
17 | 47 | Loïc Dachary | |
18 | 48 | Loïc Dachary | Note: It may be useful to know the leads of other projects which have a different lifecycle but depend on Ceph. For instance Gregory Meno is the lead of "Calamari":http://tracker.ceph.com/projects/calamari |
19 | 32 | Loïc Dachary | |
20 | 26 | Loïc Dachary | h3. HOWTO |
21 | 23 | Loïc Dachary | |
22 | 1 | Loïc Dachary | The following describes in detail and in chronological order, the steps to follow for backporting and maintaining stable releases. |
23 | |||
24 | 23 | Loïc Dachary | h4. Add a new stable release |
25 | 19 | Loïc Dachary | |
26 | 1 | Loïc Dachary | * [[HOWTO start backporting a stable release]] |
27 | 15 | Loïc Dachary | |
28 | 23 | Loïc Dachary | h4. Add a new point release |
29 | 1 | Loïc Dachary | |
30 | 19 | Loïc Dachary | * [[HOWTO start working on a new point release]] |
31 | 15 | Loïc Dachary | |
32 | 23 | Loïc Dachary | h4. Prepare a new point release |
33 | 9 | Loïc Dachary | |
34 | 43 | Loïc Dachary | # [[HOWTO monitor the automated tests AKA nightlies]] |
35 | 22 | Loïc Dachary | # [[HOWTO schedule an issue for backporting]] |
36 | 30 | Loïc Dachary | # [[HOWTO document user visible changes]] |
37 | 1 | Loïc Dachary | # [[HOWTO backport commits]] |
38 | 19 | Loïc Dachary | # [[HOWTO populate the integration branch]] |
39 | 1 | Loïc Dachary | # [[HOWTO run integration and upgrade tests]] |
40 | 46 | Loïc Dachary | # [[HOWTO forensic analysis of integration and upgrade tests]] |
41 | 19 | Loïc Dachary | # [[HOWTO describe a test result]] inline or [[HOWTO summarize test results]] in a separate issue |
42 | 25 | Loïc Dachary | # [[HOWTO merge commits from the integration branch]] |
43 | 1 | Loïc Dachary | # [[HOWTO synchronize pull requests from different repositories]] |
44 | 27 | Loïc Dachary | # [[HOWTO resolve issues that are Pending Backport]] |
45 | 34 | Loïc Dachary | # [[HOWTO get the Ceph lead to decide if it is time for a point release]] |
46 | 31 | Loïc Dachary | # [[HOWTO get the leads to sign-off on a release]] |
47 | 33 | Loïc Dachary | # [[HOWTO write the release notes]] |
48 | 15 | Loïc Dachary | |
49 | 38 | Loïc Dachary | h4. Publish a stable release |
50 | |||
51 | 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/ |
52 | 40 | Loïc Dachary | * The jenkins job is http://jenkins.ceph.com/job/ceph/ and requires some setup |
53 | * 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 |
||
54 | * 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) |
||
55 | * for hammer a new repository was created by hand and it is "documented as a script":https://gist.github.com/alfredodeza/b8f8b94ea795f1a7169b |
||
56 | 38 | Loïc Dachary | |
57 | 23 | Loïc Dachary | h4. Retire a stable release |
58 | 15 | Loïc Dachary | |
59 | 21 | Loïc Dachary | * [[HOWTO retire a stable release]] |
60 | 41 | Loïc Dachary | |
61 | 54 | Nathan Cutler | h4. Recurring duties expected from backporters |
62 | 52 | Cron Tab | |
63 | 54 | Nathan Cutler | * [[HOWTO triage incoming backport pull requests]] |
64 | 55 | Nathan Cutler | * [[HOWTO look for incoming Pending backport issues]] |
65 | 52 | Cron Tab | |
66 | 56 | Cron Tab | Backporters currently performing these duties (remove yourself when on vacation etc.): |
67 | |||
68 | * Loic Dachary : weekly |
||
69 | 57 | Nathan Cutler | * Nathan Cutler : weekly |
70 | 56 | Cron Tab | |
71 | 41 | Loïc Dachary | h4. Organize the stable releases and backports team |
72 | |||
73 | * [[HOWTO become a new team member]] |
||
74 | * [[HOWTO retire from the team]] |