Merge branch '2014.7' into develop

This commit is contained in:
Colton Myers 2014-07-31 12:02:09 -06:00
commit 8a07ac9213
4 changed files with 163 additions and 6 deletions

99
debian/salt-api.init vendored Normal file
View File

@ -0,0 +1,99 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: salt-api
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: salt api control daemon
# Description: This is a daemon that controls the salt minions
### END INIT INFO
# Author: Michael Prokop <mika@debian.org>
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="salt api control daemon"
NAME=salt-api
DAEMON=/usr/bin/salt-api
DAEMON_ARGS="-d"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
pid=$(pidofproc -p $PIDFILE $DAEMON)
if [ -n "$pid" ] ; then
log_begin_msg "$DESC already running."
log_end_msg 0
exit 0
fi
log_daemon_msg "Starting salt-api daemon: "
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS
log_end_msg $?
}
do_stop() {
log_begin_msg "Stopping $DESC ..."
start-stop-daemon --stop --retry TERM/5 --quiet --oknodo --pidfile $PIDFILE
RC=$?
[ $RC -eq 0 ] && rm -f $PIDFILE
log_end_msg $RC
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
#reload)
# not implemented
#;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
exit 0

View File

@ -1571,7 +1571,7 @@ def contains_glob(path, glob_expr):
return False
def append(path, *args):
def append(path, *args, **kwargs):
'''
.. versionadded:: 0.9.5
@ -1590,9 +1590,28 @@ def append(path, *args):
salt '*' file.append /etc/motd \\
"With all thine offerings thou shalt offer salt." \\
"Salt is what makes things taste bad when it isn't in them."
.. admonition:: Attention
If you need to pass a string to append and that string contains
an equal sign, you **must** include the argument name, args.
For example:
.. code-block:: bash
salt '*' file.append /etc/motd args='cheese=spam'
salt '*' file.append /etc/motd args="['cheese=spam','spam=cheese']"
'''
# Largely inspired by Fabric's contrib.files.append()
if 'args' in kwargs:
if isinstance(kwargs['args'], list):
args = kwargs['args']
else:
args = [kwargs['args']]
with salt.utils.fopen(path, "r+") as ofile:
# Make sure we have a newline at the end of the file
try:
@ -1616,7 +1635,7 @@ def append(path, *args):
return 'Wrote {0} lines to "{1}"'.format(len(args), path)
def prepend(path, *args):
def prepend(path, *args, **kwargs):
'''
.. versionadded:: 2014.7.0
@ -1635,7 +1654,27 @@ def prepend(path, *args):
salt '*' file.prepend /etc/motd \\
"With all thine offerings thou shalt offer salt." \\
"Salt is what makes things taste bad when it isn't in them."
.. admonition:: Attention
If you need to pass a string to append and that string contains
an equal sign, you **must** include the argument name, args.
For example:
.. code-block:: bash
salt '*' file.prepend /etc/motd args='cheese=spam'
salt '*' file.prepend /etc/motd args="['cheese=spam','spam=cheese']"
'''
if 'args' in kwargs:
if isinstance(kwargs['args'], list):
args = kwargs['args']
else:
args = [kwargs['args']]
try:
contents = salt.utils.fopen(path).readlines()
except IOError:
@ -1651,7 +1690,7 @@ def prepend(path, *args):
return 'Prepended {0} lines to "{1}"'.format(len(args), path)
def write(path, *args):
def write(path, *args, **kwargs):
'''
.. versionadded:: 2014.7.0
@ -1669,7 +1708,27 @@ def write(path, *args):
salt '*' file.write /etc/motd \\
"With all thine offerings thou shalt offer salt."
.. admonition:: Attention
If you need to pass a string to append and that string contains
an equal sign, you **must** include the argument name, args.
For example:
.. code-block:: bash
salt '*' file.write /etc/motd args='cheese=spam'
salt '*' file.write /etc/motd args="['cheese=spam','spam=cheese']"
'''
if 'args' in kwargs:
if isinstance(kwargs['args'], list):
args = kwargs['args']
else:
args = [kwargs['args']]
contents = []
for line in args:
contents.append('{0}\n'.format(line))

View File

@ -16,9 +16,6 @@ import salt.utils.odict
__proxyenabled__ = ['*']
import logging
log = logging.getLogger(__name__)
__func_alias__ = {
'list_': 'list',
'reload_': 'reload'

View File

@ -8,6 +8,8 @@ intended for use primarily from the state runner from the master.
The salt.state declaration can call out a highstate or a list of sls:
.. code-block:: yaml
webservers:
salt.state:
- tgt: 'web*'