HOWTO » History » Revision 52
« Previous |
Revision 52/187
(diff)
| Next »
Cron Tab, 06/07/2015 04:01 PM
Introduction¶
Backporting and the maintenance of a stable release begins when a new stable Ceph release 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 is published. This repeats until the the stable release is retired. Backporting is focused on fixing bugs and development on the master branch is expected to add new features but both share the same workflow.
Overview of the backports in progress¶
- hammer backport status and backports and pending issues and pull requests
- firefly backport status and backports pending issues and pull requests
Leads¶
- Ceph : Sage Weil
- rados : Samuel Just
- radosgw / rgw : Yehuda Sadeh
- CephFS / fs : Gregory Farnum
- RBD : Josh Durgin
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
HOWTO¶
The following describes in detail and in chronological order, the steps to follow for backporting and maintaining stable releases.
Add a new stable release¶
Add a new point release¶
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 inline or HOWTO summarize test results in a separate issue
- 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
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
- The ceph-jenkins-build ansible setup does a bunch of things like changing version numbers, creating a tag and pushing to the Jenkins GIT repository
- 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)
- for hammer a new repository was created by hand and it is documented as a script
Retire a stable release¶
Recuring duties expected from team members¶
- ...
Organize the stable releases and backports team¶
Updated by Cron Tab almost 9 years ago · 52 revisions