From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [OSSTEST PATCH 4/6] ts-logs-capture: Run xenctx earlier Date: Fri, 3 Jul 2015 12:49:29 +0100 Message-ID: <1435924171-20789-4-git-send-email-ian.jackson@eu.citrix.com> References: <21910.28952.574765.545182@mariner.uk.xensource.com> <1435924171-20789-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZAzTV-0007rq-6l for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 11:49:45 +0000 In-Reply-To: <1435924171-20789-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org Break fetch_xenctx_guest out into its own function, and run it before serial_fetch_logs. This is relevant because serial_fetch_logs sends the Xen debug keys, which might dislodge a stuck guest - and, if it does, we would like to have captured the stuck state with xenctx, rather than the unstuck one. Signed-off-by: Ian Jackson Acked-by: Ian Campbell --- ts-logs-capture | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/ts-logs-capture b/ts-logs-capture index 7127675..04cb2fd 100755 --- a/ts-logs-capture +++ b/ts-logs-capture @@ -203,14 +203,9 @@ sub fetch_logs_host () { } } -sub fetch_logs_guest ($) { +sub fetch_xenctx_guest ($) { my ($gho) = @_; - my $gn = $gho->{Name}; - logm("saving logs for $gn"); - - my $consolecmd= toolstack($ho)->consolecmd($gho); - try_cmd_output_save("sleep 1 | $consolecmd | cat", - "guest-$gho->{Name}-console"); + logm("collecting xenctx for $gho->{Name}"); if (defined $gho->{Vcpus}) { foreach (my $vcpu=0; $vcpu < $gho->{Vcpus}; $vcpu++) { @@ -224,6 +219,16 @@ sub fetch_logs_guest ($) { ); } } +} + +sub fetch_logs_guest ($) { + my ($gho) = @_; + my $gn = $gho->{Name}; + logm("saving logs for $gn"); + + my $consolecmd= toolstack($ho)->consolecmd($gho); + try_cmd_output_save("sleep 1 | $consolecmd | cat", + "guest-$gho->{Name}-console"); if (!eval { my $vnc= guest_vncsnapshot_begin($ho,$gho); @@ -235,6 +240,7 @@ sub fetch_logs_guest ($) { } find_guests(); +fetch_xenctx_guest($_) foreach @guests; serial_fetch_logs($ho); fetch_logs_host(); fetch_logs_guest($_) foreach @guests; -- 1.7.10.4