Title: [opsview] [9534] Propagate errors from opspack installations back to the db_opsview db_install
- Revision
- 9534
- Author
- tvoon
- Date
- 2012-07-11 16:21:30 +0100 (Wed, 11 Jul 2012)
Log Message
Propagate errors from opspack installations back to the db_opsview db_install
Modified Paths
Modified: trunk/opsview-core/bin/db_opsview
===================================================================
--- trunk/opsview-core/bin/db_opsview 2012-07-11 10:46:47 UTC (rev 9533)
+++ trunk/opsview-core/bin/db_opsview 2012-07-11 15:21:30 UTC (rev 9534)
@@ -1276,7 +1276,7 @@
if [ $NOPACKS -eq 0 ] ; then
# install opspacks
- PERL5LIB="/usr/local/nagios/lib:/usr/local/nagios/perl/lib:/opt/opsview/perl/lib/perl5" install_all_opspacks --force --dir $topdir/../import/opspacks;
+ PERL5LIB="/usr/local/nagios/lib:/usr/local/nagios/perl/lib:/opt/opsview/perl/lib/perl5" install_all_opspacks --force --dir $topdir/../import/opspacks || die "Cannot install all opspacks - check log"
if [ $TEST -eq 0 ] ; then
PERL5LIB="/usr/local/nagios/lib:/usr/local/nagios/perl/lib:/opt/opsview/perl/lib/perl5" $topdir/../import/opsview_master_post_opspacks $topdir/../import/opsview_master.def;
fi
Modified: trunk/opsview-core/bin/install_all_opspacks
===================================================================
--- trunk/opsview-core/bin/install_all_opspacks 2012-07-11 10:46:47 UTC (rev 9533)
+++ trunk/opsview-core/bin/install_all_opspacks 2012-07-11 15:21:30 UTC (rev 9534)
@@ -23,10 +23,11 @@
"dir=s" => \$dir,
) or die( "Incorrect options" );
-$schema->resultset("MonitorPacks")->install_new_monitorpacks(
+my $success = $schema->resultset("MonitorPacks")->install_new_monitorpacks(
$logger,
{
dir => $dir,
force => $force
}
);
+exit( $success ? 0 : 1 );
Modified: trunk/opsview-core/lib/Opsview/ResultSet/MonitorPacks.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/ResultSet/MonitorPacks.pm 2012-07-11 10:46:47 UTC (rev 9533)
+++ trunk/opsview-core/lib/Opsview/ResultSet/MonitorPacks.pm 2012-07-11 15:21:30 UTC (rev 9534)
@@ -339,7 +339,7 @@
if ( defined $error_message ) {
$mpack->update(
{
- status => "FAILED",
+ status => "FAILURE",
message => $error_message
}
);
@@ -375,6 +375,7 @@
closedir DIR;
my @monitorpacks = grep /\.tar\.gz$/, keys %files;
+ my $errors = 0;
foreach my $mp (@monitorpacks) {
( my $packdir = $mp ) =~ s/\.tar\.gz//;
@@ -384,10 +385,14 @@
next if $self->find( { name => $info->{name} } );
# Run install_monitorpack
- eval { $self->install_pack( $mp, { logger => $logger, %$opts } ); };
+ try { $self->install_pack( $mp, { logger => $logger, %$opts } ); }
+ catch {
+ $errors++;
+ }
}
chdir($cwd);
+ return ( $errors == 0 ? 1 : 0 );
}
1;
_______________________________________________
Opsview-checkins mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-checkins