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

Reply via email to