initial commit of a *whole bunch* of old Egressive shell scripts, used to make many people redundant.
This commit is contained in:
commit
43e0f5b59e
329 changed files with 31937 additions and 0 deletions
80
egopenvz/eg-make-openvz-ve
Executable file
80
egopenvz/eg-make-openvz-ve
Executable file
|
@ -0,0 +1,80 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Script to create an OpenVZ VE for a specific hostname
|
||||
# The hostname must be present in $CONFIGBASE/host.map
|
||||
|
||||
DEFAULT_CONFFILE=/etc/egscripts/make-openvz-ve.conf
|
||||
DEFAULT_CONFIGBASE=/etc/egscripts/openvz
|
||||
DEFAULT_CONFIGTEMPLATE=vps.basic
|
||||
DEFAULT_VZCONFDIR=/etc/vz
|
||||
DEFAULT_DOMAIN=kc
|
||||
DEFAULT_NAMESERVER=10.128.2.11
|
||||
|
||||
#
|
||||
# Any of the variables below can be overriden either as environment variables
|
||||
# or in the configuration file. Either specified on the command line or from
|
||||
# the default above
|
||||
#
|
||||
CONFFILE=${CONFFILE-$DEFAULT_CONFFILE}
|
||||
CONFIGBASE=${CONFIGBASE-$DEFAULT_CONFIGBASE}
|
||||
CONFIGTEMPLATE=${CONFIGTEMPLATE-$DEFAULT_CONFIGTEMPLATE}
|
||||
VZCONFDIR=${VZCONFDIR-$DEFAULT_VZCONFDIR}
|
||||
DOMAIN=${DOMAIN-$DEFAULT_DOMAIN}
|
||||
NAMESERVER=${NAMESERVER-$DEFAULT_NAMESERVER}
|
||||
|
||||
START=1
|
||||
|
||||
usage() {
|
||||
cat <<EOT
|
||||
Usage: `basename $0` [ -h ] [ -N ] [ -c configfile ] hostname
|
||||
EOT
|
||||
}
|
||||
|
||||
while getopts "c:hN" OPT ; do
|
||||
case $OPT in
|
||||
c) $CONFFILE=$OPTARG ;;
|
||||
h) usage ; exit 0;;
|
||||
N) START=0 ;;
|
||||
*) usage ; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
if [ $# -ne 1 ] ; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TARGETHOST=$1
|
||||
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
if [ -f $CONFFILE ] ; then
|
||||
. $CONFFILE
|
||||
fi
|
||||
|
||||
while read HOST OSTEMPLATE VEID IP ; do
|
||||
if [ "$HOST" == "$TARGETHOST" ] ; then
|
||||
echo "Creating host $HOST with VEID $VEID and IP $IP"
|
||||
|
||||
. $VZCONFDIR/vz.conf
|
||||
|
||||
vzctl create $VEID --config $CONFIGTEMPLATE --ostemplate $OSTEMPLATE --hostname $HOST --ipadd $IP
|
||||
vzctl set $VEID --name $HOST --save
|
||||
vzctl set $VEID --features "nfs:on" --save
|
||||
vzctl set $VEID --nameserver "$NAMESERVER" --save
|
||||
|
||||
# The apt cache has most likely been updated since the template was
|
||||
# created, so do a one off update
|
||||
chroot $VE_PRIVATE /usr/bin/aptitude update
|
||||
|
||||
if [ $START -eq 1 ] ; then
|
||||
vzctl start $VEID
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
done < $CONFIGBASE/host.map
|
||||
|
||||
echo "Host $TARGETHOST not found in $CONFIGBASE/host.map"
|
Loading…
Add table
Add a link
Reference in a new issue