[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 25/26] sg-report-host-history: Show used power approach(es)
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- sg-report-host-history | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/sg-report-host-history b/sg-report-host-history index 51814534..18b538e9 100755 --- a/sg-report-host-history +++ b/sg-report-host-history @@ -161,6 +161,7 @@ sub reporthost ($) { print H "<th>branch</th><th>intended</th><th>blessing</th>\n"; print H "<th>job</th><th>failure</th>\n"; + print H "<th>power</th>\n"; print H "</tr>\n"; @@ -188,6 +189,16 @@ END LIMIT 1 END + # the final AND is just to reduce the data flow + our $jrunvarq //= db_prepare(<<END); + SELECT name, val + FROM runvars + WHERE flight=? AND job=? + AND ( + name LIKE (? || '_power_%') + ) +END + my $inrows = $hosts{$hostname}; print DEBUG "FOUND ", (scalar @$inrows), " ROWS for $hostname\n"; @@ -213,6 +224,12 @@ END foreach my $jr (@rows) { my $ir = jobquery($infoq, $jr); my $ar = jobquery($allocdq, $jr); + my $ident = $jr->{name}; + $jrunvarq->execute($jr->{flight}, $jr->{job}, $ident); + my %runvars; + while (my ($n, $v) = $jrunvarq->fetchrow_array()) { + $runvars{$n} = $v; + } my $altcolour = report_altcolour($alternate); print H "<tr $altcolour>"; @@ -252,6 +269,45 @@ END my $ri = report_run_getinfo({ %$jr, %$ir }); print H "<td $ri->{ColourAttr}>$ri->{Content}</td>\n"; + my %powers; + foreach my $r (sort keys %runvars) { + next unless $r =~ m{^\Q${ident}\E_power_}; + $powers{$'} = $runvars{$r}; + } + my $skipped = 0; + my $any_power = 0; + my $pr_power_colour = sub { + my ($colour, $contents) = @_; + if ($any_power++) { + print H span_colour($colour), $contents, '</span>'; + } else { + print H "<td bgcolor=\"$colour\">", $contents; + } + }; + my $pr_power = sub { + my ($wh) = @_; + for (; $skipped; $skipped--) { + $pr_power_colour->($grey_mid, " - "); + } + my $how = $powers{$wh}; + my $colour = + $how =~ /PDU/ ? $yellow : + $how =~ /Combined/ ? $yellow : + $how eq 'SSH' ? $green : + $grey_pale ; + $pr_power_colour->($colour, " $how "); + }; + foreach my $wh (qw(install recover)) { + $skipped++, next unless exists $powers{$wh}; + $pr_power->($wh); + delete $powers{$wh}; + } + foreach my $wh (sort keys %powers) { + $pr_power->($wh); + } + print H "<td>" if !$any_power; + print H "</td>\n"; + print H "</tr>\n\n"; $alternate ^= 1; } -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |