Note: this tool is unmaintained. Red Hat does not publish Red Hat Ceph Storage for Ubuntu any more, so we do not maintain this tool any more.
A tool to package and build Red Hat Ceph Storage for Ubuntu.
rhcephpkg
is a command-line tool similar to Red Hat's "rpkg" family of
tools, like fedpkg (open-source) or
rhpkg (closed-source). In Red Hat we use this to package and build the RH Ceph
Enterprise product for Ubuntu.
$HOME/.rhcephpkg.conf
should contain the following:
[rhcephpkg] user=kdreyer gitbaseurl = ssh://%(user)[email protected]/rcm/ceph-ubuntu/%(module)s anongiturl = git://git.app.eng.bos.redhat.com/rcm/ceph-ubuntu/%(module)s.git patchesbaseurl = ssh://%(user)[email protected]/%(module)s [rhcephpkg.jenkins] token=5d41402abc4b2a76b9719d911017c592 url=https://rcm-jenkins.app.eng.bos.redhat.com/ [rhcephpkg.chacra] url=https://ubuntu-ceph-test.brew.prod.eng.bos.redhat.com/
Substitute your settings:
user
is your Red Hat Kerberos UIDtoken
is your API token from Jenkins. To find this value, log into Jenkins' Web UI (using your Kerberos username + password)
rhcephpkg clone
- clone a "dist-git" repository. You must have a valid Kerberos ticket.We use Git repositories with layouts that interoperate with Debian's git-buildpackage suite of tools.
The
clone
operation uses your SSH key, which must be configured in Gerrit.rhcephpkg build
- Trigger a build in Jenkins.rhcephpkg checkout-from-patches
- Choose a Debian branch based on a RHEL rdopkg-style "patches" branch.rhcephpkg download
- Download a build's artifacts from chacra.rhcephpkg hello
- Test Jenkins authentication. Use this to verify youruser
andtoken
settings.rhcephpkg gitbz
- Verify each RHBZ in the last Git commit message.rhcephpkg list-builds
- List builds for a package in chacra.rhcephpkg localbuild
- Perform a local build using pbuilder.rhcephpkg merge-patches
- Do a merge from the RHEL rdopkg-style "patches" remote branch to the Ubuntu patch-queue branch.rhcephpkg new-version
- Import a new upstream version of a package. (see the walkthrough for details.)rhcephpkg patch
- Apply a patch-queue branch to a package.rhcephpkg source
- Build a source package on the local system.rhcephpkg watch-build
- Watch a build-package job in Jenkins.
Pre-built Ubuntu Xenial packages are available:
sudo apt-get update sudo apt-get -y install software-properties-common sudo apt-add-repository ppa:kdreyer-redhat/rhceph sudo apt-get update sudo apt-get install rhcephpkg
Some operations (like build
) will contact web services secured with Red
Hat's internal CA. You must trust this CA on your local system to avoid SSL
verification errors. Here is an example of how to do that on Ubuntu:
cd /usr/local/share/ca-certificates/ curl -O https://password.corp.redhat.com/RH-IT-Root-CA.crt update-ca-certificates
"RH-IT-Root-CA.crt" is the public cert that signed the web server's HTTPS certificate.
See HACKING to get started with running rhcephpkg directly from Git.
See RELEASING to walk through publishing new rhcephpkg versions.
rhcephpkg push
- Runsgit push origin --tags
and thengit push origin
. This will help with CI during rebases, so that Jenkins (via Gerrit) will pick up the branch change only after the new tags are already present.rhcephpkg dch
- Bump the changelog according to our "redhat" version number change pattern. This will help make rebases faster.rhcephpkg amend
- Amend the last Git commit to make the commit message align with the lastdebian/changelog
entry. This would be similar to howrdopkg amend
works (and some of this functionality is already present inrhcephpkg patch
).