Created
July 30, 2012 20:47
-
-
Save justone/3210047 to your computer and use it in GitHub Desktop.
saltstack on lenny
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# link init scripts into /etc/init.d | |
ln -s /opt/salt/etc/salt-minion /etc/init.d/salt-minion | |
ln -s /opt/salt/etc/salt-master /etc/init.d/salt-master | |
# create the salt config directory | |
mkdir -p /etc/salt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# remove links | |
rm /etc/init.d/salt-minion | |
rm /etc/init.d/salt-master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Salt master | |
################################### | |
# LSB header | |
### BEGIN INIT INFO | |
# Provides: salt-master | |
# Required-Start: $remote_fs $network | |
# Required-Stop: $remote_fs $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: salt master control daemon | |
# Description: This is a daemon that controls the salt minions | |
### END INIT INFO | |
# chkconfig header | |
# chkconfig: 2345 99 01 | |
# description: This is a daemon that controls the salt mininons | |
# | |
# processname: /opt/salt/bin/salt-master | |
# Sanity checks. | |
[ -x /opt/salt/bin/salt-master ] || exit 0 | |
DEBIAN_VERSION=/etc/debian_version | |
SUSE_RELEASE=/etc/SuSE-release | |
# Source function library. | |
if [ -f $DEBIAN_VERSION ]; then | |
break | |
elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then | |
. /etc/rc.status | |
else | |
. /etc/rc.d/init.d/functions | |
fi | |
SERVICE=salt-master | |
PROCESS=salt-master | |
CONFIG_ARGS=" " | |
PS_CMD="ps -e -o pid,args" | |
PROC_LIST="" | |
RETVAL=0 | |
findproc() { | |
PROC_LIST=`$PS_CMD | grep 'bin/python.*salt-master' | grep -v grep | grep -v sh | grep -v vi | awk '{ print $1 }'` | |
} | |
start() { | |
echo -n "Starting salt-master daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
startproc -f -p /var/run/$SERVICE.pid /opt/salt/bin/salt-master -d $CONFIG_ARGS | |
rc_status -v | |
elif [ -e $DEBIAN_VERSION ]; then | |
findproc | |
if [ -n "$PROC_LIST" ]; then | |
echo -n "already started, lock file found" | |
RETVAL=1 | |
elif /opt/salt/bin/python /opt/salt/bin/salt-master -d; then | |
echo -n "OK" | |
RETVAL=0 | |
fi | |
else | |
daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS | |
fi | |
RETVAL=$? | |
echo | |
return $RETVAL | |
} | |
stop() { | |
echo -n "Stopping salt-master daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
killproc -TERM /opt/salt/bin/salt-master | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
# Added this since Debian's start-stop-daemon doesn't support spawned processes | |
findproc | |
if echo $PROC_LIST | xargs kill >/dev/null 2>&1 ; then | |
echo -n "OK" | |
RETVAL=0 | |
else | |
echo -n "Daemon is not started" | |
RETVAL=1 | |
fi | |
else | |
killproc $PROCESS | |
fi | |
RETVAL=$? | |
echo | |
} | |
restart() { | |
stop | |
start | |
} | |
# See how we were called. | |
case "$1" in | |
start|stop|restart) | |
$1 | |
;; | |
status) | |
if [ -f $SUSE_RELEASE ]; then | |
echo -n "Checking for service salt-master " | |
checkproc /opt/salt/bin/salt-master | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
findproc | |
if [ -n "$PROC_LIST" ]; then | |
RETVAL=0 | |
echo "salt-master is running." | |
else | |
RETVAL=1 | |
echo "salt-master is stopped." | |
fi | |
else | |
status $PROCESS | |
RETVAL=$? | |
fi | |
;; | |
condrestart) | |
findproc | |
[ -n "$PROC_LIST" ] && restart || : | |
;; | |
reload|force-reload) | |
echo "Can't reload configuration, you have to restart it" | |
RETVAL=$? | |
;; | |
*) | |
echo "Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}" | |
exit 1 | |
;; | |
esac | |
exit $RETVAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Salt minion | |
################################### | |
# LSB header | |
### BEGIN INIT INFO | |
# Provides: salt-minion | |
# Required-Start: $remote_fs $network | |
# Required-Stop: $remote_fs $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: salt minion control daemon | |
# Description: This is a daemon that controls the salt minions | |
### END INIT INFO | |
# chkconfig header | |
# chkconfig: 2345 99 01 | |
# description: This is a daemon that controls the salt mininons | |
# | |
# processname: /opt/salt/bin/salt-minion | |
# Sanity checks. | |
[ -x /opt/salt/bin/salt-minion ] || exit 0 | |
DEBIAN_VERSION=/etc/debian_version | |
SUSE_RELEASE=/etc/SuSE-release | |
# Source function library. | |
if [ -f $DEBIAN_VERSION ]; then | |
break | |
elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then | |
. /etc/rc.status | |
else | |
. /etc/rc.d/init.d/functions | |
fi | |
SERVICE=salt-minion | |
PROCESS=salt-minion | |
CONFIG_ARGS=" " | |
PS_CMD="ps -e -o pid,args" | |
PROC_LIST="" | |
RETVAL=0 | |
findproc() { | |
PROC_LIST=`$PS_CMD | grep 'bin/python.*salt-minion' | grep -v grep | grep -v sh | grep -v vi | awk '{ print $1 }'` | |
} | |
start() { | |
echo -n "Starting salt-minion daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
startproc -f -p /var/run/$SERVICE.pid /opt/salt/bin/salt-minion -d $CONFIG_ARGS | |
rc_status -v | |
elif [ -e $DEBIAN_VERSION ]; then | |
findproc | |
if [ -n "$PROC_LIST" ]; then | |
echo -n "already started, lock file found" | |
RETVAL=1 | |
elif /opt/salt/bin/python /opt/salt/bin/salt-minion -d; then | |
echo -n "OK" | |
RETVAL=0 | |
fi | |
else | |
daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS | |
fi | |
RETVAL=$? | |
echo | |
return $RETVAL | |
} | |
stop() { | |
echo -n "Stopping salt-minion daemon: " | |
if [ -f $SUSE_RELEASE ]; then | |
killproc -TERM /opt/salt/bin/salt-minion | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
# Added this since Debian's start-stop-daemon doesn't support spawned processes | |
findproc | |
if echo $PROC_LIST | xargs kill >/dev/null 2>&1 ; then | |
echo -n "OK" | |
RETVAL=0 | |
else | |
echo -n "Daemon is not started" | |
RETVAL=1 | |
fi | |
else | |
killproc $PROCESS | |
fi | |
RETVAL=$? | |
echo | |
} | |
restart() { | |
stop | |
start | |
} | |
# See how we were called. | |
case "$1" in | |
start|stop|restart) | |
$1 | |
;; | |
status) | |
if [ -f $SUSE_RELEASE ]; then | |
echo -n "Checking for service salt-minion " | |
checkproc /opt/salt/bin/salt-minion | |
rc_status -v | |
elif [ -f $DEBIAN_VERSION ]; then | |
findproc | |
if [ -n "$PROC_LIST" ]; then | |
RETVAL=0 | |
echo "salt-minion is running." | |
else | |
RETVAL=1 | |
echo "salt-minion is stopped." | |
fi | |
else | |
status $PROCESS | |
RETVAL=$? | |
fi | |
;; | |
condrestart) | |
findproc | |
[ -n "$PROC_LIST" ] && restart || : | |
;; | |
reload|force-reload) | |
echo "Can't reload configuration, you have to restart it" | |
RETVAL=$? | |
;; | |
*) | |
echo "Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}" | |
exit 1 | |
;; | |
esac | |
exit $RETVAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aptitude install -y libssl-dev libyaml-dev swig uuid-dev libz-dev | |
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz | |
tar -xzvf Python-2.7.3.tgz | |
cd Python-2.7.3 | |
./configure --prefix=/opt/salt | |
make | |
make install | |
cd .. | |
wget http://download.zeromq.org/zeromq-2.2.0.tar.gz | |
tar -xzvf zeromq-2.2.0.tar.gz | |
cd zeromq-2.2.0 | |
./configure --prefix=/opt/salt --with-pgm | |
make | |
make install | |
cd .. | |
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz | |
tar -xzvf setuptools-0.6c11.tar.gz | |
cd setuptools-0.6c11 | |
/opt/salt/bin/python setup.py install | |
cd .. | |
wget http://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz | |
tar -xzvf pip-1.1.tar.gz | |
cd pip-1.1 | |
/opt/salt/bin/python setup.py install | |
cd .. | |
/opt/salt/bin/pip install pyzmq --install="--zmq=/opt/salt" | |
/opt/salt/bin/pip install salt | |
mkdir -p /opt/salt/etc/ | |
cp etc/salt-master /opt/salt/etc/salt-master | |
cp etc/salt-minion /opt/salt/etc/salt-minion |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# install rvm | |
#aptitude install -y curl | |
#curl -L https://get.rvm.io | bash -s stable --ruby | |
#source /usr/local/rvm/scripts/rvm | |
#gem install fpm | |
# create package | |
fpm -s dir \ | |
--description "Salt is an open source tool to manage your infrastructure." \ | |
--iteration 4+lenny \ | |
--provides salt-minion,salt-master \ | |
--post-install postinstall.sh \ | |
--pre-uninstall preuninstall.sh \ | |
-t deb \ | |
-n salt \ | |
-v 0.10.2 \ | |
/opt/salt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment