openSUSE Project Management Tool: Issueshttps://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842023-12-15T09:49:55ZopenSUSE Project Management Tool
Redmine openQA Tests - action #152671 (Blocked): [security][slem] dirmngr_setup and dirmngr_daemon need t...https://progress.opensuse.org/issues/1526712023-12-15T09:49:55Ztjyrinki_susetjyrinki+redmine@suse.de
<p>dirmngr_setup tries to use zypper so likely misses ALP compatibility, possibly completely (not just is_slemicro >= 6.0 but also is_alp in general missing).</p>
<p>We have not yet executed this same test module on Dolomite.</p>
<p>openQA test in scenario sle-micro-6.0-Default-x86_64-fips_ker_mode_tests_crypt_core@uefi fails in<br>
<a href="https://openqa.suse.de/tests/13062087/modules/dirmngr_setup/steps/25" class="external">dirmngr_setup</a></p>
openQA Tests - action #117028 (In Progress): [qe-core] Possible improvements for transactional in...https://progress.opensuse.org/issues/1170282022-09-22T09:32:40Zpcervinkapcervinka@suse.com
<p>I have found few places for improvements during test development for alp.<br>
We should discuss following points and if they are valid, try to fix/improve them.</p>
<a name="1-Universal-function-for-package-installation"></a>
<h5 >1. Universal function for package installation<a href="#1-Universal-function-for-package-installation" class="wiki-anchor">¶</a></h5>
<p>I noticed that existing code base, becoming messy with if-else for zypper and transactional-update installations.</p>
<p>One of the examples:</p>
<pre><code> if (is_transactional) {
trup_call("pkg install qemu-linux-user");
check_reboot_changes;
} else {
zypper_call("in qemu-linux-user");
}
</code></pre>
<p>This can grow up in numbers with more tests adapted to alp/slem.</p>
<p>Maybe could we use similar approach like for liberty?<br>
<a href="https://gitlab.suse.de/suse-liberty-linux/openqa-tests-sll/-/tree/master/lib/Utils/PackageManager" class="external">https://gitlab.suse.de/suse-liberty-linux/openqa-tests-sll/-/tree/master/lib/Utils/PackageManager</a></p>
<p>Example in test code:</p>
<pre><code>$testapi::distri->get_package_manager()->install_package("ltp")
</code></pre>
<p>As you can see, test code just contained universal installation command, which was distro independent.</p>
<a name="2-Existing-trup_call-function-needs-root-console"></a>
<h5 >2. Existing <code>trup_call</code> function needs <code>root-console</code><a href="#2-Existing-trup_call-function-needs-root-console" class="wiki-anchor">¶</a></h5>
<p>It means that code with <code>$self->select_serial_terminal</code> doesn't work, console change needs to be done.</p>
<p>You can find this pattern in the code:</p>
<pre><code>select_console 'root-console';
trup_call("--continue pkg $cmd", timeout => 2000);
</code></pre>
<p>Is there a way to fix that? <code>trup_call</code> should be console independent.</p>
<a name="3-Support-for-transactional-command-in-script_run"></a>
<h5 >3. Support for transactional command in script_run<a href="#3-Support-for-transactional-command-in-script_run" class="wiki-anchor">¶</a></h5>
<p>We can run commands on the transaction system in the snapshot via <code>transactional-update -c -d --quiet run</code>.<br>
For example, we install something, want to just check something , but we can't use normal <code>script_run</code>, because it will run on booted snapshot.</p>
<p>Would be worth to have something like <code>script_run("COMMAND", transactional => [is_transactional| any other condition | 1])</code> which would wrap command in case we want transactional approach?</p>