action #71110
closedReduce waiting time in case of os-autoinst shutdown
Description
Motivation¶
Also See #68938 . Stopping isotovideo can still take quite some seconds even though no expensive action seems to going on.
Acceptance criteria¶
- AC1: t/18-qemu-options.t (and potentially other tests) run significantly faster than before.
- AC2: Tests ensure that the shutdown time does not regress again
Suggestions¶
- Look into https://github.com/os-autoinst/os-autoinst/blob/master/OpenQA/Qemu/Proc.pm , especially https://github.com/os-autoinst/os-autoinst/blob/master/OpenQA/Qemu/Proc.pm#L421 if we look for the qemu process to be active.
- Use t/18-qemu-options.t (or maybe one of t/17-backend-qemu.t or t/18-qemu.t or t/14-isotovideo.t) to reproduce and fix the problem
Updated by okurz over 4 years ago
- Copied from action #68938: Try to reduce waiting time in case of qemu (early-)exits auto_review:"QEMU terminated before QMP connection could be established at /usr/lib/os-autoinst/OpenQA/Qemu/Proc.pm line 443":retry added
Updated by okurz about 4 years ago
https://github.com/os-autoinst/os-autoinst/pull/1546 , already merged, and https://github.com/mudler/Mojo-IOLoop-ReadWriteProcess/pull/13
if you don't do further work but wait for https://github.com/mudler/Mojo-IOLoop-ReadWriteProcess/pull/13 please set to "Feedback".
Updated by okurz about 4 years ago
the PR was accepted, the release including the change is https://github.com/mudler/mojo-ioloop-readwriteprocess/releases/tag/0.28 but also https://build.opensuse.org/package/show/devel:languages:perl/perl-Mojo-IOLoop-ReadWriteProcess is still at 0.27 . Probably because the perl autoupdate still does not work but tinita is looking into that. However https://build.opensuse.org/package/show/devel:languages:perl:autoupdate/perl-Mojo-IOLoop-ReadWriteProcess has the new version already. So created a submission with osc sr -m "Update to 0.28" devel:languages:perl:autoupdate perl-Mojo-IOLoop-ReadWriteProcess devel:languages:perl
creating https://build.opensuse.org/request/show/839403
Updated by okurz about 4 years ago
SR accepted, now forwarded for openSUSE:Factory with https://build.opensuse.org/request/show/840304
Updated by okurz about 4 years ago
- Due date set to 2020-10-15
I am setting a due date so that you can check at the due date if the package was accepted and we have all necessary requirements ready so that we can at best do the next step which would be to lower the test timeout to ensure we are always a bit faster.
Updated by livdywan about 4 years ago
0.28 is in now by the looks of it. Does the timeout still need adjusting?
Updated by mkittler about 4 years ago
As mentioned in the PR:
This saves measurably time, e.g. the os-autoinst test t/18-qemu-options.t
needs 28 seconds to execute on my system without this change and 11 seconds
with this change.
I'm not sure how much there's left to optimize. And yes, I still need to adjust the timeout. However, if we're actually enforcing that within the testsuite we should also specify in the dependency files that we require at least 0.28.
Updated by okurz about 4 years ago
hm, actually we would only strongly depend on 0.28 for "tests" - good that we can encode that separately :)
Updated by mkittler about 4 years ago
- Due date deleted (
2020-10-15) - Status changed from Feedback to In Progress
PR for adding the time limit test helper to os-autoinst-common to use it for t/18-qemu-options.t
to cover AC2: https://github.com/os-autoinst/os-autoinst-common/pull/3
Updated by okurz about 4 years ago
mkittler wrote:
PR for adding the time limit test helper to os-autoinst-common to use it for
t/18-qemu-options.t
to cover AC2: https://github.com/os-autoinst/os-autoinst-common/pull/3
ok, not a bad idea. But why not just rely on what is already there in https://github.com/os-autoinst/os-autoinst/blob/master/t/18-qemu-options.t#L90 ?
Updated by mkittler about 4 years ago
PR for changing the specific time check: https://github.com/os-autoinst/os-autoinst/pull/1552
Updated by mkittler about 4 years ago
PR for overall timeout: https://github.com/os-autoinst/os-autoinst/pull/1553
Updated by okurz about 4 years ago
PR is merged, https://build.opensuse.org/package/live_build_log/devel:openQA/os-autoinst/openSUSE_Factory_PowerPC/ppc64le failed now with
[ 248s] 3: ./17-basetest.t .......................... ok
[ 248s] 3: Bailout called. Further testing stopped: test exceeds runtime limit of '5' seconds
[ 248s] 3: FAILED--Further testing stopped: test exceeds runtime limit of '5' seconds
[ 248s] 3/3 Test #3: test-perl-testsuite ..............***Failed 86.27 sec
looks a bit like the test already passed but maybe a dirty subprocess is stuck or needs longer to finish
Updated by mkittler about 4 years ago
Likely 5 seconds are too low in OBS anyways. I'll add timeout scaling like for the CI: https://github.com/os-autoinst/os-autoinst/pull/1556
Updated by mkittler about 4 years ago
- Status changed from In Progress to Feedback
Looks like all builds succeed (unless unresolvable or blocked).
Updated by okurz about 4 years ago
That should be enough waiting :) Thank you so far. I wanted to check what travis CI records as runtime for the individual test so that we can check on the current value. But I realized we don't record the timer output. Anyway, unless you plan for more work feel welcome to set to "Resolved" now
Updated by okurz 9 months ago
- Related to action #157339: os-autoinst t/14-isotovideo.t is again taking too long (>20s on my setup) size:M added