#!/bin/bash # # vserver-reference Updates VServer reference # # Load before pl_conf, pl_nm, vcached, and vservers # chkconfig: 3 60 80 # description: Builds VServer reference image # # Mark Huang # Copyright (C) 2004 The Trustees of Princeton University # # $Id$ # case "$1" in start|restart|reload) ;; stop|status) exit 0 ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Source function library. . /etc/init.d/functions # VServer definitions . /usr/lib/util-vserver/util-vserver-vars # Save stdout and stderr exec 3>&1 exec 4>&2 # Redirect stdout and stderr to a log file exec 2>&1 exec &>/var/log/vserver-reference.log echo -n $"Updating VServer reference: " >&3 2>&4 VROOT=$__DEFAULT_VSERVERDIR/vserver-reference # Make sure the barrier bit is set chmod 0000 /vservers setattr --barrier /vservers # Copy configuration files from host to reference image for file in /etc/hosts /etc/resolv.conf /etc/yum.conf /etc/planetlab/node_id ; do if [ -r $file ] ; then echo $file | cpio -p -d -u $VROOT 2>/dev/null fi done # Install and parse Management Authority (MA) configuration if [ -r /etc/planetlab/primary_ma ] ; then . /etc/planetlab/primary_ma install -D -m 644 /etc/planetlab/primary_ma $VROOT/etc/planetlab/primary_ma elif [ -d /mnt/cdrom/bootme/cacert ] ; then MA_NAME="PlanetLab Central" MA_BOOT_SERVER=$(head -1 /mnt/cdrom/bootme/BOOTSERVER) MA_BOOT_SERVER_CACERT=/mnt/cdrom/bootme/cacert/$MA_BOOT_SERVER/cacert.pem mkdir -p $VROOT/etc/planetlab cat > $VROOT/etc/planetlab/primary_ma < $VROOT/mnt/cdrom/bootme/BOOTSERVER fi success >&3 2>&4 echo >&3 2>&4 exit 0