blob: 54487ca6e9eb1d8b7669e67179b72517dd15a3c6 [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
extra_commands="configtest"
extra_started_commands="reload"
description_configtest="Run syntax tests for configuration files."
description_reload="Reloads the configuration."
depend() {
need net
}
configtest() {
ebegin "Checking ${SVCNAME} configuration"
checkconfig
eend $?
}
checkconfig() {
${VARNISHD} -C -f ${CONFIGFILE} >/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ]; then
eerror "${SVCNAME} has detected an error in your setup:"
${VARNISHD} -C -f ${CONFIGFILE}
fi
return $ret
}
start() {
checkconfig || return 1
ebegin "Starting varnish"
start-stop-daemon --quiet --start --pidfile /var/run/varnishd.pid --exec ${VARNISHD} -- -P /var/run/varnishd.pid ${VARNISHD_OPTS} &> /dev/null
eend $?
if [ "${VARNISHNCSA_ARGS}" != "" ]; then
ebegin "Starting varnish logging"
start-stop-daemon --quiet --start --pidfile /var/run/varnishncsa.pid --exec /usr/bin/varnishncsa -- -D -P /var/run/varnishncsa.pid ${VARNISHNCSA_ARGS}
eend $?
fi
}
stop() {
ebegin "Stopping varnish"
start-stop-daemon --quiet --stop --pidfile /var/run/varnishd.pid
eend $?
if [ -e /var/run/varnishncsa.pid ]; then
ebegin "Stopping varnish logging"
start-stop-daemon --quiet --stop --pidfile /var/run/varnishncsa.pid
eend $?
fi
}
reload() {
checkconfig || return 1
ebegin "Reloading varnish"
$VARNISHADM vcl.list >/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ]; then
eerror "${SVCNAME} cannot list configuration"
return 1
fi
new_config="reload_$(date +%FT%H:%M:%S)"
$VARNISHADM vcl.load $new_config $CONFIGFILE >/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ]; then
eerror "${SVCNAME} cannot load configuration"
return 1
fi
$VARNISHADM vcl.use $new_config >/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ]; then
eerror "${SVCNAME} cannot switch configuration"
return 1
fi
eend 0
}