Project

General

Profile

Actions

action #109202

closed

[qe-core] test fails in zypper_in - Test times out when removing packages in single transaction mode

Added by szarate about 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Bugs in existing tests
Target version:
Start date:
2022-03-30
Due date:
% Done:

0%

Estimated time:
Difficulty:
Sprint:
QE-Core: April Sprint (Apr 13 - May 11)

Description

Observation

openQA test in scenario sle-15-SP4-Online-ppc64le-gnome+proxy_SCC+allmodules@ppc64le-2g fails in
zypper_in

Test suite description

Testsuite maintained at https://gitlab.suse.de/qa-maintenance/qam-openqa-yml. Maintainers: QE Core, jrauch
Install all module which are available through ProxySCC
Install as patterns during installation.

Reproducible

Fails since (at least) Build 116.4

Expected result

Last good: 113.1 (or more recent)

Further details

Always latest result in this scenario: latest

Possibly it's a matter of load on the machine, but increasing the timeout to something like 5 to 10 minutes should be safe.

# Test died: command 'zypper -n rm hello{1..9}' timed out at /usr/lib/os-autoinst/testapi.pm line 950.
# Test died: command 'zypper lr -d | tee /dev/hvc0' timed out at /usr/lib/os-autoinst/testapi.pm line 1039. (different job)

So in the end, that zypper_call needs an increased timeout: assert_script_run "zypper -n rm hello{1..9}"; and for the script_run(zypper lr -d) (which should be assert_script_run imo)

I'm having the suspicion that memory matters a lot somehow:

Acceptance Criteria

  1. multiple runs (10 each) of the jobs mentioned above, pass after increasing the timeout
Actions #1

Updated by szarate about 2 years ago

  • Description updated (diff)
  • Status changed from New to Workable
Actions #2

Updated by szarate about 2 years ago

  • Description updated (diff)
  • Target version set to QE-Core: Ready
Actions #3

Updated by szarate about 2 years ago

  • Description updated (diff)
Actions #4

Updated by mgrifalconi about 2 years ago

  • Status changed from Workable to In Progress
  • Assignee set to mgrifalconi
Actions #5

Updated by mgrifalconi about 2 years ago

Hello, was about to increase the timeout of assert_script_run "-n rm hello{1..9}"; by using zypper_call which has 700s instead of 90s timeout.

But then I came across this discussion https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/14448#issuecomment-1063916360

Which leads to this bug https://bugzilla.opensuse.org/show_bug.cgi?id=1197134

Does it means there is nothing to do here and we should wait for the bug to be solved?
CC @szarate

Thanks!

Actions #6

Updated by szarate about 2 years ago

Michael how about the script_run(zypper lr -d) part?

mgrifalconi wrote:

Hello, was about to increase the timeout of assert_script_run "-n rm hello{1..9}"; by using zypper_call which has 700s instead of 90s timeout.

But then I came across this discussion https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/14448#issuecomment-1063916360

Which leads to this bug https://bugzilla.opensuse.org/show_bug.cgi?id=1197134

Does it means there is nothing to do here and we should wait for the bug to be solved?
CC @szarate

Looks like but leaves the question of the timeout with zypper lr

Thanks!

Actions #7

Updated by mgrifalconi about 2 years ago

Here is the PR open for discussion https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/14623

What I did was:

  • use zypper_call whenever possible (that will use a big timeout: 700s, retries and other features)
  • increase timeout from default of 90 to 180s on script_run when doing zypper calls that cannot use zypper_call

Did not change script_run to assert_script_run because:

  • in "zypper lr -d | tee /dev/$serialdev" I thing it would be useless, getting the exit code of tee and not zypper
  • in "$r = script_run 'zypper -n in --allow-unsigned-rpm ' . data_url('zypper/hello0.rpm')" would not make sense to me since it already have a different exit code handling in the test
Actions #8

Updated by szarate about 2 years ago

  • Status changed from In Progress to Resolved

mgrifalconi wrote:

Here is the PR open for discussion https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/14623

What I did was:

  • use zypper_call whenever possible (that will use a big timeout: 700s, retries and other features)
  • increase timeout from default of 90 to 180s on script_run when doing zypper calls that cannot use zypper_call

Did not change script_run to assert_script_run because:

  • in "zypper lr -d | tee /dev/$serialdev" I thing it would be useless, getting the exit code of tee and not zypper
  • in "$r = script_run 'zypper -n in --allow-unsigned-rpm ' . data_url('zypper/hello0.rpm')" would not make sense to me since it already have a different exit code handling in the test

Thanks, I think that's enough for now

Actions #9

Updated by szarate almost 2 years ago

  • Sprint set to QE-Core: April Sprint (Apr 13 - May 11)
Actions

Also available in: Atom PDF