77 lines
1.7 KiB
Bash
Executable file
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
|
|
|