action #132971
closedcoordination #152769: [epic] Reduction of yaml files in YaST installations
Kick off reduction of yaml files in YaM scope, starting with usb_install
Description
Motivation¶
As starting point we have 429 yaml files in schedule/yast
after applying solution based on default without further adjustment. There is plenty of space for improvement and now we are in position to tackle individual test test suites without affecting much or break other areas.
One of the main motivation is to have a test case that can be run across products, sle, sle micro, openSUSE Tumblewee, openSUSE Leap, etc, so first we need to create `schedule/yam/test_cases/ . Inside this folder we will place our yaml that will be valid (in theory) for each product (we have to see what techniques we will use in each case to make this possible and we will document those).
This are all the installation, (we didn't go too far how to apply this for other than installation that contains steps and it fits quite well, so for now the scope are only the interactive installation, not AutoYaST ones):
https://openqa.suse.de/tests/overview?arch=&flavor=&machine=&test=&modules=accept_license&module_re=&distri=sle&version=15-SP5&build=102.1&groupid=129#
Let's go in the order that are displayed for example, first one is USBInstall, for some strange human mistake the test suites are in the following paths:
schedule/yast/sle/usb_install_x86_64.yaml
schedule/yast/sle/usb_install.yaml
When we will find vars, we will check if they are really needed and if we cannot drop them, we will move them to job group yaml configuration.
vars:
DESKTOP: textmode
USBBOOT: 1
YUI_REST_API: 1
The difference between these two test suites is in the following.
registration:
- installation/registration/skip_registration
extension_module_selection:
- installation/module_selection/skip_module_selection
add_on_product:
- installation/add_on_product_installation/accept_add_on_installation
default_systemd_target:
- installation/installation_settings/validate_default_target
This differences are not related with what is tested, the test case shouldn't include it. Let's check one by one:
- Test modules skip_module_selection, skip_module_selection, and accept_add_on_installation are default behaviors of the flavor Full, the most simple solution is to create a default file for Full medium.
- For default_systemd_target we shouldn't do this check everywhere as we do now, only makes sense to do it in a few test suite, one textmode, one with gnome, and somewhere else, but not everywhere, we could remove it and file a ticket to apply this in the whole YaST group.
We were lucky with this one, but in another test suite we might prefer code solution, because in this one was a default behaviour, the way to use the Full medium should always be to skip registration and register later after installation, but other cases might have steps unrelated with defaults. Nevertheless for this case there was not gain on file reduction, we have 2 and we will have 2, but there was gain on having a clear test suite to use.
Acceptance criteria¶
AC1: Kick off the reduction of yaml files using the test suite picked above.
AC2: File additional tickets needed to get rid of the differences (very important not forget!)
AC3: Create documentation in Confluence about the strategies used to reduce number of files, like a check list.
Updated by rfan1 about 1 year ago
- Status changed from Workable to In Progress
After investigating the yast tests a bit, I can find some yaml
schedule files can be reduced, let me try to start on it.
1st step:
usb_install
- Move all
vars
and all setting defined in openQAtest suites
to job group setting then we can get all settings in a single place - Use single yaml schedule fie for
usb_install
and move it toschedule/yam/test_cases
directory - All VRs can be seen at VRs
MR:https://gitlab.suse.de/qsf-y/qa-sle-functional-y/-/merge_requests/539
PR: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/18043
Updated by rfan1 about 1 year ago
- Copied to action #138383: Don't do 'default_systemd_target' check every where added
Updated by rfan1 about 1 year ago
Created ticket https://progress.opensuse.org/issues/138383 as per below requirement:
For default_systemd_target we shouldn't do this check everywhere as we do now, only makes sense to do it in a few test suite, one textmode, one with gnome, and somewhere else, but not everywhere, we could remove it and file a ticket to apply this in the whole YaST group.
Created the below confluence page to document the processes:
https://confluence.suse.com/pages/viewpage.action?pageId=1364165336
Created another ticket for other installation scenarios:
https://progress.opensuse.org/issues/138473
Updated by rfan1 about 1 year ago
- Copied to action #138473: Kick off reduction of yaml files in YaM scope for other interactive installation tests except USBInstall added
Updated by rfan1 about 1 year ago
- Status changed from In Progress to Feedback
All tests passed in the latest openQA run.
Updated by JERiveraMoya 11 months ago
- Parent task changed from #119836 to #152769