services:vpshosts
This is an old revision of the document!
Table of Contents
VPSHOSTS
Summary
VPSHOSTs are Miras we took out of the testpool to use as hypervisors for testing VMs.
See the vps_hosts section of the ansible inventory to see which miras are used as VPSHOSTs. Or query the lock database teuthology-lock --brief -a | grep VPS.
VPSHOSTs are managed using the vmhost ansible role in ceph-cm-ansible.
Virtual Machines
Each VPSHOST is home to 8 virtual machines. Each VM has its own JBOD disk assigned to it with 4GB RAM and 1 vCPU.
In June 2016, we marked down all the even-numbered VPSes and made a change to teuthology which creates the VMs with 4GB RAM as 2GB per VM wasn't meeting the needs. See http://tracker.ceph.com/issues/15052
Tasks
Setting up a VPSHOST from scratch
# Determine the first and last VPS number by reading the VPSHOST's description in the lock db
# In this example, the VPSes that live on the VPSHOST are vpm177 thru vpm184
for sys in vpm{177..184}; do mkdir -p /srv/libvirtpool/$sys; done
for disk in sd{b..h}; do mkfs -t xfs -f /dev/$disk; done
# num should be second VPM
num=178; for disk in sd{b..h}; do mount /dev/$disk /srv/libvirtpool/vpm$num; let num=num+1; done
# Untested
num=178; for disk in sd{b..h}; do echo -e "UUID=$(blkid -s UUID -o value /dev/$disk)\t/srv/libvirtpool/vpm$num\txfs\tdefaults,noatime,nodiratime,nobarrier,inode64,logbufs=8,logbsize=256k,largeio\t0\t0"; let num=num+1; done >> /etc/fstab
# Verify fstab, then
mount -a
# On your workstation,
ansible-playbook vmhost.yml --limit="mira###.front.sepia.ceph.com"
# Run this again to fix libvirtpool permissions
ansible-playbook vmhost.yml --limit="mira###.front.sepia.ceph.com"
# Lock the first VPM on the host to download the disk image
tl --lock ubuntu@$firstvpm
# Copy the disk image to the other libvirtpools
for dir in $(ls /srv/libvirtpool/ | tail -n 7); do cp /srv/libvirtpool/$(ls /srv/libvirtpool/ | head -n 1)/ubuntu* /srv/libvirtpool/$dir/; done
for pool in $(ls /srv/libvirtpool/); do virsh pool-refresh $pool; done
# Lock then unlock all the VPSes to verify everything looks good
for sys in vpm{146..152}; do tl --lock ubuntu@$sys; done
for sys in vpm{146..152}; do tl --unlock ubuntu@$sys; done
services/vpshosts.1467758617.txt.gz · Last modified: by dgalloway
