ports/188420: [NEW PORT] sysutils/mnrpes: MCollective and Rufus scheduler wrapper

Bartek Rutkowski ports at robakdesign.com
Thu Apr 10 11:40:02 UTC 2014


>Number:         188420
>Category:       ports
>Synopsis:       [NEW PORT] sysutils/mnrpes: MCollective and Rufus scheduler wrapper
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 10 11:40:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Bartek Rutkowski
>Release:        FreeBSD 11.0-CURRENT amd64
>Organization:
Pixeware LTD
>Environment:
System: FreeBSD poudriere.ithil.palantiri.org 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r264126: Fri Apr  4 21:33:01
>Description:
Mnrpes is a system that uses MCollective and the Rufus scheduler
to build a distributed async scheduler and checker for Nagios
based on the Passive mode.

WWW: https://github.com/nullDowntimeLtd/mnrpes

Generated with FreeBSD Port Tools 1.00.2014.03.23 (mode: new)
>How-To-Repeat:
>Fix:

--- mnrpes-2014033101.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mnrpes
#	mnrpes/distinfo
#	mnrpes/Makefile
#	mnrpes/pkg-descr
#	mnrpes/pkg-plist
#	mnrpes/files
#	mnrpes/files/mnrpes_receiver.in
#	mnrpes/files/mnrpes_scheduler.in
#
echo c - mnrpes
mkdir -p mnrpes > /dev/null 2>&1
echo x - mnrpes/distinfo
sed 's/^X//' >mnrpes/distinfo << '0aca6b88bb4024b720f935c9efefb257'
XSHA256 (mnrpes-2014033101.tar.gz) = 7b4b3c88ca739d8bc19f12f58df9c309242f7e80736613bed28cfbc21acce632
XSIZE (mnrpes-2014033101.tar.gz) = 82215
0aca6b88bb4024b720f935c9efefb257
echo x - mnrpes/Makefile
sed 's/^X//' >mnrpes/Makefile << '2ba10394ca7a33a3d818ec62df20a978'
X# $FreeBSD$
X
XPORTNAME=	mnrpes
XPORTVERSION=	2014033101
XCATEGORIES=	sysutils
X
XMAINTAINER=	ports at robakdesign.com
XCOMMENT=	MCollective and Rufus scheduler wrapper
X
XLICENSE=	APACHE20
X
XRUN_DEPENDS=	mcollective>=2:${PORTSDIR}/sysutils/mcollective \
X		rubygem-rufus-scheduler>=0.1:${PORTSDIR}/devel/rubygem-rufus-scheduler
X
XUSE_RUBY=	yes
XUSE_GITHUB=	yes
XGH_ACCOUNT=	nullDowntimeLtd
XGH_TAGNAME=	${GH_COMMIT}
XGH_COMMIT=	0b67031
X
XUSE_RC_SUBR=	mnrpes_receiver \
X		mnrpes_scheduler
X
XRESETPREFIX=	${PREFIX}
X
XPLIST_SUB+=	PORTNAME=${PORTNAME} \
X		RESETPREFIX=${RESETPREFIX}
X
XNO_BUILD=	yes
X
Xdo-install:
X	${MKDIR} ${STAGEDIR}${ETCDIR}
X	${MKDIR} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME}
X	${MKDIR} ${STAGEDIR}${RUBY_SITELIBDIR}/${PORTNAME}/output
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/mnrpes-receiver.rb ${STAGEDIR}${PREFIX}/bin/
X	${INSTALL_SCRIPT} ${WRKSRC}/bin/mnrpes-scheduler.rb ${STAGEDIR}${PREFIX}/bin/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes.rb ${STAGEDIR}${RUBY_SITELIBDIR}/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/receiver.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/scheduler.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/flapjack.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/nagios.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/redis_status.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X	${INSTALL_SCRIPT} ${WRKSRC}/lib/mnrpes/output/stdout.rb ${STAGEDIR}${RUBY_SITELIBDIR}/mnrpes/output/
X	${INSTALL_DATA} ${WRKSRC}/etc/checks.txt.dist ${STAGEDIR}${ETCDIR}
X	${INSTALL_DATA} ${WRKSRC}/etc/mnrpes-receiver.cfg.dist ${STAGEDIR}${ETCDIR}
X	${INSTALL_DATA} ${WRKSRC}/etc/mnrpes-scheduler.cfg.dist ${STAGEDIR}${ETCDIR}
X
Xpost-install:
X	${MKDIR} ${STAGEDIR}/var/run/${PORTNAME}
X	${MKDIR} ${STAGEDIR}/var/log/${PORTNAME}
X
X.include <bsd.port.mk>
2ba10394ca7a33a3d818ec62df20a978
echo x - mnrpes/pkg-descr
sed 's/^X//' >mnrpes/pkg-descr << '2d1ac036fcec9b43a0f191905cd4928b'
XMnrpes is a system that uses MCollective and the Rufus scheduler
Xto build a distributed async scheduler and checker for Nagios
Xbased on the Passive mode.
X
XWWW: https://github.com/nullDowntimeLtd/mnrpes
2d1ac036fcec9b43a0f191905cd4928b
echo x - mnrpes/pkg-plist
sed 's/^X//' >mnrpes/pkg-plist << '8e9d1b782eda530979276fbe8312082d'
Xbin/mnrpes-receiver.rb
Xbin/mnrpes-scheduler.rb
X%%ETCDIR%%/checks.txt.dist
X%%ETCDIR%%/mnrpes-receiver.cfg.dist
X%%ETCDIR%%/mnrpes-scheduler.cfg.dist
X%%RUBY_SITELIBDIR%%/mnrpes.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/receiver.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/scheduler.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/flapjack.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/nagios.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/redis_status.rb
X%%RUBY_SITELIBDIR%%/%%PORTNAME%%/output/stdout.rb
X at dirrmtry %%ETCDIR%%
X at dirrm %%RUBY_SITELIBDIR%%/%%PORTNAME%%/output
X at dirrm %%RUBY_SITELIBDIR%%/%%PORTNAME%%
X at cwd /
X at dirrmtry var/run/%%PORTNAME%%
X at dirrmtry var/log/%%PORTNAME%%
X at cwd %%RESETPREFIX%%
8e9d1b782eda530979276fbe8312082d
echo c - mnrpes/files
mkdir -p mnrpes/files > /dev/null 2>&1
echo x - mnrpes/files/mnrpes_receiver.in
sed 's/^X//' >mnrpes/files/mnrpes_receiver.in << 'bb58297c32ed40ba941dd89057613c65'
X#!/bin/sh
X
X# $FreeBSD: head/www/mnrpes_receiver/files/mnrpes_receiver.in 340872 2014-01-24 00:14:07Z mat $
X#
X# mnrpes_receiver startup script
X#
X# PROVIDE: mnrpes_receiver
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following to /etc/rc.conf[.local] to enable this service
X#
X# mnrpes_receiver_enable="YES"
X#
X# You can fine tune others variables too:
X# mnrpes_receiver_config=
X# Use mnrpes_receiver_user to run mnrpes_receiver as user
X
X# mnrpes_receiver rc.d script supports multiple profiles (a-la rc.d/nginx)
X# When profiles are specified, the non-profile specific parameters become defaults.
X#
X# Example:
X#
X# mnrpes_receiver_enable="YES"
X# mnrpes_receiver_profiles="myserver myotherserver"
X# mnrpes_receiver_config="/usr/local/etc/mnrpes/mnrpes-receiver.cfg"
X# mnrpes_receiver_myserver_user="myuser"
X# mnrpes_receiver_myotherserver_user="myotheruser"
X# mnrpes_receiver_myotherserver_config="/usr/local/etc/mnrpes/mnrpes-receiver-myotherserver.cfg"
X
X. /etc/rc.subr
X
Xname="mnrpes_receiver"
Xrcvar=mnrpes_receiver_enable
X
Xmnrpes_receiver_setfib() {
X	if command -v check_namevarlist > /dev/null 2>&1; then
X		check_namevarlist fib && return 0
X	fi
X	
X	${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
X
X	mnrpes_receiver_fib=${mnrpes_receiver_fib:-"NONE"}
X	case "$mnrpes_receiver_fib" in
X	[Nn][Oo][Nn][Ee])
X		;;
X	*)
X		command="setfib -F ${mnrpes_receiver_fib} ${command}"
X		;;
X	esac
X} 
X
Xmnrpes_receiver_precmd() {
X        user="$1"
X        piddir="$2"
X        logdir="$3"
X	mnrpes_receiver_setfib
X        install -d -o $user -g wheel -m 1750 "${piddir}"
X        install -d -o $user -g wheel -m 1750 "${logdir}"
X}
X
Xcommand_interpreter="ruby"
X
Xpiddir="/var/run/mnrpes/receiver"
Xpidname="receiver"
Xlogdir="/var/log/mnrpes/receiver"
X
Xload_rc_config $name
X
X# These are just the defaults, they might get overriden for a specific profile.
Xmnrpes_receiver_enable=${mnrpes_receiver_enable:-"NO"}
Xmnrpes_receiver_user=${mnrpes_receiver_user:-"nobody"}
Xmnrpes_receiver_config=${mnrpes_receiver_config:-"/usr/local/etc/mnrpes/mnrpes-receiver.cfg"}
X
X# This handles profile specific vars.
Xif [ -n "$2" ]; then
X	profile="$2"
X	if [ -n "${mnrpes_receiver_profiles}" ]; then
X		piddir="${piddir}.${profile}"
X		pidname="${pidname}.${profile}"
X		logdir="${logdir}.${profile}"
X		eval mnrpes_receiver_enable="\${mnrpes_receiver_${profile}_enable:-${mnrpes_receiver_enable}}"
X		eval mnrpes_receiver_fib="\${mnrpes_receiver_${profile}_fib:-${mnrpes_receiver_fib}}"
X		eval mnrpes_receiver_user="\${mnrpes_receiver_${profile}_user:-${mnrpes_receiver_user}}"
X		eval mnrpes_receiver_config="\${mnrpes_receiver_${profile}_config:-${mnrpes_receiver_config}}"
X	else
X		echo "$0: extra argument ignored"
X	fi
Xelse
X	if [ -n "${mnrpes_receiver_profiles}" -a -n "$1" ]; then
X		for profile in ${mnrpes_receiver_profiles}; do
X			echo "===> mnrpes_receiver profile: ${profile}"
X			/usr/local/etc/rc.d/mnrpes_receiver $1 ${profile}
X			retcode="$?"
X			if [ "0${retcode}" -ne 0 ]; then
X				failed="${profile} (${retcode}) ${failed:-}"
X			else
X				success="${profile} ${success:-}"
X			fi
X		done
X		# It exits so that non-profile rc.d is not started when there are profiles.
X		exit 0
X	fi
Xfi
X
Xpidfile="${piddir}/${pidname}.pid"
X
Xcommand="/usr/local/bin/mnrpes-receiver.rb"
X
Xstart_precmd="mnrpes_receiver_precmd ${mnrpes_receiver_user} ${piddir} ${logdir}"
X
Xcommand_args="--pid ${pidfile} --config ${mnrpes_receiver_config}"
X
Xrun_rc_command "$1"
bb58297c32ed40ba941dd89057613c65
echo x - mnrpes/files/mnrpes_scheduler.in
sed 's/^X//' >mnrpes/files/mnrpes_scheduler.in << '6d1615dbb226c3c6505c3f012a463407'
X#!/bin/sh
X
X# $FreeBSD: head/www/mnrpes_scheduler/files/mnrpes_scheduler.in 340872 2014-01-24 00:14:07Z mat $
X#
X# mnrpes_scheduler startup script
X#
X# PROVIDE: mnrpes_scheduler
X# REQUIRE: LOGIN
X# KEYWORD: shutdown
X#
X# Add the following to /etc/rc.conf[.local] to enable this service
X#
X# mnrpes_scheduler_enable="YES"
X#
X# You can fine tune others variables too:
X# mnrpes_scheduler_config=
X# mnrpes_scheduler_checks=
X# Use mnrpes_scheduler_user to run mnrpes_scheduler as user
X
X# mnrpes_scheduler rc.d script supports multiple profiles (a-la rc.d/nginx)
X# When profiles are specified, the non-profile specific parameters become defaults.
X#
X# Example:
X#
X# mnrpes_scheduler_enable="YES"
X# mnrpes_scheduler_profiles="myserver myotherserver"
X# mnrpes_scheduler_config="/usr/local/etc/mnrpes/mnrpes-scheduler.cfg"
X# mnrpes_scheduler_checks="/usr/local/etc/mnrpes/checks.txt"
X# mnrpes_scheduler_myserver_user="myuser"
X# mnrpes_scheduler_myotherserver_user="myotheruser"
X# mnrpes_scheduler_myotherserver_config="/usr/local/etc/mnrpes/mnrpes-scheduler-myotherserver.cfg"
X# mnrpes_scheduler_myotherserver_checks="/usr/local/etc/mnrpes/checks-myotherserver.txt"
X
X. /etc/rc.subr
X
Xname="mnrpes_scheduler"
Xrcvar=mnrpes_scheduler_enable
X
Xmnrpes_scheduler_setfib() {
X	if command -v check_namevarlist > /dev/null 2>&1; then
X		check_namevarlist fib && return 0
X	fi
X	
X	${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
X
X	mnrpes_scheduler_fib=${mnrpes_scheduler_fib:-"NONE"}
X	case "$mnrpes_scheduler_fib" in
X	[Nn][Oo][Nn][Ee])
X		;;
X	*)
X		command="setfib -F ${mnrpes_scheduler_fib} ${command}"
X		;;
X	esac
X} 
X
Xmnrpes_scheduler_precmd() {
X        user="$1"
X        piddir="$2"
X        logdir="$3"
X	mnrpes_scheduler_setfib
X        install -d -o $user -g wheel -m 1750 "${piddir}"
X        install -d -o $user -g wheel -m 1750 "${logdir}"
X}
X
Xcommand_interpreter="ruby"
X
Xpiddir="/var/run/mnrpes/scheduler"
Xpidname="scheduler"
Xlogdir="/var/log/mnrpes/scheduler"
X
Xload_rc_config $name
X
X# These are just the defaults, they might get overriden for a specific profile.
Xmnrpes_scheduler_enable=${mnrpes_scheduler_enable:-"NO"}
Xmnrpes_scheduler_user=${mnrpes_scheduler_user:-"nobody"}
Xmnrpes_scheduler_config=${mnrpes_scheduler_config:-"/usr/local/etc/mnrpes/mnrpes-scheduler.cfg"}
Xmnrpes_scheduler_checks=${mnrpes_scheduler_checks:-"/usr/local/etc/mnrpes/checks.txt"}
X
X# This handles profile specific vars.
Xif [ -n "$2" ]; then
X	profile="$2"
X	if [ -n "${mnrpes_scheduler_profiles}" ]; then
X		piddir="${piddir}.${profile}"
X		pidname="${pidname}.${profile}"
X		logdir="${logdir}.${profile}"
X		eval mnrpes_scheduler_enable="\${mnrpes_scheduler_${profile}_enable:-${mnrpes_scheduler_enable}}"
X		eval mnrpes_scheduler_fib="\${mnrpes_scheduler_${profile}_fib:-${mnrpes_scheduler_fib}}"
X		eval mnrpes_scheduler_user="\${mnrpes_scheduler_${profile}_user:-${mnrpes_scheduler_user}}"
X		eval mnrpes_scheduler_config="\${mnrpes_scheduler_${profile}_config:-${mnrpes_scheduler_config}}"
X		eval mnrpes_scheduler_checks="\${mnrpes_scheduler_${profile}_checks:-${mnrpes_scheduler_checks}}"
X	else
X		echo "$0: extra argument ignored"
X	fi
Xelse
X	if [ -n "${mnrpes_scheduler_profiles}" -a -n "$1" ]; then
X		for profile in ${mnrpes_scheduler_profiles}; do
X			echo "===> mnrpes_scheduler profile: ${profile}"
X			/usr/local/etc/rc.d/mnrpes_scheduler $1 ${profile}
X			retcode="$?"
X			if [ "0${retcode}" -ne 0 ]; then
X				failed="${profile} (${retcode}) ${failed:-}"
X			else
X				success="${profile} ${success:-}"
X			fi
X		done
X		# It exits so that non-profile rc.d is not started when there are profiles.
X		exit 0
X	fi
Xfi
X
Xpidfile="${piddir}/${pidname}.pid"
X
Xcommand="/usr/local/bin/mnrpes-scheduler.rb"
X
Xstart_precmd="mnrpes_scheduler_precmd ${mnrpes_scheduler_user} ${piddir} ${logdir}"
X
Xcommand_args="--pid ${pidfile} --config ${mnrpes_scheduler_config} --checks ${mnrpes_scheduler_checks}"
X
Xrun_rc_command "$1"
6d1615dbb226c3c6505c3f012a463407
exit
--- mnrpes-2014033101.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list