ports/155145: [NEW PORT] net-mgmt/p5-Nagios-Plugin-LDAP: perl module to check ldap replication state
Alexander Kriventsov
avk at vl.ru
Tue Mar 1 09:00:23 UTC 2011
>Number: 155145
>Category: ports
>Synopsis: [NEW PORT] net-mgmt/p5-Nagios-Plugin-LDAP: perl module to check ldap replication state
>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: Tue Mar 01 09:00:23 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Alexander Kriventsov
>Release: 8.1-RELEASE
>Organization:
Hosting Community
>Environment:
FreeBSD localhost 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Aug 2 02:56:18 UTC 2010 root at localhost:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
perl module to check ldap replication state
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
# 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:
#
# net-mgmt/p5-Nagios-Plugin-LDAP
# net-mgmt/p5-Nagios-Plugin-LDAP/files
# net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-bind-master-server.patch
# net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-correct-csn-compare-multimaster.patch
# net-mgmt/p5-Nagios-Plugin-LDAP/Makefile
# net-mgmt/p5-Nagios-Plugin-LDAP/distinfo
# net-mgmt/p5-Nagios-Plugin-LDAP/pkg-descr
# net-mgmt/p5-Nagios-Plugin-LDAP/pkg-plist
#
echo c - net-mgmt/p5-Nagios-Plugin-LDAP
mkdir -p net-mgmt/p5-Nagios-Plugin-LDAP > /dev/null 2>&1
echo c - net-mgmt/p5-Nagios-Plugin-LDAP/files
mkdir -p net-mgmt/p5-Nagios-Plugin-LDAP/files > /dev/null 2>&1
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-bind-master-server.patch
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-bind-master-server.patch << 'b905e3388d81c5a0f7b7a3928602d15e'
X--- lib/Nagios/Plugin/LDAP.pm 2009-01-14 02:29:40.000000000 +0000
X+++ lib/Nagios/Plugin/LDAP.pm 2009-01-15 02:17:56.000000000 +0000
X@@ -257,6 +257,7 @@
X return 1 unless $warning or $critical;
X
X my $src_ldap = $self->_ldap_connect($master) or return;
X+ $self->_ldap_bind($src_ldap);
X
X my $src_entry =
X $self->_ldap_do_search($src_ldap, '(&(objectClass=*)(contextCSN=*))', 'contextCSN')
X
b905e3388d81c5a0f7b7a3928602d15e
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-correct-csn-compare-multimaster.patch
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/files/patch-correct-csn-compare-multimaster.patch << '6b2409badfa6c4ac5151251382333d6d'
X--- lib/Nagios/Plugin/LDAP.pm 2010-12-10 15:57:47.000000000 +0000
X+++ lib/Nagios/Plugin/LDAP.pm 2010-12-10 15:58:13.000000000 +0000
X@@ -266,44 +266,67 @@
X $self->_ldap_do_search($dst_ldap, '(&(objectClass=*)(contextCSN=*))', 'contextCSN')
X or return;
X
X- my $src_csn = $src_entry->get_value('contextCSN');
X- my $dst_csn = $dst_entry->get_value('contextCSN');
X+ foreach my $src_current_csn (@{$src_entry->{'asn'}->{'attributes'}->[0]->{'vals'}}) {
X+ my @csn=split('#',$src_current_csn);
X+ my $src_server_id=$csn[2];
X+
X+ my $dst_current_csn;
X+ my $dst_server_id;
X+ foreach my $dst_temp_csn (@{$dst_entry->{'asn'}->{'attributes'}->[0]->{'vals'}}) {
X+ my @temp_csn=split('#',$dst_temp_csn);
X+ $dst_server_id=$temp_csn[2];
X+ if ($dst_server_id eq $src_server_id){
X+ $dst_current_csn=$dst_temp_csn;
X+ last;
X+ }
X+ }
X+
X+ print "Host csn id: $src_server_id \n" if $verbose;
X+ print "Master csn id: $dst_server_id \n" if $verbose;
X+ print "Host csn: $src_current_csn \n" if $verbose;
X+ print "Master csn: $dst_current_csn \n" if $verbose;
X+
X+ my $src_csn = $src_current_csn;
X+ my $dst_csn = $dst_current_csn;
X+
X+ print "Master CSN = $src_csn\n" if $verbose;
X+ print "Slave CSN = $dst_csn\n" if $verbose;
X+
X+ my ($YYYY, $MM, $DD, $hh, $mm, $ss);
X+ ($YYYY, $MM, $DD, $hh, $mm, $ss) = $src_csn =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
X+ my $src_dt = DateTime->new(
X+ year => $YYYY,
X+ month => $MM,
X+ day => $DD,
X+ hour => $hh,
X+ minute => $mm,
X+ second => $ss
X+ );
X+ ($YYYY, $MM, $DD, $hh, $mm, $ss) = $dst_csn =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
X+ my $dst_dt = DateTime->new(
X+ year => $YYYY,
X+ month => $MM,
X+ day => $DD,
X+ hour => $hh,
X+ minute => $mm,
X+ second => $ss
X+ );
X+
X+ my $delta = abs($src_dt->epoch - $dst_dt->epoch);
X+
X+ $self->add_message(
X+ $self->check_threshold(check => $delta, warning => $warning, critical => $critical),
X+ sprintf("csn id %s: %d seconds replication delta", $src_server_id,$delta));
X+
X+ $self->add_perfdata(
X+ label => "repl$src_server_id",
X+ value => $delta,
X+ uom => 's',
X+ threshold => $self->threshold
X+ );
X
X- print "Master CSN = $src_csn\n" if $verbose;
X- print "Slave CSN = $dst_csn\n" if $verbose;
X-
X- my ($YYYY, $MM, $DD, $hh, $mm, $ss);
X- ($YYYY, $MM, $DD, $hh, $mm, $ss) = $src_csn =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
X- my $src_dt = DateTime->new(
X- year => $YYYY,
X- month => $MM,
X- day => $DD,
X- hour => $hh,
X- minute => $mm,
X- second => $ss
X- );
X- ($YYYY, $MM, $DD, $hh, $mm, $ss) = $dst_csn =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
X- my $dst_dt = DateTime->new(
X- year => $YYYY,
X- month => $MM,
X- day => $DD,
X- hour => $hh,
X- minute => $mm,
X- second => $ss
X- );
X-
X- my $delta = abs($src_dt->epoch - $dst_dt->epoch);
X-
X- $self->add_message(
X- $self->check_threshold(check => $delta, warning => $warning, critical => $critical),
X- sprintf("%d seconds replication delta", $delta));
X-
X- $self->add_perfdata(
X- label => 'repl',
X- value => $delta,
X- uom => 's',
X- threshold => $self->threshold
X- );
X+ print "\n" if $verbose;
X+ }
X
X }
X
6b2409badfa6c4ac5151251382333d6d
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/Makefile
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/Makefile << 'bb02953f0187777996c730d0bab4f4f1'
X# New ports collection makefile for: p5-Nagios-Plugin-LDAP
X# Date created: 01 Mar 2011
X# Whom: Alexander Kriventsov <avk at vl.ru>
X#
X# $FreeBSD$
X#
X
XPORTNAME= Nagios-Plugin-LDAP
XPORTVERSION= 0.04
XCATEGORIES= net-mgmt
XMASTER_SITES= CPAN
XPKGNAMEPREFIX= p5-
X
XMAINTAINER= avk at vl.ru
XCOMMENT= Nagios plugin to observe LDAP
X
XPERL_CONFIGURE= yes
X
XBUILD_DEPENDS= \
X ${SITE_PERL}/Net/LDAP.pm:${PORTSDIR}/net/p5-perl-ldap \
X ${SITE_PERL}/Nagios/Plugin.pm:${PORTSDIR}/net-mgmt/p5-Nagios-Plugin \
X ${SITE_PERL}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
X ${SITE_PERL}/${PERL_ARCH}/DateTime.pm:${PORTSDIR}/devel/p5-DateTime
X
XRUN_DEPENDS= ${BUILD_DEPENDS}
X
XMAN3=Nagios::Plugin::LDAP.3
X
Xpost-patch:
X @${FIND} ${WRKSRC} -name "*.orig" -delete
X
X.include <bsd.port.mk>
bb02953f0187777996c730d0bab4f4f1
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/distinfo
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/distinfo << '9ab90b81734c54897e5f8a85e0b26ebd'
XMD5 (Nagios-Plugin-LDAP-0.04.tar.gz) = baf9e28701e7020fcdf752f41309cb7e
XSHA256 (Nagios-Plugin-LDAP-0.04.tar.gz) = 7f720b3ef24b763d9828abf96f780b110e3976de6974b40651f3da434c82f756
XSIZE (Nagios-Plugin-LDAP-0.04.tar.gz) = 22131
9ab90b81734c54897e5f8a85e0b26ebd
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/pkg-descr
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/pkg-descr << '0b2ce3647c5d0ad79f9fa3eca7fca10b'
XNagios plugin to observe LDAP
0b2ce3647c5d0ad79f9fa3eca7fca10b
echo x - net-mgmt/p5-Nagios-Plugin-LDAP/pkg-plist
sed 's/^X//' >net-mgmt/p5-Nagios-Plugin-LDAP/pkg-plist << 'ddce63b736a7cd9c63a8feba501d034a'
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/Nagios/Plugin/LDAP/.packlist
Xbin/check_ldap_repl
X%%SITE_PERL%%/Nagios/Plugin/LDAP.pm
X at dirrmtry %%SITE_PERL%%/Nagios/Plugin
X at dirrmtry %%SITE_PERL%%/Nagios
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Nagios/Plugin/LDAP
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Nagios/Plugin
X at dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Nagios
ddce63b736a7cd9c63a8feba501d034a
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list