Prepare the repository

Before publishing vX.Y.Z, the following files must be updated manually and committed to the corresponding stable branch:

  • debian/changelog

Obtain the private key to sign the packages

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

Create the packages

The credentials for an OpenStack tenant must be placed in the ~/.ceph-workbench/ file and will be used to create virtual machines to build and test the packages.

For a given branch, the Ceph version packages, signed and placed into usable repositories for a given set of operating systems with:

ceph-workbench --verbose release \
--version version \
--suite buildpackages/any \
--ceph branch \
--ceph-git-url \
--filter operating systems

For instance:

ceph-workbench --verbose release \
--version 10.0.3 \
--suite buildpackages/any \
--ceph jewel \
--ceph-git-url \
--filter 'ubuntu_14.04,centos_7.2'

will create packages for the 10.0.3 Ceph version from the jewel branch found in the repository and place them in repositories for the Ubuntu 14.04 and CentOS 7.2 operating systems.

The URL to the repositories is displayed in the ceph-workbench release output.

merge the packages with the publicly available repository

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:

ceph-workbench --verbose release --merge-from temporary --merge-phase

For instance:

ceph-workbench --verbose release --merge-from --merge-phase