packages: ucarp/ucarp.spec, ucarp/ucarp.config.template (NEW), ucarp/ucarp....
matik
matik at pld-linux.org
Wed Mar 31 00:06:49 CEST 2010
Author: matik Date: Tue Mar 30 22:06:49 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- upped to 1.5.1
- created initscript and configuration based on OpenVPN
- rel 1
- should not break current usage
---- Files affected:
packages/ucarp:
ucarp.spec (1.12 -> 1.13) , ucarp.config.template (NONE -> 1.1) (NEW), ucarp.init (NONE -> 1.1) (NEW), ucarp.sysconfig (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/ucarp/ucarp.spec
diff -u packages/ucarp/ucarp.spec:1.12 packages/ucarp/ucarp.spec:1.13
--- packages/ucarp/ucarp.spec:1.12 Thu May 28 23:36:34 2009
+++ packages/ucarp/ucarp.spec Wed Mar 31 00:06:44 2010
@@ -8,10 +8,14 @@
Group: Applications/Networking
Source0: ftp://ftp.ucarp.org/pub/ucarp/%{name}-%{version}.tar.gz
# Source0-md5: 391caa69fc17ffbc8a3543d8692021c9
+Source1: %{name}.init
+Source2: %{name}.sysconfig
+Source3: %{name}.config.template
URL: http://www.ucarp.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
+BuildRequires: libpcap-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -55,13 +59,38 @@
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},rc.d/init.d,sysconfig} $RPM_BUILD_ROOT/%{_varrun}/%{name}
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
+install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.template
+install examples/linux/vip-down.sh $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
+install examples/linux/vip-up.sh $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/
+
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+/sbin/chkconfig --add ucarp
+%service ucarp restart "UCARP"
+
+%preun
+if [ "$1" = "0" ]; then
+ %service ucarp stop
+ /sbin/chkconfig --del ucarp
+fi
+
+
%files
%defattr(644,root,root,755)
-%doc ChangeLog README
+%{_sysconfdir}/sysconfig/%{name}
+%{_varrun}/%{name}
+%attr(755,root,root) %{_sysconfdir}/rc.d/init.d/%{name}
%attr(755,root,root) %{_sbindir}/*
+%dir %{_sysconfdir}/%{name}
+%attr(750,root,root) %{_sysconfdir}/%{name}
+%attr(640,root,root) %{_sysconfdir}/%{name}/*
+%attr(750,root,root) %{_sysconfdir}/%{name}/vip-down.sh
+%attr(750,root,root) %{_sysconfdir}/%{name}/vip-up.sh
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
@@ -69,6 +98,12 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.13 2010/03/30 22:06:44 matik
+- upped to 1.5.1
+- created initscript and configuration based on OpenVPN
+- rel 1
+- should not break current usage
+
Revision 1.12 2009/05/28 21:36:34 areq
- 1.5.1
================================================================
Index: packages/ucarp/ucarp.config.template
diff -u /dev/null packages/ucarp/ucarp.config.template:1.1
--- /dev/null Wed Mar 31 00:06:49 2010
+++ packages/ucarp/ucarp.config.template Wed Mar 31 00:06:44 2010
@@ -0,0 +1,28 @@
+# options for ucarp instance
+####
+# Available options (--daemonize is added by default, --addr= is generated
+# from the name of this file) :
+#
+# --interface=<if> (-i <if>): bind interface <if>
+# --srcip=<ip> (-s <ip>): source (real) IP address of that host
+# --vhid=<id> (-v <id>): virtual IP identifier (1-255)
+# --pass=<pass> (-p <pass>): password
+# --passfile=<file> (-o <file>): read password from file
+# --preempt (-P): becomes a master as soon as possible
+# --neutral (-n): don't run downscript at start if backup
+# --help (-h): summary of command-line options
+# --advbase=<seconds> (-b <seconds>): advertisement frequency
+# --advskew=<skew> (-k <skew>): advertisement skew (0-255)
+# --upscript=<file> (-u <file>): run <file> to become a master
+# --downscript=<file> (-d <file>): run <file> to become a backup
+# --deadratio=<ratio> (-r <ratio>): ratio to consider a host as dead
+# --shutdown (-z): call shutdown script at exit
+# --ignoreifstate (-S): ignore interface state (down, no carrier)
+# --nomcast (-M): use broadcast (instead of multicast) advertisements
+# --facility=<facility> (-f): set syslog facility (default=daemon)
+# --xparam=<value> (-x): extra parameter to send to up/down scripts
+
+# make sure to specify at least --srcip, --vhid and --pass (or --passfile),
+# --upscript and --downscript
+
+#UCARP_OPTS="--upscript=/etc/ucarp/vip-up.sh --downscript=/etc/ucarp/vip-down.sh"
================================================================
Index: packages/ucarp/ucarp.init
diff -u /dev/null packages/ucarp/ucarp.init:1.1
--- /dev/null Wed Mar 31 00:06:49 2010
+++ packages/ucarp/ucarp.init Wed Mar 31 00:06:44 2010
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# ucarp Start/stop the UCARP daemon.
+#
+# chkconfig: 2345 11 89
+#
+# description: UCARP is Common Address Redundancy Protocol (CARP) \
+# for Unix
+#
+
+# Get service config
+[ -f /etc/sysconfig/ucarp ] && . /etc/sysconfig/ucarp
+
+CONFIG_VIRTUAL_IPS=$VIRTUAL_IPS
+
+[ -n "$2" ] && VIRTUAL_IPS="$2"
+
+# no virtual IPs. exit silently
+if [ -z "$VIRTUAL_IPS" ]; then
+ case "$1" in
+ start|stop|restart|reload|force-reload)
+ exit 0
+ ;;
+ esac
+fi
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+ if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+ msg_network_down UCARP
+ exit 1
+ fi
+else
+ exit 0
+fi
+
+# check if the virtual ip $1 s up
+vipup() {
+ local vip="$1"
+ local pidfile=/var/run/ucarp/$vip.pid
+ local pid=$(cat $pidfile 2>/dev/null)
+ kill -0 $pid 2>/dev/null
+ return $?
+}
+
+# check if all the configured virtual IPs are up
+vipsup() {
+ ret=0
+ for vip in $CONFIG_VIRTUAL_IPS; do
+ vipup $vip && continue
+ ret=1
+ done
+ return $ret
+}
+
+# check if any of the configured interfaces is up
+anyvipsup() {
+ ret=1
+ for vip in $CONFIG_VIRTUAL_IPS; do
+ vipup $vip && return 0
+ done
+ return $ret
+}
+
+start() {
+ # Check if the service is already running?
+ if ! vipsup; then
+ msg_starting "UCARP"; started
+ for vip in $VIRTUAL_IPS; do
+ config="/etc/ucarp/$vip.conf"
+ if [ ! -f "$config" ]; then
+ nls "Invalid virtual IP \`%s': missing config: %s" $vip "$config"
+ fail
+ RET=1
+ else
+ UCARP_OPTS=""
+ . $config
+ show "Starting UCARP for virtual IP %s" "$vip"
+ if vipup $vip; then
+ started
+ continue
+ fi
+ # Needed for makepid work
+ RC_LOGGING=no
+ daemon --makepid --fork --pidfile /var/run/ucarp/$vip.pid \
+ /usr/sbin/ucarp --addr=${vip} ${UCARP_OPTS}
+ RET=$?
+ fi
+ [ $RETVAL -eq 0 ] && RETVAL=$RET
+ done
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ucarp
+ else
+ msg_already_running "UCARP"
+ fi
+}
+
+stop() {
+ if anyvipsup; then
+ # Stop daemons.
+ msg_stopping "UCARP"; started
+ for vip in $VIRTUAL_IPS; do
+ pidfile=/var/run/ucarp/$vip.pid
+ [ -f "$pidfile" ] || continue
+ pid=`cat "$pidfile"`
+ show "Stopping UCARP for virtual IP %s" "$vip"; busy
+ killproc --pidfile "$pidfile" || err=1
+ rm -f "$pidfile" >/dev/null 2>&1
+ done
+ anyvipsup || rm -f /var/lock/subsys/ucarp >/dev/null 2>&1
+ else
+ msg_not_running "UCARP"
+ fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ reload|force-reload)
+ if vipsup; then
+ msg_reloading "UCARP"; started
+ for vip in $VIRTUAL_IPS; do
+ show "Reloading UCARP for virtual IP %s" "$vip"
+ killproc --pidfile ucarp/$vip.pid ucarp -HUP
+ [ $? -ne 0 -a $RETVAL -eq 0 ] && RETVAL=7
+ done
+ else
+ msg_not_running "UCARP"
+ exit 7
+ fi
+ ;;
+ restart)
+ stop
+ sleep 1
+ start
+ exit $?
+ ;;
+ status)
+ nls "Configured virtual IPs:"
+ echo " $VIRTUAL_IPS"
+ nls "Currently active virtual IPs:"
+ for pidfile in /var/run/ucarp/*.pid; do
+ [ -f "$pidfile" ] || continue
+ vip=${pidfile#/var/run/ucarp/}
+ vip=${vip%.pid}
+ vipup $vip && echo -n " $vip($(cat $pidfile))"
+ done
+ echo ""
+ vipsup
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+ exit 3
+ ;;
+esac
+
+exit $RETVAL
================================================================
Index: packages/ucarp/ucarp.sysconfig
diff -u /dev/null packages/ucarp/ucarp.sysconfig:1.1
--- /dev/null Wed Mar 31 00:06:49 2010
+++ packages/ucarp/ucarp.sysconfig Wed Mar 31 00:06:44 2010
@@ -0,0 +1,2 @@
+# list of virtual IPs to manage with UCARP
+#VIRTUAL_IPS="10.0.0.12"
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ucarp/ucarp.spec?r1=1.12&r2=1.13&f=u
More information about the pld-cvs-commit
mailing list