[salt] Initial import (#737286)
Clint Savage
herlo at fedoraproject.org
Mon Jan 16 03:02:19 UTC 2012
commit bfbe7b1cb0e711e0e1324ed87b6d2726e9df8141
Author: Clint Savage <herlo1 at gmail.com>
Date: Sun Jan 15 20:01:40 2012 -0700
Initial import (#737286)
.gitignore | 1 +
README.fedora | 7 ++
salt-master | 125 +++++++++++++++++++++++
salt-master.service | 10 ++
salt-minion | 125 +++++++++++++++++++++++
salt-minion.service | 10 ++
salt-syndic | 118 ++++++++++++++++++++++
salt-syndic.service | 10 ++
salt.spec | 278 +++++++++++++++++++++++++++++++++++++++++++++++++++
sources | 1 +
10 files changed, 685 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..4537aa2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/salt-0.9.4.tar.gz
diff --git a/README.fedora b/README.fedora
new file mode 100644
index 0000000..c9c9dd5
--- /dev/null
+++ b/README.fedora
@@ -0,0 +1,7 @@
+These packages are *optional* dependencies for salt. By default, they are not included in the salt RPMs.
+Feel free to yum install any of these packages.
+
+MySQL-python
+libvirt-python
+yum
+
diff --git a/salt-master b/salt-master
new file mode 100644
index 0000000..3e47ccb
--- /dev/null
+++ b/salt-master
@@ -0,0 +1,125 @@
+#!/bin/sh
+#
+# Salt master
+###################################
+
+# LSB header
+
+### BEGIN INIT INFO
+# Description: This is a daemon that controls the salt minions
+# Provides: salt-master
+# Required-Start: network
+# Short-Description: salt master control daemon
+### END INIT INFO
+
+# chkconfig header
+
+# chkconfig: 345 99 99
+# description: This is a daemon that controls the salt minions
+#
+# processname: /usr/bin/salt-master
+
+# Sanity checks.
+[ -x /usr/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=" "
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting salt-master daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-master -d $CONFIG_ARGS
+ rc_status -v
+ elif [ -e $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ echo -n "already started, lock file found"
+ RETVAL=1
+ elif /usr/bin/python /usr/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 /usr/bin/salt-master
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ # Added this since Debian's start-stop-daemon doesn't support spawned processes
+ if ps -ef | grep "/usr/bin/python /usr/bin/salt-master" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; 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 /usr/bin/salt-master
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ RETVAL=0
+ echo "salt-master is running."
+ else
+ RETVAL=1
+ echo "salt-master is stopped."
+ fi
+ else
+ status $PROCESS
+ RETVAL=$?
+ fi
+ ;;
+ condrestart)
+ [ -f $LOCKFILE ] && restart || :
+ ;;
+ reload)
+ echo "can't reload configuration, you have to restart it"
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
+
diff --git a/salt-master.service b/salt-master.service
new file mode 100644
index 0000000..4f3827e
--- /dev/null
+++ b/salt-master.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=The Salt Master Server
+After=syslog.target network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/salt-master
+
+[Install]
+WantedBy=multi-user.target
diff --git a/salt-minion b/salt-minion
new file mode 100644
index 0000000..399c840
--- /dev/null
+++ b/salt-minion
@@ -0,0 +1,125 @@
+#!/bin/sh
+#
+# Salt minion
+###################################
+
+# LSB header
+
+### BEGIN INIT INFO
+# Provides: salt-minion
+# Required-Start: network
+# Short-Description: salt minion control daemon
+# Description: This is a daemon that controls the salt minions
+### END INIT INFO
+
+# chkconfig header
+
+# chkconfig: 345 99 99
+# description: This is a daemon that controls the salt mininons
+#
+# processname: /usr/bin/salt-minion
+
+# Sanity checks.
+[ -x /usr/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=" "
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting salt-minion daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-minion -d $CONFIG_ARGS
+ rc_status -v
+ elif [ -e $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ echo -n "already started, lock file found"
+ RETVAL=1
+ elif /usr/bin/python /usr/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 /usr/bin/salt-minion
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ # Added this since Debian's start-stop-daemon doesn't support spawned processes
+ if ps -ef | grep "/usr/bin/python /usr/bin/salt-minion" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; 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 /usr/bin/salt-minion
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ RETVAL=0
+ echo "salt-minion is running."
+ else
+ RETVAL=1
+ echo "salt-minion is stopped."
+ fi
+ else
+ status $PROCESS
+ RETVAL=$?
+ fi
+ ;;
+ condrestart)
+ [ -f $LOCKFILE ] && restart || :
+ ;;
+ reload)
+ echo "can't reload configuration, you have to restart it"
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
+
diff --git a/salt-minion.service b/salt-minion.service
new file mode 100644
index 0000000..2f199f9
--- /dev/null
+++ b/salt-minion.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=The Salt Minion
+After=syslog.target network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/salt-minion
+
+[Install]
+WantedBy=multi-user.target
diff --git a/salt-syndic b/salt-syndic
new file mode 100644
index 0000000..44a4a8d
--- /dev/null
+++ b/salt-syndic
@@ -0,0 +1,118 @@
+#!/bin/sh
+#
+# Salt syndic
+###################################
+
+# LSB header
+
+### BEGIN INIT INFO
+# Provides: salt-syndic
+# Required-Start: network
+# Short-Description: salt syndic master-minion passthrough daemon
+# Description: This is a daemon that controls the salt syndic
+### END INIT INFO
+
+# chkconfig header
+
+# chkconfig: 345 99 99
+# description: This is a daemon that controls the salt mininons
+#
+# processname: /usr/bin/salt-syndic
+
+# Sanity checks.
+[ -x /usr/bin/salt-syndic ] || 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-syndic
+PROCESS=salt-syndic
+CONFIG_ARGS=" "
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting salt-syndic daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-syndic -d $CONFIG_ARGS
+ rc_status -v
+ elif [ -e $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ echo -n "already started, lock file found"
+ RETVAL=1
+ elif /usr/bin/python /usr/bin/salt-syndic -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-syndic daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ killproc -TERM /usr/bin/salt-syndic
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ # Added this since Debian's start-stop-daemon doesn't support spawned processes
+ if ps -ef | grep "/usr/bin/python /usr/bin/salt-syndic" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; 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-syndic "
+ checkproc /usr/bin/salt-syndic
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ RETVAL=0
+ echo "salt-syndic is running."
+ else
+ RETVAL=1
+ echo "salt-syndic is stopped."
+ fi
+ else
+ status $PROCESS
+ RETVAL=$?
+ fi
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
+
diff --git a/salt-syndic.service b/salt-syndic.service
new file mode 100644
index 0000000..922eef3
--- /dev/null
+++ b/salt-syndic.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=The Salt Master Server
+After=syslog.target network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/salt-syndic
+
+[Install]
+WantedBy=multi-user.target
diff --git a/salt.spec b/salt.spec
new file mode 100644
index 0000000..ba53da1
--- /dev/null
+++ b/salt.spec
@@ -0,0 +1,278 @@
+%if ! (0%{?rhel} >= 6 || 0%{?fedora} > 12)
+%global with_python26 1
+%define pybasever 2.6
+%define __python_ver 26
+%define __python %{_bindir}/python%{?pybasever}
+%endif
+
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
+
+Name: salt
+Version: 0.9.4
+Release: 7%{?dist}
+Summary: A parallel remote execution system
+
+Group: System Environment/Daemons
+License: ASL 2.0
+URL: http://saltstack.org/
+Source0: https://github.com/downloads/saltstack/%{name}/%{name}-%{version}.tar.gz
+Source1: %{name}-master
+Source2: %{name}-syndic
+Source3: %{name}-minion
+Source4: %{name}-master.service
+Source5: %{name}-syndic.service
+Source6: %{name}-minion.service
+Source7: README.fedora
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildArch: noarch
+
+%if 0%{?with_python26}
+BuildRequires: python26-zmq
+BuildRequires: python26-crypto
+BuildRequires: python26-devel
+BuildRequires: python26-PyYAML
+BuildRequires: python26-m2crypto
+
+Requires: python26-crypto
+Requires: python26-zmq
+Requires: python26-jinja2
+Requires: python26-PyYAML
+Requires: python26-m2crypto
+Requires: python26-PyXML
+
+%else
+
+BuildRequires: python-zmq
+BuildRequires: python-crypto
+BuildRequires: python-devel
+BuildRequires: PyYAML
+BuildRequires: m2crypto
+
+Requires: python-crypto
+Requires: python-zmq
+Requires: python-jinja2
+Requires: PyYAML
+Requires: m2crypto
+Requires: PyXML
+
+%endif
+
+%if ! (0%{?rhel} >= 7 || 0%{?fedora} >= 15)
+
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(preun): initscripts
+Requires(postun): initscripts
+
+%else
+
+BuildRequires: systemd-units
+
+%endif
+
+# These packages are *optional* dependencies and not required.
+#Requires: MySQL-python libvirt-python yum
+
+%description
+Salt is a distributed remote execution system used to execute commands and
+query data. It was developed in order to bring the best solutions found in
+the world of remote execution together and make them better, faster and more
+malleable. Salt accomplishes this via its ability to handle larger loads of
+information, and not just dozens, but hundreds or even thousands of individual
+servers, handle them quickly and through a simple and manageable interface.
+
+%package -n salt-master
+Summary: Management component for salt, a parallel remote execution system
+Group: System Environment/Daemons
+Requires: salt = %{version}-%{release}
+
+%description -n salt-master
+The Salt master is the central server to which all minions connect.
+Summary:
+
+%package -n salt-minion
+Summary: Client component for salt, a parallel remote execution system
+Group: System Environment/Daemons
+Requires: salt = %{version}-%{release}
+
+%description -n salt-minion
+Salt minion is queried and controlled from the master.
+
+%prep
+%setup -q
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__python} setup.py install -O1 --root $RPM_BUILD_ROOT
+
+install -p %{SOURCE7} .
+
+%if ! (0%{?rhel} >= 7 || 0%{?fedora} >= 15)
+mkdir -p $RPM_BUILD_ROOT%{_initrddir}
+install -p %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/
+install -p %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/
+install -p %{SOURCE3} $RPM_BUILD_ROOT%{_initrddir}/
+%else
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/
+install -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/
+install -p -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc LICENSE
+%{python_sitelib}/%{name}/*
+%{python_sitelib}/%{name}-%{version}-py?.?.egg-info
+%doc %{_mandir}/man7/salt.7.*
+%doc README.fedora
+
+%files -n salt-minion
+%defattr(-,root,root)
+%doc %{_mandir}/man1/salt-call.1.*
+%doc %{_mandir}/man1/salt-minion.1.*
+%{_bindir}/salt-minion
+%{_bindir}/salt-call
+
+%if ! (0%{?rhel} >= 7 || 0%{?fedora} >= 15)
+%attr(0755, root, root) %{_initrddir}/salt-minion
+%else
+%{_unitdir}/salt-minion.service
+%endif
+
+%config(noreplace) /etc/salt/minion
+
+%files -n salt-master
+%defattr(-,root,root)
+%doc %{_mandir}/man1/salt-master.1.*
+%doc %{_mandir}/man1/salt.1.*
+%doc %{_mandir}/man1/salt-cp.1.*
+%doc %{_mandir}/man1/salt-key.1.*
+%doc %{_mandir}/man1/salt-run.1.*
+%doc %{_mandir}/man1/salt-syndic.1.*
+%{_bindir}/salt
+%{_bindir}/salt-master
+%{_bindir}/salt-syndic
+%{_bindir}/salt-cp
+%{_bindir}/salt-key
+%{_bindir}/salt-run
+%if ! (0%{?rhel} >= 7 || 0%{?fedora} >= 15)
+%attr(0755, root, root) %{_initrddir}/salt-master
+%attr(0755, root, root) %{_initrddir}/salt-syndic
+%else
+%{_unitdir}/salt-master.service
+%{_unitdir}/salt-syndic.service
+%endif
+%config(noreplace) /etc/salt/master
+
+%if ! (0%{?rhel} >= 7 || 0%{?fedora} >= 15)
+
+%preun -n salt-master
+if [ $1 -eq 0 ] ; then
+ /sbin/service salt-master stop >/dev/null 2>&1
+ /sbin/service salt-syndic stop >/dev/null 2>&1
+ /sbin/chkconfig --del salt-master
+ /sbin/chkconfig --del salt-syndic
+fi
+
+%preun -n salt-minion
+if [ $1 -eq 0 ] ; then
+ /sbin/service salt-minion stop >/dev/null 2>&1
+ /sbin/chkconfig --del salt-minion
+fi
+
+%post -n salt-master
+/sbin/chkconfig --add salt-master
+/sbin/chkconfig --add salt-syndic
+
+%post -n salt-minion
+/sbin/chkconfig --add salt-minion
+
+%postun -n salt-master
+if [ "$1" -ge "1" ] ; then
+ /sbin/service salt-master condrestart >/dev/null 2>&1 || :
+ /sbin/service salt-syndic condrestart >/dev/null 2>&1 || :
+fi
+
+%postun -n salt-minion
+if [ "$1" -ge "1" ] ; then
+ /sbin/service salt-master condrestart >/dev/null 2>&1 || :
+ /sbin/service salt-syndic condrestart >/dev/null 2>&1 || :
+fi
+
+%else
+
+%preun -n salt-master
+if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable salt-master.service > /dev/null 2>&1 || :
+ /bin/systemctl stop salt-master.service > /dev/null 2>&1 || :
+
+ /bin/systemctl --no-reload disable salt-syndic.service > /dev/null 2>&1 || :
+ /bin/systemctl stop salt-syndic.service > /dev/null 2>&1 || :
+fi
+
+%preun -n salt-minion
+if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable salt-master.service > /dev/null 2>&1 || :
+ /bin/systemctl stop salt-master.service > /dev/null 2>&1 || :
+
+fi
+
+%post -n salt-master
+/bin/systemctl daemon-reload &>/dev/null || :
+
+%post -n salt-minion
+/bin/systemctl daemon-reload &>/dev/null || :
+
+%postun -n salt-master
+/bin/systemctl daemon-reload &>/dev/null
+[ $1 -gt 0 ] && /bin/systemctl try-restart salt-master.service &>/dev/null || :
+[ $1 -gt 0 ] && /bin/systemctl try-restart salt-syndic.service &>/dev/null || :
+
+%postun -n salt-minion
+/bin/systemctl daemon-reload &>/dev/null
+[ $1 -gt 0 ] && /bin/systemctl try-restart salt-master.service &>/dev/null || :
+[ $1 -gt 0 ] && /bin/systemctl try-restart salt-syndic.service &>/dev/null || :
+
+%endif
+
+%changelog
+* Sun Jan 15 2012 Clint Savage <herlo1 at gmail.com> - 0.9.4-7
+- Removed optional requires from RPM and documented in added README.fedora
+
+* Sun Jan 8 2012 Clint Savage <herlo1 at gmail.com> - 0.9.4-6
+- Missed some critical elements for SysV and rpmlint cleanup
+
+* Sun Jan 8 2012 Clint Savage <herlo1 at gmail.com> - 0.9.4-5
+- SysV clean up in post
+
+* Sat Jan 7 2012 Clint Savage <herlo1 at gmail.com> - 0.9.4-4
+- Cleaning up perms, group and descriptions, adding post scripts for systemd
+
+* Thu Jan 5 2012 Clint Savage <herlo1 at gmail.com> - 0.9.4-3
+- Updating for systemd on Fedora 15+
+
+* Thu Dec 1 2011 Clint Savage <herlo1 at gmail.com> - 0.9.4-2
+- Removing requirement for Cython. Optional only for salt-minion
+
+* Thu Nov 30 2011 Clint Savage <herlo1 at gmail.com> - 0.9.4-1
+- New upstream release with new features and bugfixes
+
+* Thu Nov 17 2011 Clint Savage <herlo1 at gmail.com> - 0.9.3-1
+- New upstream release with new features and bugfixes
+
+* Sat Sep 17 2011 Clint Savage <herlo1 at gmail.com> - 0.9.2-1
+- Bugfix release from upstream to fix python2.6 issues
+
+* Fri Sep 09 2011 Clint Savage <herlo1 at gmail.com> - 0.9.1-1
+- Initial packages
diff --git a/sources b/sources
index e69de29..5f86891 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+c27837bac06dadfdb51b4a2b63fe6d35 salt-0.9.4.tar.gz
More information about the scm-commits
mailing list