This page is a work in progress. Please be sure to read and be familiar with the Emulab documentation.
The testbed needs to know what switches are connected to it and what power ports they are plugged into. Right now, we insert these manually into the database.
Testbed nodes need to be setup to boot from the network by default. This is done through the Preboot eXecution Environment, available for most network cards. For onboard network cards, it is typically enabled through the BIOS.
In order to add our switch to the database, we need to setup node and interface types for them.
We provide some SQL to make this easy. The script switch-types-create defines the following:
For other switch types, please refer to the Emulab Documentation.
To load these default node and interface types, simply:
mysql tbdb < ~<builduser>/testbed/sql/switch-types-create.sql
Your switch needs a name that resolves. You must add it either to /etc/hosts or to the name server running on boss.
To add it to the name server, add it into /etc/namedb/<yoursitename>.internal.db.head. You then refresh the DNS server by running /usr/testbed/sbin/named_setup.
For example, on mini-isi.deterlab.net we have our switch that we will name hp1 at 192.168.254.1 on the HARDWARE_CONTROL network. So we add it to DNS as follows:
[jhickey@boss ~]$ sudo su - boss# echo "hp1 IN A 192.168.254.1" >> /etc/namedb/mini-isi.deterlab.net.internal.db.head boss# logout [jhickey@boss ~]$ /usr/testbed/sbin/named_setup [jhickey@boss ~]$ ping -c 1 hp1 PING hp1.mini-isi.deterlab.net (192.168.254.1): 56 data bytes 64 bytes from 192.168.254.1: icmp_seq=0 ttl=63 time=3.496 ms --- hp1.mini-isi.deterlab.net ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 3.496/3.496/3.496/0.000 ms [jhickey@boss ~]$
insert into nodes set node_id='hp1',phys_nodeid='hp1',type='hp2180',role='testswitch';
Some sites have separate switches for their control and experimental networks. If you are adding a dedicated control network swtich, use ctrlswitch as the role.
You must be able to resolve node_id. You must add it in
TBD
When the PXE boot ROM is loaded during machine boot.
The default bootloader for testbed nodes is /tftpboot/pxeboot.emu. There are four different versions of pxeboot.emu distributed with the tarball.
Pick a loader that best suits your installation and copy it:
cp /tftpboot/pxeboot.emu-<null|sio|sio2|vga> /tftpboot/pxeboot.emu
You can also look at modifying /usr/local/etc/dhcpd.conf.template. You will have to generate a new dhcpd.conf configuration using /usr/testbed/sbin/dhcpd_makeconf > /usr/local/etc/dhcpd.conf and restarting dhcpd.
These filesystems are PXE booted over the network via TFTP and allow us to perform various parts of node maintenance.
There are three different MFS (memory file system) images that come with DETER/Emulab.
They are:
The reason all these tasks are split up among multiple images is to keep the image size down since they are booted over the network. With faster networks, these images will likely be rolled into a single Linux based image in the future.
You will have to install your root SSH keys from boss into each MFS and change the root password.
This process has been automated by the script setup_mfs in testbed/install.
Generally each node will have a control network interface and experimental interfaces. The control network interface should be on a switch port that is on the CONTROL (VLAN 2003) network. The experimental interfaces should be on ports that are enabled, but can be in a default VLAN for now.
The testbed nodes should be set to boot only off of the network. Disable hard drive boot to prevent failed PXE requests from falling through to booting whatever is on the disk.