HOWTO » History » Revision 118
Revision 117 (Loïc Dachary, 02/28/2016 06:34 AM) → Revision 118/187 (Loïc Dachary, 03/01/2016 10:38 AM)
h3. Introduction
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/.
h3. Overview of the backports in progress
* *infernalis*
** "complete":http://tracker.ceph.com/versions/507
** "backport status":http://tracker.ceph.com/issues/13750
** "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=82
** "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=83
** "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Ainfernalis
* *hammer*
** "complete":http://tracker.ceph.com/versions/511
** "backport status":http://tracker.ceph.com/issues/14692
** "backports":http://tracker.ceph.com/projects/ceph/issues?query_id=78
** "pending issues":http://tracker.ceph.com/projects/ceph/issues?query_id=77
** "pull requests":https://github.com/ceph/ceph/pulls?q=is%3Aopen+is%3Apr+milestone%3Ahammer
h3. Leads
* Ceph : Sage Weil
* rados : Samuel Just
* radosgw / rgw : Yehuda Sadeh
* CephFS / fs : Gregory Farnum
* RBD : Jason Dillaman
* build/ops : Ken Dreyer
Note: It may be useful to know the leads of other projects which have a different lifecycle but depend on Ceph.
h3. Who's who
Members of the "stable releases team":http://tracker.ceph.com/projects/ceph-releases are assigned the following roles as of February, 2016.
| Name | IRC nick | v0.94.7 | v9.2.1 | v9.2.2 | v10.2.0 |
| Abhishek Lekshmanan | theanalyst | | backup | | backup |
| Abhishek Varshney | abhishekvrshny | | driver | | driver |
| Nathan Cutler | smithfarm | driver | | | |
| Loic Dachary | loicd | backup | backup | backup | backup |
| Xiaoxi Chen | xiaoxi | mentee | | | |
| M Ranga Swami Reddy | Swami | mentee | mentee | driver | |
| Gaurav Bafna | Bafna | | | | |
| Wei-Chung Cheng | vicente | mentee | | | |
| Martin Palma | pam | | | | |
| Chris Jones | | | | | |
| Rajat Garg | | | | | |
* Mentee: during the course of a release the driver is available to help understand the stable release workflow
* Driver: responsible for making sure the release is moving forward
* Backup: helps the driver and replaces her/him when she/he is not available
* Sage Weil, Samuel Just, Yehuda Sadeh, Gregory Farnum, Jason Dillaman, Ken Dreyer : leads
h3. HOWTO
The following describes in detail and in chronological order, the steps to follow for backporting and maintaining stable releases.
h4. Add a new stable release
* [[HOWTO start backporting a stable release]]
h4. Add a new point release
* [[HOWTO start working on a new point release]]
h4. Prepare a new point release
# [[HOWTO monitor the automated tests AKA nightlies]]
# [[HOWTO schedule an issue for backporting]]
# [[HOWTO document user visible changes]]
# [[HOWTO backport commits]]
# [[HOWTO populate the integration branch]]
# [[HOWTO run integration and upgrade tests]]
# [[HOWTO forensic analysis of integration and upgrade tests]]
# [[HOWTO describe a test result]]
# [[HOWTO merge commits from the integration branch]]
# [[HOWTO synchronize pull requests from different repositories]]
# [[HOWTO resolve issues that are Pending Backport]]
# [[HOWTO get the Ceph lead to decide if it is time for a point release]]
# [[HOWTO get the leads to sign-off on a release]]
# [[HOWTO write the release notes]]
h4. Publish a stable release
* 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/
* The jenkins job is http://jenkins.ceph.com/job/ceph/ and requires some setup
* A jenkins job does a bunch of things like "changing version numbers, creating a tag and pushing to the Jenkins GIT repository":https://github.com/ceph/ceph-build/blob/master/ceph/config/definitions/ceph.yml
* Once that process completes the binaries are HTTP POSTed to chacra.ceph.com following the "convention in the chacra docs":https://github.com/ceph/chacra#chacra
* Once those are there, Alfredo, ssh into signer.ceph.com pull the binaries from chacra, sign them and upload them into download.ceph.com
* The entire procedure is explained in a document that has not yet been released (Feb 2016).
h4. Retire a stable release
* [[HOWTO retire a stable release]]
h4. Recurring duties expected from backporters
* [[HOWTO triage incoming backport pull requests]]
* [[HOWTO triage incoming Pending backport issues]]
* "fill in the missing releases":http://tracker.ceph.com/projects/ceph/issues?query_id=84
h4. Organize the stable releases and backports team
* [[HOWTO become a new team member]]
* [[HOWTO retire from the team]]