summaryrefslogtreecommitdiff
path: root/sysutils/puppet/files/puppetmasterd.in
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/puppet/files/puppetmasterd.in')
-rw-r--r--sysutils/puppet/files/puppetmasterd.in18
1 files changed, 18 insertions, 0 deletions
diff --git a/sysutils/puppet/files/puppetmasterd.in b/sysutils/puppet/files/puppetmasterd.in
index bb8e7370c28f..cdb817faf448 100644
--- a/sysutils/puppet/files/puppetmasterd.in
+++ b/sysutils/puppet/files/puppetmasterd.in
@@ -8,6 +8,9 @@
# Add the following lines to /etc/rc.conf to enable puppetmasterd:
#
# puppetmasterd_enable="YES"
+# puppetmasterd_confdir: Set to %%PREFIX%%/etc/puppet by default
+# puppetmasterd_flags: Set to --confdir $puppetmasterd_confdir --rundir /var/run" by default
+#
. %%RC_SUBR%%
@@ -16,6 +19,21 @@ rcvar=`set_rcvar`
command="%%PREFIX%%/bin/${name}"
command_interpreter="%%PREFIX%%/bin/ruby18"
+start_precmd="puppetmasterd_checkconfig"
+restart_precmd="puppetmasterd_checkconfig"
+
+puppetmasterd_checkconfig() {
+ echo -n "Performing sanity check of ${name} configuration: "
+ ${command} --parseonly ${puppetmasterd_flags} >/dev/null 2>&1
+ rv=$?
+ if [ $rv != 0 ]; then
+ echo "FAILED, ${name} exited with status ${rv}"
+ ${command} --parseonly ${puppetmasterd_flags}
+ return 1
+ else
+ echo "OK"
+ fi
+}
load_rc_config "$name"
: ${puppetmasterd_enable="NO"}