#!/bin/sh # # License: GNU General Public License (GPL) # Author: Martin Fick # Date: 04/19/07 # Version: 1.1 # # This script manages a VServer instance # # It can start or stop a VServer # # usage: $0 {start|stop|status|monitor|meta-data} # # # OCF parameters are as below # OCF_RESKEY_vserver # ####################################################################### # Initialization: #. /usr/lib/heartbeat/ocf-shellfuncs USAGE="usage: $0 {start|stop|status|monitor|meta-data}"; ####################################################################### meta_data() { cat < 1.0 This script manages a VServer instance. It can start or stop a VServer. OCF Resource Agent compliant VServer script. The vserver name is the name as found under /etc/vservers VServer Name END } vserver_reload() { vserver_stop || return vserver_start } vserver_stop() { # # Is the VServer already stopped? # vserver_status [ $? -ne 0 ] && return 0 /usr/sbin/vserver "$OCF_RESKEY_vserver" "stop" vserver_status [ $? -ne 0 ] && return 0 return 1 } vserver_start() { vserver_status [ $? -eq 0 ] && return 0 /usr/sbin/vserver "$OCF_RESKEY_vserver" "start" vserver_status } vserver_status() { /usr/sbin/vserver "$OCF_RESKEY_vserver" "status" rc=$? if [ $rc -eq 0 ]; then echo "running" return 0 elif [ $rc -eq 3 ]; then echo "stopped" else echo "unknown" fi return 7 } vserver_monitor() { vserver_status } vserver_usage() { echo $USAGE >&2 } vserver_info() { cat - <