Skip to content

Instantly share code, notes, and snippets.


K8s Setup

install minikube, run minikube with enough CPUs and 2 extra disks (for 2 OSDs):

$ minikube start --cpus 6 --extra-disks=2

install kubectl and use from from the host:

$ eval $(minikube docker-env)


note that the following PR introduces end2end tracing (RGW->OSD) for "object PUT"

  • start the cluster with tracing enabled:
SD=1 MON=1 MDS=0 MGR=0 RGW=1 ../src/ -d -n -o jaeger_tracing_enable=true -o jaeger_agent_port=6831

Note that, by default, both OSD and RGW try to send th traces to a different port than the one the agent listen on by default

  • start the "all in one" container of jaeger, this will run: the agent, the collector the backend and the UI:
yuvalif /
Created March 14, 2023 07:36
my qutebrowser config
# no dark mode
config.set("colors.webpage.darkmode.enabled", False)
# Change the argument to True to still load settings configured via autoconfig.yml
# Leave insert mode if a non-editable element is clicked.
# Type: Bool
c.input.insert_mode.auto_leave = False

missing system dependecies (some may not be missing):

sudo dnf install libtool flex bison autoconf automake
sudo dnf install texinfo
sudo dnf install readline-devel

get the code:

git clone

Gotta Catch 'Em All - GSoC 2023 Ceph Project

Below are detailed instructions regarding the Gotta Catch 'Em All - GSoC 2023 Ceph Project


Coverity is a tool used by the Ceph project to find issues in the code. Even though Coverity it is a commercial product, they perfom regular scans for many Open Source project, including Ceph.

The Ceph storage system has an S3 compatible Object Store interface, implemented by the RADOS Gateway (or RGW) component of Ceph.


start cluster:

MON=1 OSD=1 MDS=0 MGR=0 RGW=1 ../src/ -n -d 

download Kafka from here, unzip, and go into the kafka directory.

start Zookeeper (in a separate terminal):

bin/ config/

step 0

  • create a branch off of master branch of (e.g. my-test-work)
  • develop the test and test it localy against a vstart cluster
  • push the branch to your local s3test repo. e.g. branch my-test-work in
  • create a PR to review your work

step 1

  • create a branch off of main branch of (e.g. my-qa-branch)
  • edit the s3test override file: qa/rgw/s3tests-branch.yaml to point to the repo and branch from step 0:
  • start ceph cluster with an RGW using vstart:
MON=1 OSD=1 MDS=0 MGR=1 RGW=1 ../src/ -d -n
  • use the following lua script postrequest.lua:
RGWDebugLog("Post Request Request.RGWOp = " .. Request.RGWOp)

RGWDebugLog("number of http metadata entries is: " .. #Request.HTTP.Metadata)
for k, v in pairs(Request.HTTP.Metadata) do


sudo dnf install glib2-devel
sudo dnf install libgcrypt-devel
sudo dnf install qt-devel
sudo dnf install qt6-qtbase-devel
sudo dnf install qt6-linguist-devel
sudo dnf install qt6-qttools-devel
sudo dnf install qt6-qt5compat-devel

Instructions for fedora 36


install java. curently gradle does not work with jdk higher than 11, so we would need to:

sudo dnf install java-11-openjdk-devel.x86_64

if other version is already installed, use:

sudo alternatives --config java