Project

General

Profile

Actions

action #88524

closed

Improve stability when accessing disable control in aarch with libyui

Added by JERiveraMoya about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
SUSE QA - SLE 15 SP3
Start date:
2021-02-11
Due date:
% Done:

0%

Estimated time:

Description

Observation

openQA test in scenario sle-15-SP3-Online-aarch64-modify_existing_partition@aarch64 fails in
modify_existing_partition

We need to improve stability when accessing disable control in aarch with libyui, it is sporadic but we have seen it at least in a couple of builds.
When radiobutton 'Format device' is selected we can see that 'Filesystem' combobox is still disable, the event didn't reach yet in slower arch.
The exact moment where it fails is when we are entering formatting options and selecting format before the screen has been completely loaded.
The initial status of the screen seems to be to not format, so it seems that we click on format before this status has been reached.

Test suite description

Suite that modifies/resizes a partition on a previously formatted disk. Depends on create_hdd_gnome.

Reproducible

Fails since (at least) Build 145.1 (current job)

Expected result

Last good: 142.3 (or more recent)

Further details

Always latest result in this scenario: latest

Actions #1

Updated by riafarov about 3 years ago

  • Target version set to SLE 15 SP3
Actions #2

Updated by riafarov about 3 years ago

  • Project changed from openQA Tests to qe-yam
  • Category deleted (Bugs in existing tests)
Actions #3

Updated by oorlov about 3 years ago

  • Status changed from New to In Progress
  • Assignee set to oorlov
Actions #4

Updated by oorlov about 3 years ago

I also came to the same assumption as Joaquin after my investigations. I've started 20 VRs, 10 of them were failed due to the same reason: https://openqa.suse.de/tests/overview?distri=sle&version=15-SP3&build=poo88524_oorlov

The reason seems to be as Joaquin described. Seems like Libyui selects Format device radio button while all the elements on the screen are not shown yet. So that radiobutton become selected, but event to enable Filesystem combobox is not triggered.

Sure, this looks like a product issue, but it is reproduced with artificial conditions and will not affect users, so most likely will not be fixed.

Manually the issue is not reproduced by me. Although, I've reproduced it by running the test module and stopping the execution once it is failed. If click the radio button again, then the event is fired.

So, I see two possible solutions here:

  1. Hacky, dirty, but quick and possible to implement: select Format device radiobutton until Filesystem combobox is enabled;
  2. Most proper, but I'm not sure yet if it is possible to implement: update libyui-rest-api to allow checking if an element is loaded and visible on screen. That will allow to not manipulate with the items once they loaded but not shown on UI.
Actions #5

Updated by JERiveraMoya about 3 years ago

It should work just ensuring that radiobutton 'do not format device' is selected so those events are chained in the right order.

sub select_format {
    my ($self) = @_;
    # wait for 'rb_no_format_device' selected
    return $self->{rb_format_device}->select();
}

Could you try that? I think that would not be hacky, only notice that if user select 'role: operating-system' and 'should_format: 1' we should give a hint/warning (no error) about wrong test data / no optimal selection, so basically it would mean to click on the radiobutton even is already selected, which I have seen in some places (but not sure if here). Other than that that check should be always true and similar with 'select_not_format'.

Actions #6

Updated by oorlov about 3 years ago

It should work just ensuring that radiobutton 'do not format device' is selected so those events are chained in the right order.

I'm afraid that this solution may be confusing when someone will use it in future. Just because if the one wants to select "Format Device" radio button, it is not known that it first checks if "Do not format device" is checked. In this case we would rely on such behavior that "Do not format device" is selected by default (but I'm not sure that this is true for all the cases) and if "Format Device" will be already selected then, the test may fail.

Anyways, I'm open for discussions, we can do that online if you want.

I've chosen the solution to select "Format Device" until "Filesystem" combobox is enabled, because they are linked together and when calling select_format_device method you do not care about anything. It just does what it should. I do not know if it is possible to fix the issue in libyui-rest-api itself right now, so this solution may be at least temporary.

The tests passed 10/10: https://openqa.suse.de/tests/overview?version=15-SP3&distri=sle&build=148.1_oorlov&groupid=96

Actions #7

Updated by oorlov about 3 years ago

  • Status changed from In Progress to Feedback
Actions #8

Updated by JERiveraMoya about 3 years ago

Yes, it is better solution, thanks. I will paste it just for reference:
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/11977

Actions #9

Updated by oorlov about 3 years ago

  • Status changed from Feedback to Resolved
Actions #10

Updated by riafarov about 3 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF