openSUSE Project Management Tool: Issueshttps://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842023-11-10T01:15:53ZopenSUSE Project Management Tool
Redmine openQA Project - action #139262 (Resolved): Request for optimse opening LTP test casehttps://progress.opensuse.org/issues/1392622023-11-10T01:15:53Zcoolgwwegao@suse.com
<p>When i open LTP test case in openqa, the speed of load is too slow even freeze some time(I use chrome) since there are too many modules(content) need load, is there any way to select part of content(such as ONLY show failed module) or optimise the speed / response time?<br>
<a href="https://openqa.opensuse.org/tests/3598811#step/journal_check/9" class="external">https://openqa.opensuse.org/tests/3598811#step/journal_check/9</a></p>
qe-yam - action #130573 (New): Adapt base class for agama test to be more generichttps://progress.opensuse.org/issues/1305732023-06-09T04:51:18Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>Current lib/yam/agama/agama_base.pm we use for auto-installation includes few things we don't need.<br>
We should update agama_base.pm to more generic base class which can be used by other modules such as patch_agama etc..</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Generilize agama_base and consider how or where to use the specific parts.</p>
<a name="Additional-information"></a>
<h4 >Additional information<a href="#Additional-information" class="wiki-anchor">¶</a></h4>
<p>Try not create more than one level of inheritance there and consider to use libraries, the inheritance is nice to use to not include in the test layer things unrelated with tests but we should avoid to have too many parent class or we would end up as the current hierarchy for sle test.<br>
<a href="https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/17228" class="external">https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/17228</a></p>
qe-yam - action #128852 (Rejected): Libyui: test fails in installation/partitioning raid_gpt, sus...https://progress.opensuse.org/issues/1288522023-05-06T09:06:51Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>Failed message show following id can not be found, we need further check whether the key id is changed or not.</p>
<p>Openqa failed link:<br>
openQA test in scenario sle-15-SP5-Online-ppc64le-RAID0@ppc64le-hmc-4disk fails in<br>
<a href="https://openqa.suse.de/tests/11053020/modules/raid_gpt/steps/4" class="external">raid_gpt</a></p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Investigate the root cause (widget ID changed?) to fix the issue.</p>
qe-yam - action #127607 (Resolved): Ensure we click on Add button in Network Settingshttps://progress.opensuse.org/issues/1276072023-04-13T07:59:18Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>openQA test in scenario sle-15-SP5-Online-x86_64-yast2_gui@64bit fails in<br>
<a href="https://openqa.suse.de/tests/10911122/modules/yast2_network_settings/steps/18" class="external">yast2_network_settings</a></p>
<p>It seems alt-a not trigger yast2-network-settings_overview_hardware-dialog_device-type_bridge open, maybe caused by performance of worker.<br>
We need retry send key till expect window open if it is reproducible to stabilize this test.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Ensure we click on Add button in Network Settings</p>
qe-yam - action #127604 (Resolved): Ensure installing packages finishes in yast2_software_managementhttps://progress.opensuse.org/issues/1276042023-04-13T07:48:02Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>openQA test in scenario sle-15-SP5-Online-x86_64-yast2_gui@64bit fails in<br>
<a href="https://openqa.suse.de/tests/10911122/modules/yast2_software_management/steps/10" class="external">yast2_software_management</a></p>
<p>Expect install finish summary page but actually it still installing package, so suggest increase the timeout of assert_screen.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Ensure installing packages finishes in yast2_software_management</p>
qe-yam - action #127598 (Resolved): Enable autoyast installation for textmode to be connected wit...https://progress.opensuse.org/issues/1275982023-04-13T07:23:28Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>In order improve create hdd job stability and be independent of Funtional job group we need use autoyast to create hdd textmode for yast2_cmd and yast2_ncurses_textmode in pvm</p>
<p>Related openqa test job link:<br>
openQA test in scenario sle-15-SP5-Online-ppc64le-create_hdd_textmode@ppc64le-spvm fails in<br>
<a href="https://openqa.suse.de/tests/10903786/modules/bootloader/steps/18" class="external">bootloader</a></p>
<p>See here the dependencies:<br>
<a href="https://openqa.suse.de/tests/10903786#dependencies" class="external">https://openqa.suse.de/tests/10903786#dependencies</a></p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Create autoyast test mode and connect with those test suite above in PowerVM</p>
qe-yam - action #127583 (Resolved): Errors on validation of AutoYaST profile, need to fix to /mou...https://progress.opensuse.org/issues/1275832023-04-13T03:52:33Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>Adapt for the swap name change.</p>
<p>openQA test link:<br>
<a href="https://openqa.suse.de/tests/10905100/modules/verify_cloned_profile/steps/8" class="external">verify_cloned_profile</a></p>
<p>Detail error show:<br>
XPATH error: no node found as a result of expression: /ns:profile/ns:partitioning/ns:drive[ns:device[text()='/dev/vda'] and ns:partitions[count(ns:partition)=4] and ns:type[text()='CT_DISK']]/ns:partitions/ns:partition[ns:filesystem[text()='swap'] and ns:mount[text()='swap']]</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: swap name is adapted in ay profile</p>
openQA Project - action #127568 (New): Openqa log can not show detail syntax errorhttps://progress.opensuse.org/issues/1275682023-04-13T02:32:20Zcoolgwwegao@suse.com
<p>Openqa can not show detail compile error <br>
If you check <a href="https://openqa.suse.de/tests/10911002" class="external">https://openqa.suse.de/tests/10911002</a></p>
<p>ONLY show following error<br>
"Reason: tests died: unable to load main.pm, check the log for the cause (e.g. syntax error)"</p>
<p>Actually i need following error which currently show in github CI:<br>
Global symbol "%args" requires explicit package name (did you forget to declare "my %args"?) at lib/Installation/ProductSelection/ProductSelectionController.pm line 41.</p>
qe-yam - action #127202 (Resolved): KDE desktop runner not match, suspect needle issuehttps://progress.opensuse.org/issues/1272022023-04-04T13:05:01Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>openQA test in scenario sle-15-SP5-Migration-from-Leap-15.5-to-SLE15-SP5-x86_64-online_leap15.5_scc_kde_def_full_y@64bit fails in<br>
<a href="https://openqa.suse.de/tests/10852751/modules/post_migration/steps/18" class="external">post_migration</a></p>
<p>After send alt-f2 the desktop runner can not match.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Ensure desktop runner works at the point described above</p>
openQA Infrastructure - action #121507 (New): Iscsi issue on OSD worker https://progress.opensuse.org/issues/1215072022-12-06T07:29:51Zcoolgwwegao@suse.com
<p>This ticket used for tracking fix progress on worker ibft issue.</p>
<p>After trying following actions we still encounter issue popup on iscsi.<br>
1)Try to use ip instead of url on sanhook parameter<br>
<a href="https://github.com/os-autoinst/os-autoinst/pull/2219" class="external">https://github.com/os-autoinst/os-autoinst/pull/2219</a><br>
2)Base <a href="https://openqa.suse.de/tests/overview?distri=sle&version=15-SP5&build=wegao_iscis_investigation_use_ip_url" class="external">https://openqa.suse.de/tests/overview?distri=sle&version=15-SP5&build=wegao_iscis_investigation_use_ip_url</a> , we found ONLY worker3 has issue on ibft, so disable worker3 ibft test temporarily until someone can investigate further and fix the problem eventually.<br>
MR for remove worker3 ibft test<br>
<a href="https://gitlab.suse.de/openqa/salt-pillars-openqa/-/merge_requests/472#note_454772" class="external">https://gitlab.suse.de/openqa/salt-pillars-openqa/-/merge_requests/472#note_454772</a></p>
<p>NOTE: we also try to use external iscsi server instead of OSD tgt server and below result show good.<br>
<a href="https://openqa.suse.de/tests/overview?distri=sle&version=15-SP5&build=wegao_iscis_investigation_private_server_openqa_salt_command" class="external">https://openqa.suse.de/tests/overview?distri=sle&version=15-SP5&build=wegao_iscis_investigation_private_server_openqa_salt_command</a></p>
qe-yam - action #120151 (Rejected): Performance related failed cases in migraiton regression grouphttps://progress.opensuse.org/issues/1201512022-11-09T00:35:39Zcoolgwwegao@suse.com
<p>This ticket used for tracking timeout related issue in regression group.</p>
<p><a href="https://openqa.suse.de/tests/9873547#step/pre_migration/10" class="external">https://openqa.suse.de/tests/9873547#step/pre_migration/10</a><br>
<a href="https://openqa.suse.de/tests/9897712#step/yast2_nfs_server/52" class="external">https://openqa.suse.de/tests/9897712#step/yast2_nfs_server/52</a></p>
qe-yam - action #120049 (Resolved): Adapt openqa test setting for SLES 15 SP3 LTSS in Migrationhttps://progress.opensuse.org/issues/1200492022-11-08T07:03:05Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>Since 15sp3 will kick out LTSS, so we need update related setting for migration job group in openqa.<br>
Example:</p>
<a name="Scope"></a>
<h4 >Scope<a href="#Scope" class="wiki-anchor">¶</a></h4>
<p>Migration jobs (for maintenance we might need to do some other adjustments)</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Adapt openqa test setting for SLES 15 SP3 LTSS</p>
<a name="Additional-information"></a>
<h4 >Additional information<a href="#Additional-information" class="wiki-anchor">¶</a></h4>
<p>NOTE:<br>
If we want review history log, we can ONLY update setting and keep test case name untouched.<br>
<strong>Do not merge yet until LTSS is ready for this product</strong> (beginning or January?)</p>
qe-yam - action #120022 (Resolved): Implement Step in framework at the level of Test Layer with a...https://progress.opensuse.org/issues/1200222022-11-07T11:46:18Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>Once Yam squad is starting progressively to rewrite some YaST modules test cases with libyui-rest-api and apply a good design to them, like in this PR: <a href="https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/15496">https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/15496</a><br>
we still need to improve how each step is visualized, we can see that the screenshot we provide is not in sync with the action:<br>
<a href="https://openqa.opensuse.org/tests/2857887#step/yast2_firewall_stop_service/5">https://openqa.opensuse.org/tests/2857887#step/yast2_firewall_stop_service/5</a><br>
Wrapping the method, for example like this <code>wait_screen_change(sub { $testapi::distri->get_firewall()->start_firewall() } );</code><br>
See Draft PR: <a href="https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/15844/files#diff-8fc5ca29998de81bd0c818e44236ad9c51cc838bafc7429a1f30d83e43acbc3dR23">https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/15844/files#diff-8fc5ca29998de81bd0c818e44236ad9c51cc838bafc7429a1f30d83e43acbc3dR23</a><br>
we can achieve: <a href="https://openqa.opensuse.org/tests/2857895#step/yast2_firewall_stop_service/8">https://openqa.opensuse.org/tests/2857895#step/yast2_firewall_stop_service/8</a></p>
<p>The goal is to find a solution, perhaps decorator pattern in Perl or some sort of wrapping which is flexible and decoupled from the other layers.<br>
Therefore in the example above we still run <code>$testapi::distri->get_firewall()->start_firewall()</code> but behind the scene the other actions will take place. But those actions should be assigned from outside, so Controller layer can have some variable to store and execute it, but doesn't know anything about testapi.pm.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Research about potential solution to wrap functions in Perl<br>
<strong>AC2</strong>: Define a wrapper/decorator for some methods of the Object<br>
<strong>AC3</strong>: Being able to have other Object methods not decorated<br>
<strong>AC4</strong>: We can switch off the mechanism in single place without issues.</p>
<a name="Additional-information"></a>
<h4 >Additional information<a href="#Additional-information" class="wiki-anchor">¶</a></h4>
<p>We could use this snippet as starting point:</p>
<pre><code>#!/usr/bin/perl
use strict;
use warnings;
use experimental 'signatures';
use Sub::Util 'subname';
use feature qw(say);
# This utility function accepts a func ref and a code ref and wraps them
sub wrap ($func, $code) {
no strict;
no warnings 'redefine';
*{ subname($func) } = $code->($func);
}
# This will be the wrapper. Like a Python decorator, it's accepts the wrapped
# function as the first argument, and returns a new function
sub debug($func) {
my $func_name = subname($func);
return sub (@args) {
say {*STDERR} "DEBUG: Calling $func_name(@args)";
$func->(@args);
}
}
# You can wrap the function anywhere, but doing it before the function
# definition it easier to notice, and is also similar to Python decorators.
wrap(\&double, \&debug);
sub double($n) {
return $n * 2;
</code></pre>
<ul>
<li>'debug' might be our step_decorator method where we can apply those additional functions, but in theory we should have step_around, step_before and step_after and for our case in principle we would add <code>step_around</code> in combination with <code>step_after</code>. To make them different decorator we'll give us more flexibility and we should be able to apply more than one as in our case.</li>
<li>Once the decorator is created the second task is to know where to put it? The simple way would be to put in the Test layer, completely independent of the framework, that is the most decoupled solution probably, but in fact we already have some knowledge of the methods for a Controller, meaning that some methods are action that change the screen, so for those <code>step_around</code> and <code>step_after</code> decorator can be assign in the code implementation of the Controller, and it could also be assign on the code implementation of the Page, if we will remove the Controllers in the future.</li>
<li>Instead of assigning specific implementation of decorators in the Object (Controller or Page) we will initialize this objects applying those <code>wrap</code> operations with values of those decorator, which will not be assigned directly in the Object, but in the setup of the libyui, in what we call the App. In that way at the beginning of these tests where we are testing YaST module we initially setup the specific implementation for this decorators.
Then when the Object (Controller for now) is instantiated it will already contains by code the type of decorator but not the exact implementation, as it would be passed on initialization.
If this suggestion doesn't work, we should discuss further where to do this <code>wrap</code> operations.</li>
</ul>
qe-yam - action #119950 (Resolved): Run yast2_migration in PowerVM only with ncurseshttps://progress.opensuse.org/issues/1199502022-11-07T00:51:00Zcoolgwwegao@suse.com
<a name="Observation"></a>
<h4 >Observation<a href="#Observation" class="wiki-anchor">¶</a></h4>
<p>openQA test in scenario sle-15-SP5-Migration-from-SLE15-SPx-ppc64le-ha_migration_online_pscc_sles15sp4@ppc64le-hmc-single-disk fails in<br>
<a href="https://openqa.suse.de/tests/9873489/modules/yast2_migration/steps/25" class="external">yast2_migration</a></p>
<p>Apparently automation fails to complete registration phase, very likely because we force to user ssh forwarding when running qt in remote worker, like in this case for PowerVM. Using ncurses should accelerate the process.<br>
Of course the problem behind the scene are networking issues with PowerVM, but let's tackle this first.</p>
<a name="Scope"></a>
<h4 >Scope<a href="#Scope" class="wiki-anchor">¶</a></h4>
<p>All test suite using PowerVM in all Migration job groups.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Research the reason why we shouldn't test qt, is it because our testing infrastructure?<br>
<strong>AC2</strong>: Run always yast2_migration in PowerVM with ncurses instead of qt</p>
<a name="Additional-information"></a>
<h4 >Additional information<a href="#Additional-information" class="wiki-anchor">¶</a></h4>
<ul>
<li>For instance we open sw_single in this way in <code>yast2_i</code>: <code>my $module_name = y2_module_consoletest::yast2_console_exec(yast2_module => 'sw_single', yast2_opts => '--ncurses');</code></li>
<li>A better solution which would not require to add always this <code>yast2_opts</code> parameter is to ensure that the target desktop in the AutoYaST image used by this job is textmode, even if the default is gnome for PowerVM is a special case and we might need to edit this AutoYaST profile to force that.</li>
</ul>
qe-yam - action #119323 (Resolved): Document in confluence how to check milestone rmt/smt status,...https://progress.opensuse.org/issues/1193232022-10-25T06:07:37Zcoolgwwegao@suse.com
<a name="Motivation"></a>
<h4 >Motivation<a href="#Motivation" class="wiki-anchor">¶</a></h4>
<p>We would like to have documented how to check rmt/smt status for milestones before triggering isos post.</p>
<a name="Acceptance-criteria"></a>
<h4 >Acceptance criteria<a href="#Acceptance-criteria" class="wiki-anchor">¶</a></h4>
<p><strong>AC1</strong>: Document in <a href="https://confluence.suse.com/display/qasle/QE+YaST+and+Migration" class="external">Yam space in Confluence</a> the procedure.</p>