Author: baggins Date: Fri Nov 4 19:05:50 2005 GMT Module: SOURCES Tag: HEAD ---- Log message: - gentoo-based init script and config for starting vservers
---- Files affected: SOURCES: vservers.init (NONE -> 1.1) (NEW), vservers.sysconfig (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: SOURCES/vservers.init diff -u /dev/null SOURCES/vservers.init:1.1 --- /dev/null Fri Nov 4 20:05:50 2005 +++ SOURCES/vservers.init Fri Nov 4 20:05:45 2005 @@ -0,0 +1,160 @@ +#!/bin/sh +# +# vservers: starts and stops vservers +# +# chkconfig: 345 98 02 +# description: Wrapper to start and stop vservers +# This script does not care for vservers not started by it +# +# Copyright 1999-2004 Gentoo Foundation +# Modified for PLD by Jan Rękorajski <[EMAIL PROTECTED]> +# Distributed under the terms of the GNU General Public License v2 +# + +[ -n "$UTIL_VSERVER_VARS" ] || UTIL_VSERVER_VARS=/usr/lib/util-vserver/util-vserver-vars +if [ ! -e "$UTIL_VSERVER_VARS" ] ; then + echo "Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 + exit 1 +fi +. "$UTIL_VSERVER_VARS" + +[ -f /etc/sysconfig/vservers ] && . /etc/sysconfig/vservers + +[ -n "$MARKS" ] || MARKS="default" +[ -n "$NUMPARALLEL" ] || NUMPARALLEL=1 +[ -n "$LOCKDIR" ] || LOCKDIR="/var/lock/vservers" + +_tellResult() +{ + local rc=$1 + deltext + case "$rc" in + 0) ok;; + 2) ok; rc=0;; + *) fail;; + esac + return $rc +} + +case "$1" in +start) + if [ ! -f /var/lock/subsys/vprocunhide ]; then + echo "Run \"/etc/rc.d/init.d/vprocunhide start\" first" + exit 1 + fi + + if [ is_yes "$STARTALL" ]; then + if [ ! -f /var/lock/subsys/vservers-all ]; then + show "Starting all types of vservers" + busy + $_START_VSERVERS -j $NUMPARALLEL --all --start + _tellResult $? + rc=$? + [ $rc -eq 0 ] && touch /var/lock/subsys/vservers-all + else + echo "All types of vservers are already startred" + fi + else + for MARK in $MARKS; do + if [ -f /var/lock/subsys/vservers-$MARK ]; then + echo "Vservers of type '$MARK' are already startred" + continue + fi + show "Starting vservers of type '$MARK'" + busy + $_START_VSERVERS -m $MARK -j $NUMPARALLEL --all --start + _tellResult $? + rc=$? + [ $rc -eq 0 ] && touch /var/lock/subsys/vservers-$MARK + done + fi + + for VSERVER in $START_VSERVERS; do + if [ -f /var/lock/subsys/vserver-$VSERVER ]; then + echo "Vserver '$VSERVER' is already startred" + continue + fi + show "Starting single vserver '$VSERVER'" + busy + $_VSERVER $VSERVER start + _tellResult $? + rc=$? + [ $rc -eq 0 ] && touch /var/lock/subsys/vserver-$VSERVER + done + ;; +stop) + for VSERVER in $START_VSERVERS; do + if [ ! -f /var/lock/subsys/vserver-$VSERVER ]; then + echo "Vserver '$VSERVER' is not running" + continue + fi + show "Stopping single vserver '$VSERVER'" + busy + $_VSERVER $VSERVER stop + _tellResult $? + rc=$? + rm -f /var/lock/subsys/vserver-$VSERVER + done + + if [ is_yes "$STARTALL" ]; then + if [ -f /var/lock/subsys/vservers-all ]; then + show "Stopping all types of vservers" + busy + $_START_VSERVERS -j $NUMPARALLEL --all --stop + _tellResult $? + rc=$? + rm -f /var/lock/subsys/vservers-all + else + echo "All types of vservers are not running" + fi + else + for MARK in $MARKS; do + if [ ! -f /var/lock/subsys/vservers-$MARK ]; then + echo "Vservers of type '$MARK' are not running" + continue + fi + show "Stopping vservers of type '$MARK'" + busy + $_START_VSERVERS -m $MARK -j $NUMPARALLEL --all --stop + _tellResult $? + rc=$? + rm -f /var/lock/subsys/vservers-$MARK + done + fi + ;; +status) + echo "The following types of vservers are running:" + + for i in /var/lock/subsys/vservers-*; do + [ -f "$i" ] || continue + echo $i | awk '{gsub("/var/lock/subsys/vservers-",""); printf(" %s\n",$0); }' + local running="true" + done + + if [[ "${running}" != "true" ]]; then + echo " none" + fi + + echo + echo "/proc/virtual/ says these are running:" + + for i in /proc/virtual/*; do + [ -d $i ] || continue + NAME=$( basename $( vuname -g --xid $( basename ${i} ) CONTEX ) ) + echo " ${NAME}" + done + + echo + echo "vserver-stat says these are running:" + /usr/sbin/vserver-stat + ;; +*) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +exit $RETVAL + +# This must be last line ! +# vi:syntax=sh ================================================================ Index: SOURCES/vservers.sysconfig diff -u /dev/null SOURCES/vservers.sysconfig:1.1 --- /dev/null Fri Nov 4 20:05:50 2005 +++ SOURCES/vservers.sysconfig Fri Nov 4 20:05:45 2005 @@ -0,0 +1,31 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# A space-delimited list of vserver MARKS to start. +# Identification of vservers happens by +# putting the flavor into /etc/vservers/<vserver-id>/apps/init/mark. +# Note: on stop the init script will stop ALL running vservers +MARKS="default" + +# A space-delimited list of vservers to start +# This can be used together with MARKS or as a replacement +# Note: on stop the init script will stop ALL running vservers +#START_VSERVERS="" + +# Wether to start all vserver MARKS by default (supersedes MARKS) +# This will be enabled if STARTALL is set regardless of its content +# i.e. you have to comment to disable it +# Note: on stop the init script will stop ALL running vservers +#STARTALL=yes + +# Number of vservers which shall be started in parallel; since most +# initmethods are spending much time in sleeps, it is safe to +# use a high number here, though you should pay attention if you make +# use of depends in /etc/vservers as some services may not be up if +# started in parallel +#NUMPARALLEL=6 + +# The location of util-vserver-vars +# This file contains variables to util-vserver scripts used within the +# init script. Change at your own risk. +#UTIL_VSERVER_VARS=/usr/lib/util-vserver/util-vserver-vars ================================================================ _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit