User Tools

Site Tools


General Lab Info (Mainly for Devs)


Lab Infrastructure Services

Misc Admin Tasks
These are infrequently completed tasks that don't fit under any specific service

Production Services

RHEV = Sepia RHE instance
Baremetal = Host in Sepia lab

The Attic/Legacy Info


Developer Playgrounds

Developer playground machines are used for developing Ceph.

All machines have cephfs mounts for accessing the teuthology, scratch, and postfile file systems. It is encouraged to use these machines to view teuthology logs as they will be significantly faster than the teuthology VM, which is often memory/CPU starved.


Playing Nice

Developer playgrounds should be able to build the main branch. It is okay to use ./ top-level scrip from the ceph source tree to update dependencies. Do not run that script from an older release of Ceph as it may break other developer's work. If you need to build an older release, lock a throwaway node like smithi and build there. Or, use a container to do the build/testing!

Using the developer machines to look at teuthology QA artifacts is encouraged. Try to avoid using a text editor to look at large (1GB+) debug logs as this can be RAM intensive/disruptive. Instead, prefer less or use tail -c xM | $EDITOR - to look at portions of the log in a text editor.

Many of the developer playground nodes have extra disks for testing Ceph. It's okay to use these for vstart clusters but it may be more flexible to build LVM volumes on top of these devices so others may use them too.


Please use this MOTD for these playground machines:



      This machine is a Ceph Developer Playground for shared use.  Please
          see the following wiki document for guidelines and a list of
                              available machines.


                           Create support tickets at:




Configuring CephFS Mounts

The following script can be run to setup CephFS mounts on a new developer playground machines:



function run {
  printf '%s\n' "$*" >&2

function mssh {
  run ssh "$HOST" -- "$*"

mssh sudo mkdir -p -m 755 /etc/ceph
ssh 'env CEPH_KEYRING=/etc/ceph/client.sepian.keyring ceph --id sepian config generate-minimal-conf' | mssh sudo tee /etc/ceph/ceph.conf
mssh sudo chmod 644 /etc/ceph/ceph.conf
ssh 'cat /etc/ceph/client.sepian.keyring' | mssh sudo tee /etc/ceph/client.sepian.keyring
mssh sudo chmod 644 /etc/ceph/client.sepian.keyring
ssh 'ceph-authtool /etc/ceph/client.sepian.keyring -n client.sepian -p' | mssh sudo tee /etc/ceph/client.sepian.secret
mssh sudo chmod 600 /etc/ceph/client.sepian.secret

function genmount {
  local secret=$(mssh sudo cat /etc/ceph/client.sepian.secret)
  # create mountpoint
  mssh sudo mkdir -p -- "$2"
  # make the mountpoint directory (shadowed) unwriteable to prevent accidental modification
  mssh sudo chmod 000 -- "$2"
  # set it immutable to enforce that even for root
  mssh sudo chattr +i -- "$2"
  printf ',,\t%s\tceph\tname=sepian,secret=%s,mds_namespace=%s,_netdev\t0\t2\n' "$1" "$2" "$secret" "$3" | mssh sudo tee -a /etc/fstab

genmount /teuthology-archive /teuthology teuthology
genmount / /scratch scratch
genmount / /postfile postfile

mssh sudo systemctl daemon-reload
mssh sudo mount /teuthology
mssh sudo mount /scratch
mssh sudo mount /postfile
mssh sudo ln -s /teuthology /a
devplayground.txt · Last modified: 2023/10/17 19:35 by pdonnell