Git Product home page Git Product logo

rhcephpkg's Introduction

rhcephpkg

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.

Configuration

$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 UID
  • token is your API token from Jenkins. To find this value, log into Jenkins' Web UI (using your Kerberos username + password)

Commands

  • 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 your user and token 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.

Installing

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

SSL validation

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.

Developing rhcephpkg

See HACKING to get started with running rhcephpkg directly from Git.

See RELEASING to walk through publishing new rhcephpkg versions.

TODO

  • rhcephpkg push - Runs git push origin --tags and then git 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 last debian/changelog entry. This would be similar to how rdopkg amend works (and some of this functionality is already present in rhcephpkg patch).

rhcephpkg's People

Contributors

ktdreyer avatar tserlin avatar ahills avatar stickler-ci avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.