diff options
Diffstat (limited to 'files/vserver/build_vserver')
-rw-r--r-- | files/vserver/build_vserver | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/files/vserver/build_vserver b/files/vserver/build_vserver index 0f0cea7..f808122 100644 --- a/files/vserver/build_vserver +++ b/files/vserver/build_vserver @@ -1,36 +1,48 @@ #!/bin/bash -NAME=$1 -CONTEXT=$2 -RELEASE = $3 -DEBOOTSTRAP_MIRROR = $4 -# create basic vserver -vserver $NAME build -m debootstrap -- -d $RELEASE -m $DEBOOTSTRAP_MIRROR +NAME="$1" +CONTEXT="$2" +RELEASE="$3" +DEBOOTSTRAP_MIRROR="$4" +VHOSTNAME="$5" +VINTERFACE="$6" +PACKAGES="lsb-release,openssl,iproute,cron,sudo,openssh-server,locales" + +if [ "$VHOSTNAME" != "none" ]; then + VHOSTNAME_OPT="--hostname $VHOSTNAME" +fi + +if [ ! -z "$VINTERFACE" ]; then + VINTERFACE_OPT="--interface $VINTERFACE" + VIP="`echo $VINTERFACE | cut -d : -f 2 | cut -d '/' -f 1`" +fi -# default settings -echo $NAME >/etc/vservers/$NAME/uts/nodename -echo $CONTEXT >/etc/vservers/$NAME/context +# create basic vserver +vserver $NAME build -n $NAME --context $CONTEXT \ + $VHOSTNAME_OPT $VINTERFACE_OPT -m debootstrap -- \ + -d $RELEASE -m $DEBOOTSTRAP_MIRROR -- --include=$PACKAGES || exit 1 # 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 +# add minimum /etc/hosts entries +if [ "$VHOSTNAME" != "none" ]; then + echo "$VIP $VHOSTNAME" > $TARGET/etc/hosts +fi + 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 start || exit 1 +vserver $NAME exec apt-get update || exit 1 +vserver $NAME exec apt-get upgrade || exit 1 + +# custom puppet installation +#mkdir -p $TARGET/var/lib/puppet/modules/dbp +#cp /var/lib/puppet/modules/dbp/puppet_current.deb $TARGET/var/lib/puppet/modules/dbp/ #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 echo "VServer $NAME created" |