action #125594
closedcoordination #121864: [epic] Split and enhance test modules in migrations
Split patch_sle into several test modules
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.
- Registration: we need register base system and select modules and extensions before update. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/18
- Patching: install the patches for update system to latest. https://openqa.nue.suse.com/tests/10561202#step/patch_sle/90
- 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
- Remove old repos: There are some old repos left from installation, we need clean them.
- 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.
Updated by JERiveraMoya over 1 year ago
- Description updated (diff)
- Status changed from New to Workable
- Target version set to Current
- Parent task set to #121864
Updated by zoecao over 1 year ago
- Status changed from Workable to In Progress
- Assignee set to zoecao
Updated by JERiveraMoya over 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.
Updated by zoecao over 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
Updated by zoecao over 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
Updated by rainerkoenig over 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?
Updated by zoecao over 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 useupdate/patch_sle
(found 14 of them) and maybe also do something about main.pm which also schedules this module byloadtest 'update/patch_sle';
when no YAML file is there. Are we planning to remove the oldpatch_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.
Updated by leli over 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 useupdate/patch_sle
(found 14 of them) and maybe also do something about main.pm which also schedules this module byloadtest 'update/patch_sle';
when no YAML file is there. Are we planning to remove the oldpatch_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. :)
Updated by zoecao over 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.
Updated by zoecao over 1 year ago
MR to add the test suite to Migration dev job group:
https://gitlab.suse.de/coolgw/wegao-test/-/merge_requests/284
Updated by zoecao over 1 year 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#
Updated by leli over 1 year 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.
Updated by zoecao over 1 year ago
Updating PR to resolve some failures in VRs:
https://openqa.suse.de/tests/overview?arch=&flavor=Migration-from-SLE15-SPx&machine=&test=&modules=&module_re=&distri=sle&groupid=251&build=102.1&version=15-SP5#
Updated by zoecao over 1 year ago
The VRs are pass, updated the PR:
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/16737
Updated by zoecao over 1 year ago
Summarize te PR ans MR here:
PR: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/16737
MR: https://gitlab.suse.de/coolgw/wegao-test/-/merge_requests/284
Updated by zoecao over 1 year ago
- Status changed from In Progress to Resolved
The PR and MR are merged, close here, thanks.