#!/bin/bash NAME=$1 CONTEXT=$2 RELEASE = $3 DEBOOTSTRAP_MIRROR = $4 # create basic vserver vserver $NAME build -m debootstrap -- -d $RELEASE -m $DEBOOTSTRAP_MIRROR # default settings echo $NAME >/etc/vservers/$NAME/uts/nodename echo $CONTEXT >/etc/vservers/$NAME/context # copy in some some defaults TARGET=/etc/vservers/$NAME/vdir/ cp /etc/apt/{preferences,sources.list} $TARGET/etc/apt/ # this is needed so puppet can find the puppetmaster and creates the right # certificate grep -v $NAME /etc/hosts > $TARGET/etc/hosts echo "127.0.0.1 $NAME" >> $TARGET/etc/hosts mkdir -p $TARGET/var/lib/puppet/modules/dbp cp /var/lib/puppet/modules/dbp/puppet_current.deb $TARGET/var/lib/puppet/modules/dbp/ # Setup is complete, now do the post-install stuff vserver $NAME start vserver $NAME exec dselect update # install a few packages needed for facter vserver $NAME exec apt-get -y install lsb-release iproute vserver $NAME exec dpkg --install var/lib/puppet/modules/dbp/puppet_current.deb vserver $NAME exec apt-get -fy install echo "Please sign now: puppetca --sign $NAME" >&2