forked from ungleich-public/cdist
update __process to new style, warn if not present/absent
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
parent
e0f80f0103
commit
0f649577ad
2 changed files with 41 additions and 28 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# 2011 Nico Schottelius (nico-cdist at schottelius.org)
|
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
|
||||||
#
|
#
|
||||||
# This file is part of cdist.
|
# This file is part of cdist.
|
||||||
#
|
#
|
||||||
|
@ -25,33 +25,44 @@ else
|
||||||
name="$__object_id"
|
name="$__object_id"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
runs="$(cat "$__object/explorer/runs")"
|
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
case "$state_should" in
|
||||||
|
running)
|
||||||
|
echo "WARNING: ${__object_name}: $state_should is deprecated and will be removed in cdist 2.1. Please change to present/absent." >&2
|
||||||
|
state_should="present"
|
||||||
|
;;
|
||||||
|
stopped)
|
||||||
|
echo "WARNING: ${__object_name}: $state_should is deprecated and will be removed in cdist 2.1. Please change to present/absent." >&2
|
||||||
|
state_should="absent"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
runs="$(cat "$__object/explorer/runs")"
|
||||||
|
if [ "$runs" ]; then
|
||||||
|
state_is="present"
|
||||||
|
else
|
||||||
|
state_is="absent"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$state_is" = "$state_should" ] && exit 0
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
running|present)
|
present)
|
||||||
# Does not run, start it!
|
if [ -f "$__object/parameter/start" ]; then
|
||||||
if [ -z "$runs" ]; then
|
|
||||||
if [ -f "$__object/parameter/start" ]; then
|
|
||||||
cat "$__object/parameter/start"
|
cat "$__object/parameter/start"
|
||||||
else
|
else
|
||||||
echo "$name"
|
echo "$name"
|
||||||
fi
|
fi
|
||||||
fi
|
;;
|
||||||
;;
|
absent)
|
||||||
stopped|absent)
|
|
||||||
# Runs, kill it!
|
|
||||||
if [ "$runs" ]; then
|
|
||||||
if [ -f "$__object/parameter/stop" ]; then
|
if [ -f "$__object/parameter/stop" ]; then
|
||||||
cat "$__object/parameter/stop"
|
cat "$__object/parameter/stop"
|
||||||
else
|
else
|
||||||
echo kill "${runs}"
|
echo kill "${runs}"
|
||||||
fi
|
fi
|
||||||
fi
|
;;
|
||||||
;;
|
*)
|
||||||
*)
|
echo "Unknown state: $state_should" >&2
|
||||||
echo "Unknown state: $state_should" >&2
|
exit 1
|
||||||
exit 1
|
;;
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -16,7 +16,9 @@ This cdist type allows you to define the state of a process.
|
||||||
REQUIRED PARAMETERS
|
REQUIRED PARAMETERS
|
||||||
-------------------
|
-------------------
|
||||||
state::
|
state::
|
||||||
State of the process: Either stopped or running.
|
State of the process: Either present or absent
|
||||||
|
(old values "stopped" and "running" are deprecated and will be removed in
|
||||||
|
cdist 2.1).
|
||||||
|
|
||||||
|
|
||||||
OPTIONAL PARAMETERS
|
OPTIONAL PARAMETERS
|
||||||
|
@ -40,23 +42,23 @@ EXAMPLES
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
# Start if not running
|
# Start if not running
|
||||||
__process /usr/sbin/syslog-ng --state running
|
__process /usr/sbin/syslog-ng --state present
|
||||||
|
|
||||||
# Start if not running with a different binary
|
# Start if not running with a different binary
|
||||||
__process /usr/sbin/nginx --state running --start "/etc/rc.d/nginx start"
|
__process /usr/sbin/nginx --state present --start "/etc/rc.d/nginx start"
|
||||||
|
|
||||||
# Stop the process using kill (the type default) - DO NOT USE THIS
|
# Stop the process using kill (the type default) - DO NOT USE THIS
|
||||||
__process /usr/sbin/sshd --state stopped
|
__process /usr/sbin/sshd --state absent
|
||||||
|
|
||||||
# Stop the process using /etc/rc.d/sshd stop - THIS ONE NOT AS WELL
|
# Stop the process using /etc/rc.d/sshd stop - THIS ONE NOT AS WELL
|
||||||
__process /usr/sbin/sshd --state stopped --stop "/etc/rc.d/sshd stop"
|
__process /usr/sbin/sshd --state absent --stop "/etc/rc.d/sshd stop"
|
||||||
|
|
||||||
# Ensure cups is running, which runs with -C ...:
|
# Ensure cups is running, which runs with -C ...:
|
||||||
__process cups --start "/etc/rc.d/cups start" --state running \
|
__process cups --start "/etc/rc.d/cups start" --state present \
|
||||||
--name "/usr/sbin/cupsd -C /etc/cups/cupsd.conf"
|
--name "/usr/sbin/cupsd -C /etc/cups/cupsd.conf"
|
||||||
|
|
||||||
# Ensure rpc.statd is running (which usually runs with -L) using a regexp
|
# Ensure rpc.statd is running (which usually runs with -L) using a regexp
|
||||||
__process rpcstatd --state running --start "/etc/init.d/statd start" \
|
__process rpcstatd --state present --start "/etc/init.d/statd start" \
|
||||||
--name "rpc.statd.*"
|
--name "rpc.statd.*"
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -68,5 +70,5 @@ SEE ALSO
|
||||||
|
|
||||||
COPYING
|
COPYING
|
||||||
-------
|
-------
|
||||||
Copyright \(C) 2011 Nico Schottelius. Free use of this software is
|
Copyright \(C) 2011-2012 Nico Schottelius. Free use of this software is
|
||||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
granted under the terms of the GNU General Public License version 3 (GPLv3).
|
||||||
|
|
Loading…
Reference in a new issue