Francois Gouget : testbot: Also mark the VM for maintenance if the reverts get stuck.
Alexandre Julliard
julliard at winehq.org
Mon Jun 11 09:49:49 CDT 2018
Module: tools
Branch: master
Commit: fca14eaa91f0ba811c5b90c028f6e824d07f8742
URL: https://source.winehq.org/git/tools.git/?a=commit;h=fca14eaa91f0ba811c5b90c028f6e824d07f8742
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Thu Jun 7 00:29:38 2018 +0200
testbot: Also mark the VM for maintenance if the reverts get stuck.
When a VM takes a long time to revert the LibvirtTool.pl process
typically remains stuck in the Sys::Virt::DomainSnapshot::revert_to()
call and cannot enforce the timeout itself, thus causing the timeout to
be detected at the TestBot Engine level.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
testbot/lib/WineTestBot/Engine/Scheduler.pm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/testbot/lib/WineTestBot/Engine/Scheduler.pm b/testbot/lib/WineTestBot/Engine/Scheduler.pm
index a191f0e..10c0b70 100644
--- a/testbot/lib/WineTestBot/Engine/Scheduler.pm
+++ b/testbot/lib/WineTestBot/Engine/Scheduler.pm
@@ -267,8 +267,15 @@ sub _CheckAndClassifyVMs()
{
# The child process got stuck!
$FoundVMErrors = 1;
+ my $NewStatus = "dirty";
+ if ($VM->Status eq "reverting" or $VM->Status eq "sleeping")
+ {
+ my $Errors = ($VM->Errors || 0) + 1;
+ $VM->Errors($Errors);
+ $NewStatus = "maintenance" if ($Errors >= $MaxVMErrors);
+ }
+ $VM->Status($NewStatus);
$VM->KillChild();
- $VM->Status("dirty");
$VM->Save();
$VM->RecordResult($Sched->{records}, "boterror stuck process");
$Sched->{lambvms}->{$VMKey} = 1;
More information about the wine-cvs
mailing list