When ms-queuedaemon generates a resource-projection.html, it sometimes
does so from data-plan.pl (see proc report-plan). This means that
ms-planner does not get a reliable indication of whether it is being
run for the plan or the projection, and the resource-project.html
sometimes claims to be the plan.
Fix with a new ms-planner option -W which tells it what to put in the
title, defaulting to the value passed to -w.
DEPLOYMENT NOTE:
The new ms-planner works with the old queuedaemon, so when upgrading,
it is OK to simply update the daemons-testing.git and then restart the
ms-queuedaemon.
If it is necessary to downgrade, rewinding to the old commit with a
running ms-queuedaemon will cause errors from the old ms-planner being
passed -w -- but these errors are trapped and ignored. So in this
case reports will be out of date until ms-queuedaemon is also
restarted.
In either case nothing will go badly wrong.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
open DEBUG, ">/dev/null" or die $!;
our $walker = 'plan';
+our $walker_show;
while (@ARGV and $ARGV[0] =~ m/^-/) {
$_= shift @ARGV;
open DEBUG, ">&STDERR" or die $!;
} elsif (s/^-w(.+)/-/) {
$walker = $1;
+ } elsif (s/^-W(.+)/-/) {
+ $walker_show = $1;
} else {
die "$_ ?";
}
}
}
+$walker_show //= $walker;
+
csreadconfig();
our ($plan);
# Dumper(\@rows, \@newoutcols);
printf "<html><head><title>Resource %s - %s</title></head><body>\n",
- $walker, ($c{DnsDomain} // '?');
+ $walker_show, ($c{DnsDomain} // '?');
printf "<table rules=all><tr><td>plan age %s</td><td>report at %s</td>\n",
show_rel_time($now);
global c
catching-internally "showing $w html" {
set outputfile "$c(WebspaceFile)/resource-$wo.html"
- exec ./ms-planner -w$w show-html > $outputfile
+ exec ./ms-planner -w$w -W$wo show-html > $outputfile
} {
set out data-$wo.final.pl
file copy -force data-$w.pl $out.new