Project

General

Profile

HOWTO » History » Version 46

Loïc Dachary, 05/15/2015 09:23 AM

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 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 45 Sage Weil
* Calamari : Gregory Meno
18 32 Loïc Dachary
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 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
h4. Organize the stable releases and backports team
62
63
* [[HOWTO become a new team member]]
64
* [[HOWTO retire from the team]]