HOWTO » History » Version 43
Loïc Dachary, 05/01/2015 04:27 PM
1 | 15 | Loïc Dachary | h3. Introduction |
---|---|---|---|
2 | 1 | Loïc Dachary | |
3 | 17 | 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 "lifetime of the stable release":http://ceph.com/docs/master/releases comes to an end. 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 | 37 | Loïc Dachary | * *hammer* "backport status":http://tracker.ceph.com/issues/11353 and "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 "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 | * *dumpling* "backport status":http://tracker.ceph.com/issues/10560 and *no more issues marked dumpling* |
||
10 | 24 | Loïc Dachary | |
11 | 32 | Loïc Dachary | h3. Leads |
12 | |||
13 | 35 | Loïc Dachary | * Ceph : Sage Weil |
14 | 32 | Loïc Dachary | * rados : Samuel Just |
15 | * radosgw / rgw : Yehuda Sadeh |
||
16 | * CephFS / fs : Gregory Farnum |
||
17 | * RBD : Josh Durgin |
||
18 | |||
19 | 26 | Loïc Dachary | h3. HOWTO |
20 | 23 | Loïc Dachary | |
21 | 1 | Loïc Dachary | The following describes in detail and in chronological order, the steps to follow for backporting and maintaining stable releases. |
22 | |||
23 | 23 | Loïc Dachary | h4. Add a new stable release |
24 | 19 | Loïc Dachary | |
25 | 1 | Loïc Dachary | * [[HOWTO start backporting a stable release]] |
26 | 15 | Loïc Dachary | |
27 | 23 | Loïc Dachary | h4. Add a new point release |
28 | 1 | Loïc Dachary | |
29 | 19 | Loïc Dachary | * [[HOWTO start working on a new point release]] |
30 | 15 | Loïc Dachary | |
31 | 23 | Loïc Dachary | h4. Prepare a new point release |
32 | 9 | Loïc Dachary | |
33 | 43 | Loïc Dachary | # [[HOWTO monitor the automated tests AKA nightlies]] |
34 | 22 | Loïc Dachary | # [[HOWTO schedule an issue for backporting]] |
35 | 19 | Loïc Dachary | # [[HOWTO update the inventory]] |
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 | 19 | Loïc Dachary | # [[HOWTO describe a test result]] inline or [[HOWTO summarize test results]] in a separate issue |
41 | 25 | Loïc Dachary | # [[HOWTO merge commits from the integration branch]] |
42 | 1 | Loïc Dachary | # [[HOWTO synchronize pull requests from different repositories]] |
43 | 27 | Loïc Dachary | # [[HOWTO resolve issues that are Pending Backport]] |
44 | 34 | Loïc Dachary | # [[HOWTO get the Ceph lead to decide if it is time for a point release]] |
45 | 31 | Loïc Dachary | # [[HOWTO get the leads to sign-off on a release]] |
46 | 33 | Loïc Dachary | # [[HOWTO write the release notes]] |
47 | 15 | Loïc Dachary | |
48 | 38 | Loïc Dachary | h4. Publish a stable release |
49 | |||
50 | 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/ |
51 | 40 | Loïc Dachary | * The jenkins job is http://jenkins.ceph.com/job/ceph/ and requires some setup |
52 | * 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 |
||
53 | * 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) |
||
54 | * for hammer a new repository was created by hand and it is "documented as a script":https://gist.github.com/alfredodeza/b8f8b94ea795f1a7169b |
||
55 | 38 | Loïc Dachary | |
56 | 23 | Loïc Dachary | h4. Retire a stable release |
57 | 15 | Loïc Dachary | |
58 | 21 | Loïc Dachary | * [[HOWTO retire a stable release]] |
59 | 41 | Loïc Dachary | |
60 | h4. Organize the stable releases and backports team |
||
61 | |||
62 | * [[HOWTO become a new team member]] |
||
63 | * [[HOWTO retire from the team]] |