Project

General

Profile

HOWTO cut a release » History » Version 10

Nathan Cutler, 03/13/2016 10:18 AM

1 1 Loïc Dachary
h3. Prepare the repository
2 1 Loïc Dachary
3 1 Loïc Dachary
Before publishing vX.Y.Z, the following files must be updated manually and committed to the corresponding stable branch:
4 1 Loïc Dachary
5 1 Loïc Dachary
* configure.ac
6 1 Loïc Dachary
* debian/changelog
7 1 Loïc Dachary
8 1 Loïc Dachary
h3. Obtain the private key to sign the packages
9 1 Loïc Dachary
10 9 Loïc Dachary
The private key used to sign the packages must be placed in *~/.ceph-workbench/gpg*. If there is no key, a new one will be created, which is convenient for testing but not for publishing. Someone consuming packages from a repository will expect all the packages it contains to be signed by the same key for verification purposes (see http://docs.ceph.com/docs/master/install/get-packages/#add-keys).
11 1 Loïc Dachary
12 1 Loïc Dachary
h3. Create the packages
13 1 Loïc Dachary
14 2 Loïc Dachary
The credentials for an OpenStack tenant must be placed in the ~/.ceph-workbench/openrc.sh file and will be used to create virtual machines to build and test the packages.
15 2 Loïc Dachary
16 1 Loïc Dachary
For a given *branch*, the Ceph *version* packages, signed and placed into usable repositories for a given set of *operating systems* with:
17 6 Loïc Dachary
18 6 Loïc Dachary
    ceph-workbench --verbose release \
19 6 Loïc Dachary
       --version *version* \
20 7 Loïc Dachary
       --suite buildpackages/any \
21 6 Loïc Dachary
       --ceph *branch* \
22 6 Loïc Dachary
       --ceph-git-url http://github.com/ceph/ceph \
23 6 Loïc Dachary
       --filter *operating systems*
24 6 Loïc Dachary
25 1 Loïc Dachary
For instance:
26 6 Loïc Dachary
27 6 Loïc Dachary
    ceph-workbench --verbose release \
28 6 Loïc Dachary
       --version 10.0.3 \
29 7 Loïc Dachary
       --suite buildpackages/any \
30 6 Loïc Dachary
       --ceph jewel \
31 6 Loïc Dachary
       --ceph-git-url http://github.com/ceph/ceph \
32 6 Loïc Dachary
       --filter 'ubuntu_14.04,centos_7.2'
33 6 Loïc Dachary
34 1 Loïc Dachary
will create packages for the *10.0.3* Ceph version from the *jewel* branch found in the http://github.com/ceph/ceph repository and place them in repositories for the *Ubuntu 14.04* and *CentOS 7.2* operating systems.
35 3 Loïc Dachary
36 3 Loïc Dachary
The URL to the repositories is displayed in the *ceph-workbench release* output.
37 3 Loïc Dachary
38 3 Loïc Dachary
h3. merge the packages with the publicly available repository
39 3 Loïc Dachary
40 10 Nathan Cutler
The packages are published to a *temporary* server and should be copied over to a *permanent* location. To do this, first login to the server hosting the permanent files, and then run the following:
41 3 Loïc Dachary
42 4 Loïc Dachary
    ceph-workbench --verbose release --merge-from *temporary* --merge-phase
43 3 Loïc Dachary
44 3 Loïc Dachary
For instance:
45 3 Loïc Dachary
46 5 Loïc Dachary
    ceph-workbench --verbose release --merge-from http://167.114.246.148/ --merge-phase