Project

General

Profile

Actions

action #161150

open

[SLE-Micro] Move image-related tests back to QE-C

Added by ph03nix 8 months ago. Updated 26 days ago.

Status:
In Progress
Priority:
High
Assignee:
Target version:
-
Start date:
2024-05-29
Due date:
% Done:

0%

Estimated time:
Tags:

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:

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

  1. Ensure that the tests listed in https://confluence.suse.com/display/~jlausuch/SL+Micro+coverage+responsibilities are scheduled in the QE-C image validation
  2. Contact QE-Core and let them know that we established coverage

Acceptance criteria


Checklist

  • MicroOS-Image-Updates
  • MicroOS-Image-RT-Updates
  • DVD-Updates
  • Default-Updates
  • Default-RT-Updates
  • Default-SelfInstall-Updates
  • Default-RT-SelfInstall-Updates
Actions #1

Updated by ph03nix 8 months ago

I will work on this but it might take some time until I can start.

Actions #2

Updated by ph03nix 7 months ago

  • Status changed from In Progress to Workable
  • Assignee deleted (ph03nix)

Currently busy with other tasks, unassigned myself.

Actions #3

Updated by ph03nix 3 months ago

  • Priority changed from Normal to High
Actions #4

Updated by ph03nix 3 months ago

  • Project changed from Containers and images to 208
Actions #5

Updated by ph03nix 3 months ago

  • Tags set to MinimalVM
Actions #6

Updated by ph03nix 3 months ago

  • Tags changed from MinimalVM to slem
  • Subject changed from [SL-Micro] Move image-related tests back to QE-C to [SLE-Micro] Move image-related tests back to QE-C
Actions #7

Updated by ph03nix 3 months ago

  • Tags changed from slem to MinimalVM
Actions #8

Updated by ph03nix 3 months ago

  • Project changed from 208 to Containers and images
Actions #9

Updated by ph03nix 3 months ago

  • Tags changed from MinimalVM to slem
Actions #10

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

Actions #11

Updated by mdati about 2 months ago

  • Status changed from In Progress to Workable

temporary on an more urgent task.

Actions #12

Updated by ph03nix about 2 months ago

  • Status changed from Workable to In Progress
Actions #13

Updated by ph03nix about 1 month ago

  • Assignee deleted (mdati)
Actions #14

Updated by ph03nix about 1 month ago

  • Status changed from In Progress to Workable
Actions #15

Updated by mdati about 1 month ago

  • Status changed from Workable to In Progress

Activity restarted

Actions #16

Updated by mdati about 1 month ago

  • Assignee set to mdati
Actions #17

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.

Actions #18

Updated by ph03nix about 1 month ago

  • Description updated (diff)

Updated description to reflect the current status.

Actions #19

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.

Actions #20

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

Actions #21

Updated by mloviska about 1 month ago

transactional/transactional_update is not needed for our case

Actions #22

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.

Actions #23

Updated by mloviska about 1 month ago · Edited

Basically, the structure of image config tests should be following:

  1. load_boot_from_disk_tests
  2. load_config_tests
  3. load_image_check_tests
  4. 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

Actions #24

Updated by mdati about 1 month ago

I'll set PR 20797 in draft for now and study the note and possible evolution.

Actions #25

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.

Actions

Also available in: Atom PDF