73 lines
1.4 KiB
Plaintext
73 lines
1.4 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
# $FreeBSD$
|
||
|
#
|
||
|
# PROVIDE: albatross_x
|
||
|
# REQUIRE: LOGIN albatross_daemon
|
||
|
# KEYWORDS: shutdown nojail
|
||
|
#
|
||
|
# 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)
|
||
|
for _vm in $albatross_x_vms; do
|
||
|
eval _create_args=\"\$albatross_x_args_${_vm}\"
|
||
|
/usr/local/sbin/vmmc create $_vm $_create_args
|
||
|
done
|
||
|
return
|
||
|
;;
|
||
|
esac
|
||
|
for _vm in $@; do
|
||
|
eval _create_args=\"\$albatross_x_args_${_vm}\"
|
||
|
/usr/local/sbin/vmmc create $_vm $_create_args
|
||
|
done
|
||
|
}
|
||
|
|
||
|
albatross_x_stop () {
|
||
|
case $1 in
|
||
|
ALL)
|
||
|
for _vm in $albatross_x_vms
|
||
|
do /usr/local/sbin/vmmc destroy $_vm; done
|
||
|
return
|
||
|
esac
|
||
|
for _vm in $@
|
||
|
do /usr/local/sbin/vmmc destroy $_vm; done
|
||
|
}
|
||
|
|
||
|
albatross_x_status () {
|
||
|
/usr/local/sbin/vmmc info
|
||
|
}
|
||
|
|
||
|
case $# in
|
||
|
1) run_rc_command $@ ${albatross_x_list:-_ALL} ;;
|
||
|
*) run_rc_command $@ ;;
|
||
|
esac
|
||
|
|