Project

General

Profile

Actions

action #125594

closed

coordination #121864: [epic] Split and enhance test modules in migrations

Split patch_sle into several test modules

Added by leli about 1 year ago. Updated 10 months ago.

Status:
Resolved
Priority:
Low
Assignee:
Target version:
Start date:
2023-03-08
Due date:
% Done:

0%

Estimated time:

Description

Motivation

There are many functions integrated in patch_sle which make it more and more complicated.
At least we can split it to registration, patching, de-registration, remove old repos, remove dropped modules etc.

  1. Registration: we need register base system and select modules and extensions before update. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/18
  2. Patching: install the patches for update system to latest. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/90
  3. De-registration: For offline media migration test, we need de-register system to simulate user to upgrade via DVD. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/145 For offline ProxySCC migration test, this will skip. https://openqa.nue.suse.com/tests/10564350#step/patch_sle/160
  4. Remove old repos: There are some old repos left from installation, we need clean them.
  5. Remove dropped modules: Some modules dropped on target system, so we need remove them before migration. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/128

Acceptance criteria

AC1: Split patch_sle into several test modules
AC2: No other refactor or change of codes are applied (just focus on splitting functionality, later we will tackle some specific parts).

Suggestions

Tackle some simple migration and replace those module in single scenario. We might need several iteration of this about how to split in a more readable way.

Actions #1

Updated by JERiveraMoya about 1 year ago

  • Description updated (diff)
  • Status changed from New to Workable
  • Target version set to Current
  • Parent task set to #121864
Actions #2

Updated by zoecao about 1 year ago

  • Status changed from Workable to In Progress
  • Assignee set to zoecao
Actions #3

Updated by JERiveraMoya about 1 year ago

For this ticket the main goal is not refactor or split things, but make things so clear that someone without knowledge of migration could understand the steps, just checking openQA.
So it is very important, naming, visualization and for example share with the squad several times when you have done 1 or 2 split to get feedback.

Actions #4

Updated by zoecao about 1 year ago

Created a branch for this ticket, running VRs to see whether it works:
https://openqa.suse.de/tests/overview?distri=sle&version=15-SP5&build=81.1&groupid=251

Actions #5

Updated by zoecao about 1 year ago

Based on the testing steps, I split it to the following test modules:

  • migration_setup: including disable installation repos
  • register_origin_system: to register the origin system
  • patch_system: including patch system, reboot and install required patterns, for example patterns of pcm.
  • remove_dropped_modules: for example deregister ltss, python2 module
  • deregistration_system: scheduled for media cases. PR for this ticket: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/16737
Actions #6

Updated by rainerkoenig about 1 year ago

Looking at the ticket and the PR makes me ask some questions. If I understand this correctly, this ticket should be part of a bigger task that migrates from patch_sle to a set of modules. So at the end we would need to adapt all YAML schedules that use update/patch_sle (found 14 of them) and maybe also do something about main.pm which also schedules this module by loadtest 'update/patch_sle'; when no YAML file is there. Are we planning to remove the old patch_sle sooner or later in that process?

Actions #7

Updated by zoecao about 1 year ago

rainerkoenig wrote:

Looking at the ticket and the PR makes me ask some questions. If I understand this correctly, this ticket should be part of a bigger task that migrates from patch_sle to a set of modules. So at the end we would need to adapt all YAML schedules that use update/patch_sle (found 14 of them) and maybe also do something about main.pm which also schedules this module by loadtest 'update/patch_sle'; when no YAML file is there. Are we planning to remove the old patch_sle sooner or later in that process?

I don't know the whole plan for patch_sle. And yes you are right, if we remove it, then we need to update the main.pm and adapt all YAMLs which scheduled the update/patch_sle. And updating main.pm is complicated.
If we don't remove patch_sle, then we can use YAML to schedule the modules for migration cases.

Actions #8

Updated by leli about 1 year ago

rainerkoenig wrote:

Looking at the ticket and the PR makes me ask some questions. If I understand this correctly, this ticket should be part of a bigger task that migrates from patch_sle to a set of modules. So at the end we would need to adapt all YAML schedules that use update/patch_sle (found 14 of them) and maybe also do something about main.pm which also schedules this module by loadtest 'update/patch_sle'; when no YAML file is there. Are we planning to remove the old patch_sle sooner or later in that process?

From my point of view, this ticket should update main.pm and yaml schedule together, run enough VRs and update PR then let more related people to review, no hurry. :)

Actions #9

Updated by zoecao about 1 year ago

This is the current status of this ticket, split patch_sle to following test modules.

  • migration_setup: including disable installation repos
  • register_origin_system: to register the origin system
  • patch_system: including patch system, reboot and install required patterns, for example patterns of pcm.
  • remove_dropped_modules: for example deregister ltss, python2 module
  • deregistration_system: scheduled for media cases.

This is the PR for this ticket:
PR for this ticket: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/16737

And as we discussed in meeting, I'll add a test suite (using the test modules above) to Migration:Dev job group.

Actions #10

Updated by zoecao about 1 year ago

MR to add the test suite to Migration dev job group:
https://gitlab.suse.de/coolgw/wegao-test/-/merge_requests/284

Actions #11

Updated by JERiveraMoya 12 months ago

  • Priority changed from Normal to Low
Actions #12

Updated by zoecao 11 months ago

I continue to modify the PR now, there are some failures on the verification runs, will resolve them by updating the pr.
VR: https://openqa.suse.de/tests/overview?arch=&flavor=Migration-from-SLE15-SPx&machine=&test=&modules=&module_re=&distri=sle&version=15-SP5&build=102.1&groupid=251#

Actions #13

Updated by leli 11 months ago

@zoecao, As we talked offline, you will update the status when solved the VR issue and currently no enough time for it. That's fine, just please update the status in time so that others would know what you are doing for the ticket.

Actions #17

Updated by zoecao 10 months ago

  • Status changed from In Progress to Resolved

The PR and MR are merged, close here, thanks.

Actions

Also available in: Atom PDF