Xfce Wiki

Sub domains
 

Site Tools

Translations of this page?:

Kopiluwak: The Build Machine

Hardware

  • HP DL145 G3
  • Firmware based on coreboot Coreboot page on HP DL145 g3
    • original bios did not support hardware virtualisation
    • bootloader is embedded in the firmware and is similar to grub. Config file in /boot/filo/menu.lst .
  • Dual Opteron 2218HE
  • 8GB reg ecc ram (kingston)
  • dual 200GB sata drives (software raid 1)

Idea

The machine hosts virtual machines. Other than that no functionality runs on the machine.

Host

Software

software version website
Lunar Linux 1.6.4 x86_64 http://lunar-linux.org
Linux 2.6.30.5
kvm 88 http://kvm.qumranet.com
vde 2.2.2 http://vde.sourceforge.net
lvm2 2.02.45 http://sources.redhat.com/lvm2
tunctl 1.5 http://tunctl.sourceforge.net

Configuration

Storage

* root and boot

/dev/md1 / ext3
/dev/md0 /boot ext3

* var, home, luns for vm's VolumeGroup: vg on /dev/md2

/dev/mapper/vg-home /home ext4
/dev/mapper/vg-var /var ext4

Network

  • eth0 - bridged to br0, ip assigned with dhcp
  • br0: run script in screen
#!/bin/bash
if [ $TERM == screen ]; then
/usr/bin/killall dhcpcd
/bin/rm -fr /var/db/dhcpcd*
/sbin/modprobe tun
/usr/sbin/tunctl -t tap0
/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 eth0
/usr/sbin/brctl addif br0 tap0
/sbin/ifconfig eth0 0.0.0.0 promisc up #still need to test if promisc is needed
/sbin/ifconfig tap0 0.0.0.0 promisc up #still need to test if promisc is needed
/sbin/ifconfig br0 up
/usr/sbin/dhcpcd br0
 
echo "Sleep for 5 minutes, Ctrl ^ C to stop, will revert changes if you don't"
sleep 5m
 
echo "revert changes"
/sbin/ifconfig br0 down
/usr/bin/killall dhcpcd
/bin/rm -fr /var/db/dhcpcd*
/usr/sbin/brctl delif br0 eth0
/usr/sbin/brctl delif br0 tap0
/usr/sbin/brctl delbr br0
/usr/sbin/tunctl -d tap0
/sbin/ifconfig eth0 up
/usr/sbin/dhcpcd eth0
 
echo "Sleep for 5 minutes, Ctrl ^ C to stop, will revert changes if you don't"
sleep 5m
echo "reboot"
/sbin/reboot
else
echo "USE SCREEN";
fi
  • vde_switch: Switch that the virtual machines (buildslaves) will use to communicate with the buildmaster.
vde_switch -tap tap1 -daemon;
ifconfig tap1 10.0.0.1;
echo "1" >  /proc/sys/net/ipv4/ip_forward;
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

Hosted Virtual Machines

Guest 1: buildbot.xfce.org

Configuration

Start the machine
#!/bin/bash
# This script starts the buildbot
vdeq qemu-system-x86_64 -vnc :1 -hda /dev/vg/BuildBot -m 512 -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no -net vde,vlan=1 -net nic,vlan=1 -daemonize
network
  • eth0: fixed ip - external ip (dns: buildbot.xfce.org)
  • eth1: internal nic connected to the virtual switch (ip: 10.0.0.2)
software
  • buildbot 0.7.10p1
config buildbot
  • create the user buildmaster
  • Create instance of buildbot:
buildbot create-master /home/buildmaster/xfce
  • start the buildbot instance:
buildbot start /home/buildmaster/xfce
  • configure the buildbot instance: edit master.cfg
  • validate the edits:
buildbot checkconfig master.cfg
  • reread the config in the current instance:
buildbot reconfig /home/buildmaster/xfce
  • master.cfg:
 

Guest 2: buildslave

lunar ip 10.0.0.3

vdeq qemu-system-x86_64 -vnc :2 -hda /dev/vg/lunar -m 512 -net vde,vlan=1 -net nic,vlan=1 -daemonize
kopiluwak.txt · Last modified: 2010/10/02 17:26 (external edit)