albatross/packaging/rc.d/albatross_x

77 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# $FreeBSD$
#
# PROVIDE: albatross_x
# REQUIRE: LOGIN albatross_daemon
# KEYWORDS: shutdown
#
# Define these albatross_x_* variables in one of these files
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/albatross_x
# /usr/local/etc/rc.conf.d/albatross_x
#
# albatross_x_enable: Set YES to enable the albatross vm start service
# Default: NO
# albatross_x_vms: list of vms to manage
# Default: ""
# albatross_x_args_$VM: vm create arguments
#
#
. /etc/rc.subr
name=albatross_x
rcvar=${name}_enable
desc="Manage Albatross VMs"
load_rc_config $name
start_cmd="albatross_x_start"
stop_cmd="albatross_x_stop"
status_cmd="albatross_x_status"
extra_commands="status"
: ${albatross_x_enable:="NO"}
: ${albatross_x_vms:=""}
albatross_x_start () {
case $1 in
_ALL)
echo "Starting albatross VMs: ${albatross_x_vms}."
for _vm in $albatross_x_vms; do
eval _create_args=\"\$albatross_x_args_${_vm}\"
/usr/local/sbin/albatross_client_local create $_vm $_create_args
done
return
;;
esac
echo "Starting albatross VMs: ${@}."
for _vm in $@; do
eval _create_args=\"\$albatross_x_args_${_vm}\"
/usr/local/sbin/albatross_client_local create $_vm $_create_args
done
}
albatross_x_stop () {
case $1 in
_ALL)
echo "Stopping albatross VMs: ${albatross_x_vms}."
for _vm in $albatross_x_vms
do /usr/local/sbin/albatross_client_local destroy $_vm; done
return
esac
echo "Stopping albatross VMs: ${@}."
for _vm in $@
do /usr/local/sbin/albatross_client_local destroy $_vm; done
}
albatross_x_status () {
/usr/local/sbin/albatross_client_local info
}
case $# in
1) run_rc_command $@ ${albatross_x_list:-_ALL} ;;
*) run_rc_command $@ ;;
esac