Author Archives: Loic Dachary

Mirror github pull requests locally

Each GitHub pull request is associated with a reference in the target repository. For instance the commit sent to pull request 3948 is the reference refs/pull/3948/head. If GitHub successfully merges the pull request in the target branch, another reference is … Continue reading

Posted in git, gitlab | Leave a comment

Using a cloud image with kvm

It would be convenient to have a virt-builder oneliner such as $ virt-builder –arch i386 –ssh-inject ~/.ssh/id_rsa.pub fedora-21 to get an image suitable to run and login with $ qemu-kvm -m 1024 -net user,hostfwd=tcp::2222-:22 \ -drive file=fedora-21.qcow2 & $ ssh … Continue reading

Posted in Uncategorized | Leave a comment

Ceph make check in a ram disk

When running tests from the Ceph sources, the disk is used intensively and a ram disk can be used to reduce the latency. The kernel must be rebooted to set the ramdisk maximum size to 16GB. For instance on Ubuntu … Continue reading

Posted in ceph | Leave a comment

Upgrade nodejs on Ubuntu 14.04

To run gh a version of nodejs more recent than the one packaged by default on Ubuntu 14.04 is required: $ apt-cache policy nodejs nodejs: Installed: 0.10.25~dfsg2-2ubuntu1 Candidate: 0.10.25~dfsg2-2ubuntu1 Version table: *** 0.10.25~dfsg2-2ubuntu1 0 500 http://fr.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages 100 … Continue reading

Posted in Uncategorized | Leave a comment

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

An example of controlled technical debt

When I started working to help with Ceph backports, I was not familiar with the workflow (who does what, when and why) or the conventions (referencing commits from redmine issues, the redmine backport field, …). I felt the need for … Continue reading

Posted in Uncategorized | Leave a comment

How was a cherry-pick conflict resolved ?

When a git cherry-pick fails because of a conflict, it can be resolved and committed. The reviewer is reminded that a conflict had to be resolved by the Conflicts section at the end of the message body: commit 7b8e5c99a4a40ae788ad29e36b0d714f529b12eb Author: … Continue reading

Posted in git | Leave a comment