Project

General

Profile

Actions

action #132971

closed

coordination #152769: [epic] Reduction of yaml files in YaST installations

Kick off reduction of yaml files in YaM scope, starting with usb_install

Added by JERiveraMoya 10 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Start date:
2023-07-18
Due date:
% Done:

0%

Estimated time:

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.


Related issues 2 (0 open2 closed)

Copied to qe-yam - action #138383: Don't do 'default_systemd_target' check every whereResolvedsyrianidou_sofia2023-07-18

Actions
Copied to qe-yam - action #138473: Kick off reduction of yaml files in YaM scope for other interactive installation tests except USBInstallRejected2023-07-18

Actions
Actions #1

Updated by rfan1 7 months 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

  1. Move all vars and all setting defined in openQA test suites to job group setting then we can get all settings in a single place
  2. Use single yaml schedule fie for usb_install and move it to schedule/yam/test_cases directory
  3. 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

Actions #2

Updated by rfan1 7 months ago

  • Assignee set to rfan1
Actions #3

Updated by rfan1 7 months ago

  • Copied to action #138383: Don't do 'default_systemd_target' check every where added
Actions #4

Updated by rfan1 7 months 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

Actions #5

Updated by rfan1 7 months ago

  • Copied to action #138473: Kick off reduction of yaml files in YaM scope for other interactive installation tests except USBInstall added
Actions #6

Updated by rfan1 6 months ago

  • Status changed from In Progress to Feedback

All tests passed in the latest openQA run.

Actions #7

Updated by rfan1 6 months ago

  • Status changed from Feedback to Resolved
Actions #8

Updated by JERiveraMoya 5 months ago

  • Parent task changed from #119836 to #152769
Actions

Also available in: Atom PDF