Package: rhcephpkg
A tool to package and build Red Hat Ceph Storage for Ubuntu.rhcephpkgis a command-line tool similar to Red Hat’s “rpkg” family of
tools, likefedpkg(open-source) or
rhpkg (closed-source). In Red Hat we use this to package and build the RH Ceph
Enterprise product for Ubuntu.Configuration$HOME/.rhcephpkg.confshould contain the following:[rhcephpkg]
user=kdreyer
gitbaseurl = ssh://%(user)s@code.engineering.redhat.com/rcm/ceph-ubuntu/%(module)s
anongiturl = git://git.app.eng.bos.redhat.com/rcm/ceph-ubuntu/%(module)s.git
patchesbaseurl = ssh://%(user)s@code.engineering.redhat.com/%(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:useris your Red Hat Kerberos UIDtokenis your API token from Jenkins. To find this value, log into Jenkins’ Web UI (using your Kerberos username + password)Commandsrhcephpkg clone- clone a “dist-git” repository. You must have a valid
Kerberos ticket.We use Git repositories with layouts that interoperate with Debian’sgit-buildpackagesuite of tools.Thecloneoperation uses your SSH key, which must be configured in
Gerrit.rhcephpkg build- Trigger a build in Jenkins.rhcephpkgcheckout-from-patches- Choose a Debian branch based on a RHELrdopkg-style
“patches” branch.rhcephpkg download- Download a build’s artifacts from chacra.rhcephpkg hello- Test Jenkins authentication. Use this to verify youruserandtokensettings.rhcephpkg gitbz- Verify each RHBZ in the last Git commit message.rhcephpkglist-builds- List builds for a package in chacra.rhcephpkg localbuild- Perform a local build using pbuilder.rhcephpkgmerge-patches- Do a merge from the RHELrdopkg-style
“patches” remote branch to the Ubuntu patch-queue branch.rhcephpkgnew-version- Import a new upstream version of a package.rhcephpkg patch- Apply a patch-queue branch to a package.rhcephpkg source- Build a source package on the local system.rhcephpkgwatch-build- Watch a build-package job in Jenkins.InstallingPre-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 rhcephpkgSSL validationSome operations (likebuild) 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.Developing rhcephpkgSeeHACKING.rstto get started with running rhcephpkg directly from Git.SeeRELEASING.rstto walk through publishing new rhcephpkg versions.TODOrhcephpkg push- Runsgit push origin--tagsand 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/changelogentry. This would be similar
to howrdopkg amendworks (and some of this functionality is already
present inrhcephpkg patch).