Thanks,

I committed the attached patch to fix the issue.

Jean-Louis


On 16/11/17 11:08 AM, Nathan Stratton Treadway wrote:
> On Thu, Nov 16, 2017 at 09:43:15 -0500, Jean-Louis Martineau wrote:
> > On 16/11/17 08:31 AM, Nathan Stratton Treadway wrote:
> > > DUMP SUMMARY:
> > > DUMPER STATS TAPER STATS
> > > HOSTNAME DISK L ORIG-MB OUT-MB COMP% MMM:SS KB/s MMM:SS KB/s
> > > ----------------------- ----------------------- --------------
> > > --------------
> > It is a bug if they are not listed, can you send me the
> > log.<datestamp>.0 file
> >
>
> I have just sent this log file in a separate (off-list) message.
>
> Let me know if you need any other info.
>
> Nathan
>
> ----------------------------------------------------------------------------
> Nathan Stratton Treadway - natha...@ontko.com - Mid-Atlantic region
> Ray Ontko & Co. - Software consulting services - http://www.ontko.com/ 
> <http://www.ontko.com/>
> GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt 
> <http://www.ontko.com/~nathanst/gpg_key.txt> 
> ID: 1023D/ECFB6239
> Key fingerprint = 6AD8 485E 20B9 5C71 231C 0C32 15F3 ADCD ECFB 6239
This message is the property of CARBONITE, INC. and may contain confidential or 
privileged information.
If this message has been delivered to you by mistake, then do not copy or 
deliver this message to anyone.  Instead, destroy it and notify me by reply 
e-mail
diff --git a/installcheck/Amanda_Report.pl b/installcheck/Amanda_Report.pl
index bea9f05..ceef57d 100755
--- a/installcheck/Amanda_Report.pl
+++ b/installcheck/Amanda_Report.pl
@@ -28,6 +28,7 @@ use Data::Dumper;
 use lib '@amperldir@';
 
 use Installcheck;
+use Installcheck::Run;
 use Amanda::Config qw( :init :getconf );
 use Amanda::Report;
 use Amanda::Debug;
@@ -41,6 +42,9 @@ my %LogfileData;
 my $logCount = 0;
 my $log_filename = "$Installcheck::TMP/Amanda_Report_test.log";
 
+my $testconf = Installcheck::Run::setup();;
+$testconf->write();
+
 # copy/pasted from installcheck/Amanda_Logfile.pl .  Maybe move this
 # to a module?
 sub write_logfile
diff --git a/perl/Amanda/Report.pm b/perl/Amanda/Report.pm
index 643ea07..5f4ed40 100644
--- a/perl/Amanda/Report.pm
+++ b/perl/Amanda/Report.pm
@@ -932,7 +932,6 @@ sub _handle_dumper_line
     my $self = shift @_;
     my ( $type, $str ) = @_;
     my $data     = $self->{data};
-    my $disklist = $data->{disklist};
     my $programs = $data->{programs};
     my $dumper_p = $programs->{dumper} ||= {};
 
@@ -953,7 +952,7 @@ sub _handle_dumper_line
 	$kb = int($kb/1024) if $info[$x+1] eq 'bytes';
         $orig_kb =~ s{\]$}{};
 
-        my $dle    = $disklist->{$hostname}->{$disk};
+        my $dle    = $self->_get_disklist($hostname, $disk);
         my $try    = $self->_get_try( $dle, "dumper", $self->{'run_timestamp'});
         my $dumper = $try->{dumper} ||= {};
 	$dumper->{level} = $level;
@@ -992,7 +991,7 @@ sub _handle_dumper_line
 	$kb = int($kb/1024) if $info[$x+1] eq 'bytes';
         $orig_kb =~ s{\]$}{};
 
-        my $dle    = $disklist->{$hostname}->{$disk};
+        my $dle    = $self->_get_disklist($hostname, $disk);
         my $try    = $self->_get_try( $dle, "dumper", $timestamp );
         my $dumper = $try->{dumper} ||= {};
 
@@ -1009,7 +1008,7 @@ sub _handle_dumper_line
         my @info = Amanda::Util::split_quoted_strings($str);
         my ( $hostname, $disk, $timestamp, $level ) = @info[ 0 .. 3 ];
 
-        my $dle    = $disklist->{$hostname}->{$disk};
+        my $dle    = $self->_get_disklist($hostname, $disk);
         my $try    = $self->_get_try( $dle, "dumper", $timestamp );
         my $dumper = $try->{dumper} ||= {};
 	$dumper->{date}      = $timestamp;
@@ -1040,7 +1039,6 @@ sub _handle_chunker_line
     my $self = shift @_;
     my ( $type, $str ) = @_;
     my $data      = $self->{data};
-    my $disklist  = $data->{disklist};
     my $programs  = $data->{programs};
     my $chunker_p = $programs->{chunker} ||= {};
 
@@ -1061,7 +1059,7 @@ sub _handle_chunker_line
 	$kb = int($kb/1024) if $info[$x+1] eq 'bytes';
         $kps =~ s{\]$}{};
 
-        my $dle     = $disklist->{$hostname}->{$disk};
+        my $dle     = $self->_get_disklist($hostname, $disk);
         my $try     = $self->_get_try( $dle, "chunker", $timestamp );
         my $chunker = $try->{chunker} ||= {};
 
@@ -1094,7 +1092,6 @@ sub _handle_taper_line
     my $self = shift @_;
     my ( $type, $str ) = @_;
     my $data     = $self->{data};
-    my $disklist = $data->{disklist};
     my $programs = $data->{programs};
     my $taper_p  = $programs->{taper} ||= {};
 
@@ -1161,7 +1158,7 @@ sub _handle_taper_line
         $kps =~ s{\]$}{};
         $orig_kb =~ s{\]$}{} if defined($orig_kb);
 
-        my $dle   = $disklist->{$hostname}{$disk};
+        my $dle   = $self->_get_disklist($hostname, $disk);
         my $try   = $self->_get_try($dle, "taper", $timestamp);
         my $taper = $try->{taper} ||= {};
         my $parts = $taper->{parts} ||= [];
@@ -1232,7 +1229,7 @@ sub _handle_taper_line
         $kps =~ s{\]$}{};
         $orig_kb =~ s{\]$}{} if defined $orig_kb;
 
-        my $dle   = $disklist->{$hostname}->{$disk};
+        my $dle   = $self->_get_disklist($hostname, $disk);
         my $try   = $self->_get_try($dle, "taper", $timestamp);
         my $taper = $try->{taper} ||= {};
         my $parts = $taper->{parts};
@@ -1635,32 +1632,41 @@ sub _handle_start_line
 }
 
 
-sub _handle_disk_line
+sub _get_disklist
 {
     my $self = shift @_;
-    my ($program, $str) = @_;
+    my $hostname = shift @_;
+    my $disk = shift @_;
 
     my $data     = $self->{data};
     my $disklist = $data->{disklist};
     my $hosts    = $self->{cache}{hosts} ||= [];
     my $dles     = $self->{cache}{dles}  ||= [];
 
-    my @info = Amanda::Util::split_quoted_strings($str);
-    my ($hostname, $disk) = @info;
-
     if (!exists $disklist->{$hostname}) {
-
         $disklist->{$hostname} = {};
         push @$hosts, $hostname;
     }
 
     if (!exists $disklist->{$hostname}{$disk}) {
-
         push @$dles, [ $hostname, $disk ];
         my $dle = $disklist->{$hostname}{$disk} = {};
         $dle->{'estimate'} = undef;
         $dle->{'dumps'}    = {};
     }
+    return $disklist->{$hostname}{$disk};
+}
+
+sub _handle_disk_line
+{
+    my $self = shift @_;
+    my ($program, $str) = @_;
+
+    my @info = Amanda::Util::split_quoted_strings($str);
+    my ($hostname, $disk) = @info;
+
+    $self->{dump_disk}->{$hostname}->{$disk} = 1;
+    $self->_get_disklist($hostname, $disk);
     return;
 }
 
diff --git a/perl/Amanda/Report/human.pm b/perl/Amanda/Report/human.pm
index 1ca591e..dabd756 100644
--- a/perl/Amanda/Report/human.pm
+++ b/perl/Amanda/Report/human.pm
@@ -631,6 +631,7 @@ sub output_error_summaries
 
 	if ($report->get_flag('results_missing') and
 	    !defined($alldumps->{$report->{run_timestamp}}) and
+	    $report->{dump_disk}->{$hostname}->{$disk} &&
 	    !$dle->{driver} and
 	    !$dle->{planner}) {
 	    push @missing_failures, "$hostname $qdisk RESULTS MISSING";

Reply via email to