[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [OSSTEST PATCH 21/26] sg-run-job: Provide infrastructure for layers of nesting
> -----Original Message----- > From: Ian Jackson [mailto:ian.jackson@xxxxxxxxxxxxx] > Sent: Saturday, September 26, 2015 3:15 AM > To: xen-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Hu, Robert <robert.hu@xxxxxxxxx>; Ian Campbell > <ian.campbell@xxxxxxxxxx>; Ian Jackson <ian.jackson@xxxxxxxxxxxxx>; Ian > Jackson <Ian.Jackson@xxxxxxxxxxxxx> > Subject: [OSSTEST PATCH 21/26] sg-run-job: Provide infrastructure for layers > of nesting > > Provides nested-layer-descend, which can be called in an individual > test job at the appropriate point (after the L1 has been set up). > > The inner host is a guest of the outer host; powering it off means > destroying it. Putting the poweroff at this point in the loop, rather > than in per-host-finish, avoids powering off physical servers. The > use of `.' rather than `!.' for iffail means we do not power off > after failures (as we might want to preserve the state for debugging > etc). > > Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > Tested-by: Robert Ho <robert.hu@xxxxxxxxx> > Signed-off-by: Robert Ho <robert.hu@xxxxxxxxx> > --- > v14: Squash syntax fix from Robert Ho into this patch > --- > sg-run-job | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/sg-run-job b/sg-run-job > index 884a21d..8174ef7 100755 > --- a/sg-run-job > +++ b/sg-run-job > @@ -39,6 +39,7 @@ proc per-host-finish {} { > > proc run-job {job} { > global jobinfo builds flight ok need_xen_hosts anyfailed > + global nested_layers_hosts > > set ok 1 > set anyfailed 0 > @@ -52,6 +53,7 @@ proc run-job {job} { > set need_xen_hosts $nh > set need_build_host 0 > } > + set nested_layers_hosts {} > > catching-otherwise blocked check-not-blocked > if {!$ok} return > @@ -70,7 +72,15 @@ proc run-job {job} { > > if {$ok} { catching-otherwise fail > run-job/$jobinfo(recipe) } > > - per-host-finish > + while 1 { > + per-host-finish > + > + if {![llength $nested_layers_hosts]} break > + > + per-host-ts . = final-poweroff {ts-host-powercycle --power=0} [Hu, Robert] I guess here is a unnecessary '='. Just guess, I don't manage to comprehend the Tcl part. > + > + set need_xen_hosts [lunappend nested_layers_hosts] > + } > > if {$need_build_host && $anyfailed} { > run-ts !broken capture-logs ts-logs-capture + host > @@ -247,6 +257,15 @@ proc per-host-ts {iffail ident script args} { > } > } > > +proc nested-layer-descend {nested_hosts} { > + # We save need_xen_hosts on a stack in nested_layers_hosts > + # It gets popped again during the cleanup part of run-job > + global nested_layers_hosts need_xen_hosts > + lappend nested_layers_hosts $need_xen_hosts > + set need_xen_hosts $nested_hosts > + per-host-prep > +} > + > #---------- test recipes ---------- > > proc need-hosts/test-debian-nomigr {} { return host } > -- > 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |