Buildbot Setup for VM Host

Instructions for configuring the host machine that manages virtualized Buildbot workers.

This page documents the general setup process for a server that is acting as virtual machine host, like those documented in the Buildbot Setup for Virtual Machines section.

Provision hardware with the most recent Ubuntu LTS release. Add host to DNS. Apply updates (replace <host> with hostname):

ssh <host>.mariadb.net
sudo apt-get update
sudo apt-get dist-upgrade

Install some favorite packages (these aren't necessarily required, but I like them)

sudo apt-get install tree renameutils vim-nox

A buildbot admin needs to add the new host to the allowed list of rsync clients on the VM master (whichever host is the official host of VM files) The VM master changes periodically, so check to make sure you have the correct one:

vi /etc/rsyncd.conf

Make a /kvm/ dir and rsync it with the VM master above. The dir often resides at /home/kvm/ (or wherever the storage drive is) and is then linked to /kvm/. The VMs rely on the /kvm/vms/ path, so the /kvm/ location is required:

vm_master="hostname"      # ask for this from a buildbot admin
mkdir /home/kvm
ln -sv /home/kvm /kvm
rsync --dry-run --delete --exclude=deprecated \\
  --exclude=iso --exclude=lost+found -avPL ${vm_master}::kvm/ /home/kvm/
# assuming the dry-run looks good, start the "real" rsync in a screen session
screen
rsync --delete --exclude=deprecated --exclude=iso --exclude=lost+found -avPL ${vm_master}::kvm/ /home/kvm/

Detach from screen session with Ctrl+a d . Configure vim.basic as the default editor (optional):

Install buildbot-slave, bzr, and kvm

Add a default user, and then add the user to the appropriate groups:

Log out, then back in as the default user and change the password. Set up the /.ssh/authorized_keys file so you can login that way. Create other standard users and set up their ssh keys (optional).

Turn off password login:

triangle-exclamation

Check out mariadb-tools:

Put runvm in the right place:

Add the buildbot user to the kvm and tty groups:

A buildbot admin needs to add this builder to the maria-master-private.cfg file on the ${buildmaster} and also add it to the c['slaves'] array in maria-master.cfg then create the buildslave using the hostname and whatever ${password} was agreed upon by you and the buildbot admin:

Add the following to /etc/default/buildslave (replace ${hostname} with the name of the host):

Edit the admin and host files and add contact information and details on the builder:

Copy over the buildbot .ssh dir from terrier:

Edit /etc/passwd and change the buildbot user's shell from /bin/false to /bin/bash , then su to the buildbot user and copy in the /etc/skel files:

Change ownership of the buildbot/slaves dir to buildbot:buildbot :

Move the /var/lib/buildbot directory to /home (or whatever location you want to use to store things) and then link it back:

Update /etc/default/locale and change it to: LANG=en_US.UTF-8 :

Monitor the rsync, wait for it to finish. Once the rsync is finished, test the runvm script:

Remove the "testtest" VMs we created above

Start the buildslave:

ssh to ${buildmaster} and add this new host to kvm_slaves in the maria-master.cfg file:

Still on ${buildmaster}, test and then reload buildbot:

This page is licensed: CC BY-SA / Gnu FDL

spinner

Last updated

Was this helpful?