User Tools

Site Tools


devplayground

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devplayground [2023/10/06 18:20]
pdonnell [Playing Nice]
devplayground [2023/10/17 19:35] (current)
pdonnell
Line 4: Line 4:
  
 All machines have [[services:​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 [[services:​teuthology|teuthology VM]], which is often memory/CPU starved. All machines have [[services:​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 [[services:​teuthology|teuthology VM]], which is often memory/CPU starved.
 +
 ===== Machines ==== ===== Machines ====
  
-^ Name ^ Notes ^ +^ Name                                             ​^ Notes            
-| [[hardware:​senta|senta01.front.sepia.ceph.com]] ​ | General purpose | +| [[hardware:​senta|senta01.front.sepia.ceph.com]] ​ | General purpose ​ 
-| [[hardware:​senta|senta02.front.sepia.ceph.com]] ​ | General purpose | +| [[hardware:​senta|senta02.front.sepia.ceph.com]] ​ | General purpose ​ 
-| [[hardware:​senta|senta03.front.sepia.ceph.com]] ​ | General purpose | +| [[hardware:​senta|senta03.front.sepia.ceph.com]] ​ | General purpose ​ 
-| [[hardware:​vossi|vossi01.front.sepia.ceph.com]] ​ | General purpose | +| [[hardware:​vossi|vossi01.front.sepia.ceph.com]] ​ | General purpose ​ 
-| [[hardware:​vossi|vossi04.front.sepia.ceph.com]] ​ | CephFS Team     ​+| [[hardware:​vossi|vossi04.front.sepia.ceph.com]] ​ | CephFS Team      
-| [[hardware:​vossi|vossi04.front.sepia.ceph.com]] ​ | RADOS Team      +| [[hardware:​vossi|vossi06.front.sepia.ceph.com]] ​ | RADOS Team       ​
-| [[hardware:​folio|folio02.front.sepia.ceph.com]] ​ | General purpose |+| [[hardware:​folio|folio02.front.sepia.ceph.com]] ​ | General purpose ​ | 
 +| [[hardware:​folio|folio13.front.sepia.ceph.com]] ​ | General purpose  ​|
  
 ==== Playing Nice ==== ==== Playing Nice ====
  
-TODO: dos/donts of using the machines.+Developer playgrounds should be able to build the ''​main''​ branch. It is okay to use ''​./install-deps.sh''​ 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 [[hardware:​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. 
 + 
 +==== MOTD ==== 
 + 
 +Please use this MOTD for these playground ​machines
 + 
 +<​code>​ 
 +******************************************************************************* 
 + 
 +                                Welcome! 
 + 
 +      This machine is a Ceph Developer Playground for shared use ​Please 
 +          see the following wiki document for guidelines and a list of 
 +                              available machines. 
 + 
 +             ​https://​wiki.sepia.ceph.com/​doku.php?​id=devplayground 
 + 
 +                           ​Create support tickets at: 
 + 
 +                     ​https://​tracker.ceph.com/​projects/​lab 
 + 
 +                                    Thanks! 
 + 
 +******************************************************************************* 
 +</​code>​ 
 + 
 +==== Configuring CephFS Mounts ==== 
 + 
 +The following script can be run to setup CephFS mounts on a new developer playground machines: 
 + 
 +<​code>​ 
 +#​!/​bin/​bash 
 + 
 +HOST="​$1"​ 
 + 
 +function run { 
 +  printf '​%s\n'​ "​$*"​ >&​2 
 +  "​$@"​ 
 +
 + 
 +function mssh { 
 +  run ssh "​$HOST"​ -- "​$*"​ 
 +
 + 
 +mssh sudo mkdir -p -m 755 /etc/ceph 
 +ssh reesi001.front.sepia.ceph.com '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 reesi001.front.sepia.ceph.com 'cat /​etc/​ceph/​client.sepian.keyring'​ | mssh sudo tee /​etc/​ceph/​client.sepian.keyring 
 +mssh sudo chmod 644 /​etc/​ceph/​client.sepian.keyring 
 +ssh reesi001.front.sepia.ceph.com '​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 '​172.21.2.201,​172.21.2.202,​172.21.2.203:​%s\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
  
-how to use vim to not blow up RAM; prefer less +mssh sudo systemctl daemon-reload 
-don't install deps for old release; just lock smithi and use that+mssh sudo mount /​teuthology 
 +mssh sudo mount /scratch 
 +mssh sudo mount /postfile 
 +mssh sudo ln -s /teuthology /a 
 +</​code>​
devplayground.1696616450.txt.gz · Last modified: 2023/10/06 18:20 by pdonnell