Project

General

Profile

Actions

action #71110

closed

Reduce waiting time in case of os-autoinst shutdown

Added by okurz over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

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


Related issues 2 (0 open2 closed)

Related to openQA Project - action #157339: os-autoinst t/14-isotovideo.t is again taking too long (>20s on my setup) size:MResolvedybonatakis2024-03-15

Actions
Copied from openQA Project - 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":retryResolvedmkittler2020-07-14

Actions
Actions #1

Updated by okurz over 3 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
Actions #2

Updated by mkittler over 3 years ago

  • Assignee set to mkittler
Actions #4

Updated by mkittler over 3 years ago

  • Status changed from Workable to Feedback
Actions #5

Updated by okurz over 3 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

Actions #6

Updated by okurz over 3 years ago

SR accepted, now forwarded for openSUSE:Factory with https://build.opensuse.org/request/show/840304

Actions #7

Updated by okurz over 3 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.

Actions #8

Updated by livdywan over 3 years ago

0.28 is in now by the looks of it. Does the timeout still need adjusting?

Actions #9

Updated by mkittler over 3 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.

Actions #10

Updated by okurz over 3 years ago

hm, actually we would only strongly depend on 0.28 for "tests" - good that we can encode that separately :)

Actions #11

Updated by mkittler over 3 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

Actions #12

Updated by okurz over 3 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 ?

Actions #13

Updated by mkittler over 3 years ago

PR for changing the specific time check: https://github.com/os-autoinst/os-autoinst/pull/1552

Actions #15

Updated by okurz over 3 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

Actions #16

Updated by mkittler over 3 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

Actions #17

Updated by okurz over 3 years ago

merged. Please wait for results in OBS.

Actions #18

Updated by mkittler over 3 years ago

  • Status changed from In Progress to Feedback

Looks like all builds succeed (unless unresolvable or blocked).

Actions #19

Updated by okurz over 3 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

Actions #20

Updated by mkittler over 3 years ago

  • Status changed from Feedback to Resolved
Actions #21

Updated by okurz about 1 month ago

  • Related to action #157339: os-autoinst t/14-isotovideo.t is again taking too long (>20s on my setup) size:M added
Actions

Also available in: Atom PDF