action #88524
closedImprove stability when accessing disable control in aarch with libyui
0%
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
Updated by riafarov about 3 years ago
- Project changed from openQA Tests to qe-yam
- Category deleted (
Bugs in existing tests)
Updated by oorlov about 3 years ago
- Status changed from New to In Progress
- Assignee set to oorlov
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:
- Hacky, dirty, but quick and possible to implement: select
Format device
radiobutton untilFilesystem
combobox is enabled; - 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.
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'.
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
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
Updated by oorlov about 3 years ago
- Status changed from Feedback to Resolved