Category Archives: ceph

Provisionning a teuthology target with a given kernel

When a teuthology target (i.e. machine) is provisioned with teuthology-lock for the purpose of testing Ceph, there is no way to choose the kernel. But it can be installed afterwards using the following: cat > kernel.yaml <<EOF interactive-on-error: true roles: … Continue reading

Posted in ceph | Leave a comment

Ceph OSD uuid conversion to OSD id and vice versa

When handling a Ceph OSD, it is convenient to assign it a symbolic name that can be chosen even before it is created. That’s what the uuid argument for ceph osd create is for. Without a uuid argument, a random … Continue reading

Posted in ceph | Leave a comment

Re-schedule failed teuthology jobs

The Ceph integration tests may fail because of environmental problems (network not available, packages not built, etc.). If six jobs failed out of seventy, these failed test can be re-run instead of re-scheduling the whole suite. It can be done … Continue reading

Posted in ceph | Leave a comment

HOWTO extract a stack trace from teuthology (take 2)

When a Ceph teuthology integration test fails (for instance a rados jobs), it will collect core dumps which can be downloaded from the same directory where the logs and config.yaml files can be found, under the remote/mira076/coredump directory. The binary … Continue reading

Posted in ceph | Leave a comment

Teuthology docker targets hack (4/4)

The teuthology container hack is completed by adding a flag to retrieve packages from a user specified repository instead of gitbuilder.ceph.com. The user can build packages from sources and run a job, which will implicitly save a docker image with … Continue reading

Posted in ceph, docker | 3 Comments

Building Ceph Debian GNU/Linux packages

The following script explains how to create Debian GNU/Linux packages for Ceph from a clone of the sources. releasedir=/tmp/release rm -fr releasedir mkdir -p $releasedir # # remove all files not under git so they are not # included in … Continue reading

Posted in ceph, debian | 2 Comments

A make check bot for Ceph contributors

The automated make check for Ceph bot runs on Ceph pull requests. It is still experimental and will not be triggered by all pull requests yet. It does the following: Create a docker container (using ceph-test-helper.sh) Checkout the merge of … Continue reading

Posted in ceph, docker | Leave a comment

Teuthology docker targets hack (3/4)

The teuthology container hack is improved so each Ceph command is run via docker exec -i which can read from stdin as of docker 1.4 released in December 2014. It can run the following job machine_type: container os_type: ubuntu os_version: … Continue reading

Posted in ceph, docker | Leave a comment

Why are by-partuuid symlinks missing or outdated ?

The ceph-disk script manages Ceph devices and rely on the content of the /dev/disk/by-partuuid directory which is updated by udev rules. For instance: a new partition is created with /sbin/sgdisk –largest-new=1 –change-name=1:ceph data –partition-guid=1:83c14a9b-0493-4ccf-83ff-e3e07adae202 –typecode=1:89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be — /dev/loop4 the kernel is … Continue reading

Posted in ceph | Leave a comment

How many PGs in each OSD of a Ceph cluster ?

To display how many PGs in each OSD of a Ceph cluster: $ ceph –format xml pg dump | \ xmlstarlet sel -t -m “//pg_stats/pg_stat/acting” -v osd -n | \ sort -n | uniq -c 332 0 312 1 299 … Continue reading

Posted in ceph | 3 Comments