[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH OSSTEST v4] ms-flights-summary: Produce an HTML report of all active flights



On Wed, 2015-09-16 at 14:07 +0100, Ian Campbell wrote:
> [...]
> +sub add_event($$$$$) {
> +    my ($job,$reso,$type,$info,$time) = @_;
> +
> +    die unless $type =~ m/^(Start|End)/;
> +
> +    $job->{OverallTime} //= {};
> +
> +    $job->{Reso}{$reso} //= {};
> +    $job->{Reso}{$reso}{$type} = $time;
> +
> +    if ($type eq "Start") {
> +     die if $job->{Reso}{$reso}{Info};

This is attempting to check for conflicting events.

However in the case of sharing hosts as noted in the commit message there
is a gotcha which is that while the host is being prepared by one job the
rest appears as rogue/anonymous jobs (with Info==(preparing), FWIW) and
I've just observed this happen because 2 of those had the same start time
(which I suppose will be quite common?).

The attached plan shows this for the sharing of 'host grain-weevil' for
"build-wheezy-i386 e1adb8b552dda5c653958083c9c7457f0398ad09" purposes.

Anonymous jobs use $reso + $info as their (faked) job name, so they end up
clashing here.

I did the below as a quick fix, now I'm wondering if perhaps I should
suffix the faked up job name of these anon jobs with something unique from
either $evt->{Share} or $evt->{Allocated}. 

->{Allocated}{Shareix} looks promising. What do you think?

The other option would be to arrange somehow for these jobs to have their
correct ->{Job} while in this state. Once the host is prepared and they are
running it comes back, so it must be available somewhere. I looked at the
planner and couldn't figure out where this was or ow to propagate it to
these anonymous jobs...

Ian.

@@ -153,7 +153,8 @@ sub add_event($$$$$) {
     $job->{Reso}{$reso}{$type} = $time;
 
     if ($type eq "Start") {
-       die if $job->{Reso}{$reso}{Info};
+       die "$job $reso $job->{Reso}{$reso}{Info}"
+            if ($job->{Reso}{$reso}{Info}//$info) ne $info;
        $job->{Reso}{$reso}{Info} = $info;
     } else {

Attachment: data-projection.final.pl
Description: Perl program

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.