This is an old revision of the document!
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.29.2 | |
kvm | 84 | 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 /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
- 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 ze
network
- eth0: fixed ip - external ip (dns: buildbot.xfce.org)
- eth1: internal nic connected to the virtual switch (ip: 10.0.0.2)
software
- lunar-linux 1.6.4 x86_64
- buildbot 0.7.10p1
config buildbot
- create the user buildmaster
- Create instance of buildbot:
#!/bin/bash buildbot create-master /home/buildmaster/xfce