action #161150
open[SLE-Micro] Move image-related tests back to QE-C
0%
Description
Recently we moved all SLEM tests except for container-engine tests to QE-Core. We realized that image-related tests should in the domain of QE-C so we need to transfer those test runs now back to QE-C.
https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities lists the test coverage for image-related tests we should cover.
For QE-C this means that we need to extend our existing test runs, especially the image related ones, to the tests above.
Jobs groups that we need to check:
- SL Micro Image config
- Maintenance: SLE Micro / Core Maintenance Update -> Maintenance: SLE Micro / Container Maintenance Updates.
- SL Micro Product Increments - Containers
Note that this is not about moving the whole test suite, but to ensure that our test runs contain the tests listed in https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities
Steps¶
- Ensure that the tests listed in https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities are scheduled in the QE-C image validation
- Contact QE-Core and let them know that we established coverage
Acceptance criteria¶
- AC1: Image-related tests from https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities are being part out our image-verification test runs.
- AC2: Image-related tests from https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities are being part out our maintenance test runs.
Checklist
- MicroOS-Image-Updates
- MicroOS-Image-RT-Updates
- DVD-Updates
- Default-Updates
- Default-RT-Updates
- Default-SelfInstall-Updates
- Default-RT-SelfInstall-Updates
Updated by mdati about 2 months ago
- Checklist item MicroOS-Image-Updates added
- Checklist item MicroOS-Image-RT-Updates added
- Checklist item DVD-Updates added
- Checklist item Default-Updates added
- Checklist item Default-RT-Updates added
- Checklist item Default-SelfInstall-Updates added
- Checklist item Default-RT-SelfInstall-Updates added
- Status changed from Workable to In Progress
- Assignee set to mdati
Flavors checklist added
Updated by mdati about 2 months ago
- Status changed from In Progress to Workable
temporary on an more urgent task.
Updated by ph03nix about 2 months ago
- Status changed from Workable to In Progress
Updated by ph03nix about 1 month ago
- Status changed from In Progress to Workable
Updated by mdati about 1 month ago · Edited
MR 1977 to refactor the template in order to improve maintenance, using anchors where same settings used: eventual changes in the anchor reflect where called: https://gitlab.suse.de/qac/qac-openqa-yaml/-/merge_requests/1977 MERGED
MR 1974 to add in 420 the tests slem_image_default
_test from Core group 534: https://gitlab.suse.de/qac/qac-openqa-yaml/-/merge_requests/1974#note_700056
The original test name - slem_image_default still is in the Core group 534, then until deleted, cannot be used same name. I renamed it as slem_image_default_test and created test suite same name: CI passed ok.
When new tests will be well defined, we can remove duplicates and switch back to the original test name and suite for gr.420, if needed.
Updated by ph03nix about 1 month ago
- Description updated (diff)
Updated description to reflect the current status.
Updated by mdati about 1 month ago · Edited
After clarifications, a comment to note 17: NO test removal to consider now, only adding tests in group 420, checking coverage responsibilities correctly implemented.
Updated by mdati about 1 month ago · Edited
Analysis of slem_image_default_test
, in MR1974:
Looking at the osado test code up to date, the entry function for group 420 is in the lib/main_micro_alp.pm, the load_tests()
routine.
Focusing on x86_64
first, The code flow of the new test slem_image_default_test
, based on current settings provided in yaml of qec gr.420, a.t.m. nearly is the same as the test slem_image_defaut
in Core’s group 534, apart enable_selinux, so, placing teams compentences side by side, from coverage table named above, the sub load_tests() implements:
ROUTINE | MODULE | QEC | CORE | Condition |
---|---|---|---|---|
load_boot_from_disk_tests | BOOT_HDD_IMAG = 1 | |||
microos/disk_boot | X | FIRST_BOOT_CONFIG else | ||
load_config_tests | ||||
transactional/host_config | X | |||
rt/rt_is_realtime | X | when is_rt | ||
transactional/enable_selinux | X | SELINUX ok in grp 420 | ||
console/suseconnect_scc | X | |||
transactional/install_updates | X | |||
load_common_tests | else | |||
microos/networking | X | |||
microos/libzypp_config | X | |||
microos/image_checks | X | is image | ||
microos/one_line_checks | X | |||
microos/services_enabled | X | |||
microos/cockpit_service | X | SCC_REGISTER ok | ||
console/perl_bootloader | - | - | ||
load_transactional_tests | else | |||
transactional/disable_timers | X | |||
transactional/filesystem_ro | X | |||
transactional/trup_smoke | X | X | ||
microos/patterns | X | |||
transactional/transactional_update | X | |||
transactional/rebootmgr | X | |||
transactional/health_check | X | when BOOTLOADER==grub2 | ||
load_journal_check_tests | ||||
console/journal_check | - | - | ||
shutdown/shutdown | - | - |
LEGEND
Sign | Value |
---|---|
X | assigned |
- | undefined |
This is evident from test https://openqa.suse.de/tests/16103617 in group 534
Updated by mloviska about 1 month ago
transactional/transactional_update
is not needed for our case
Updated by mdati about 1 month ago · Edited
Update: with MR 1977 MERGED, the new added tests slem_image_default_test
correctly run and all PASS OK,
see: https://openqa.suse.de/tests/overview?test=slem_image_default_test&groupid=420, i.e. https://openqa.suse.de/tests/16186379
But the test flow still is the full set in https://progress.opensuse.org/issues/161150#note-20, including both QEC + CORE modules.
PR 20797 ongoing to select ownership run: to check the effect, and see the QEC flow only, we run VR clones of new tests in the CASEDIR branch of the PR, adding QEC_SLEM_TESTS_FILTER=1
.
The VRs Pass and run the expected modules only.
Updated by mloviska about 1 month ago · Edited
Basically, the structure of image config tests should be following:
- load_boot_from_disk_tests
- load_config_tests
- load_image_check_tests
- load_journal_check_tests
The point 3, can be implemented as EXTRA or load_extra_tests. In the worst scenario, it can be a single function but again, that is not really of do not repeat yourself method.
We definitely need to rework the current test load structure, so we split the tests into more specific and hopefully self-explanatory functions. Currently, load_config_tests
, load_common_tests
and load_transactional_tests
( there might be more cases except of these ) are scheduling a mixture of tests that are not always topic coherent. In a single build, not everyone needs to verify whether libzypp is configured as expected etc
Updated by mdati about 1 month ago
I'll set PR 20797 in draft for now and study the note and possible evolution.
Updated by mdati 26 days ago · Edited
To better catch the structure of the SLE-Micro tests and go forward with the elaboration of the coverage/responsibility, I prepared an UML flow diagram of the main_micro_alp
module and published the picture in our Confluence pages, here:
https://confluence.suse.com/display/qasle/SLE+Micro+tests+diagrams.
The actual code version that rendered the pictures is visible here: https://github.com/m-dati/openqa-uml-view/blob/slem_uml/puml/lib/main_micro_alp.puml.
This, to help visualizing the logic status and let ideas to grow, for next updates.