Skip to content

Instantly share code, notes, and snippets.

setup

  • deploy a cephadm cluster with a custom build:
sudo cephadm --image <image> bootstrap --mon-ip <ip> --single-host-defaults
  • start OSDs:
sudo cephadm shell ceph orch apply osd --all-available-devices
  • enable the rgw service there:
  • start multisite wirh 2 clusters
MON=1 OSD=1 MDS=0 MGR=0 ../src/test/rgw/test-rgw-multisite.sh 2
  • export credentials
export AWS_ACCESS_KEY_ID=1234567890
export AWS_SECRET_ACCESS_KEY=pencil
  • start multisite wirh 2 clusters
MON=1 OSD=1 MDS=0 MGR=0 ../src/test/rgw/test-rgw-multisite.sh 2
  • export credentials
export AWS_ACCESS_KEY_ID=1234567890
export AWS_SECRET_ACCESS_KEY=pencil

K8s Setup

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

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

install kubectl and use from from the host:

$ eval $(minikube docker-env)

setup

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

  • start the cluster with tracing enabled:
OSD=1 MON=1 MDS=0 MGR=0 RGW=1 ../src/vstart.sh -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
yuvalif / config.py
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
config.load_autoconfig(False)
# 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 https://github.com/cgdb/cgdb

Gotta Catch 'Em All - GSoC 2023 Ceph Project

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

Introduction

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/vstart.sh -n -d 

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

start Zookeeper (in a separate terminal):

bin/zookeeper-server-start.sh config/zookeeper.properties