Skip to content

Commit 8a2dd01

Browse files
committed
pes_events_scanner: Ignore Leapp related PES events
1 parent 2340bd5 commit 8a2dd01

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,15 @@ def apply_transaction_configuration(source_pkgs):
480480
return source_pkgs_with_conf_applied
481481

482482

483+
def remove_leapp_related_events(events):
484+
leapp_pkgs = [
485+
'leapp', 'leapp-deps', 'leapp-upgrade-el7toel8', 'leapp-upgrade-el8toel9',
486+
'leapp-upgrade-el7toel8-deps', 'leapp-upgrade-el8toel9-deps','python2-leapp',
487+
'python3-leapp', 'snactor', 'cockpit-leapp'
488+
]
489+
return [e for e in events if all(pkg.name not in leapp_pkgs for pkg in e.in_pkgs)]
490+
491+
483492
def process():
484493
# Retrieve data - installed_pkgs, transaction configuration, pes events
485494
events = get_pes_events('/etc/leapp/files', 'pes-events.json')
@@ -494,6 +503,7 @@ def process():
494503
# packages of the target system, so we can distinguish what needs to be repomapped
495504
repoids_of_source_pkgs = {pkg.repository for pkg in source_pkgs}
496505

506+
events = remove_leapp_related_events(events)
497507
events = remove_undesired_events(events, releases)
498508

499509
# Apply events - compute what packages should the target system have

repos/system_upgrade/common/actors/peseventsscanner/tests/test_pes_event_scanner.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,3 +402,62 @@ def test_pkgs_are_demodularized_when_crossing_major_version(monkeypatch):
402402
}
403403
assert demodularized_pkgs == {Package('demodularized', 'repo', ('module-demodularized', 'stream'))}
404404
assert target_pkgs == expected_target_pkgs
405+
406+
407+
def test_remove_leapp_related_events():
408+
# these are just hypothetical and not necessarily correct
409+
in_events = [
410+
Event(1, Action.PRESENT, {Package('leapp', 'repoid-rhel7', None)}, {Package('leapp', 'repoid-rhel8', None)},
411+
(7, 0), (8, 0), []),
412+
413+
Event(1, Action.RENAMED, {Package('leapp-deps', 'repoid-rhel7', None)}, {Package('leapp-deps', 'repoid-rhel8', None)},
414+
(7, 0), (8, 0), []),
415+
Event(1, Action.RENAMED, {Package('leapp-upgrade-el7toel8', 'repoid-rhel7', None)}, {Package('leapp-upgrade-el8toel9', 'repoid-rhel8', None)},
416+
(7, 0), (8, 0), []),
417+
Event(2, Action.RENAMED, {Package('leapp-upgrade-el7toel8-deps', 'repoid-rhel7', None)}, {Package('leapp-upgrade-el8toel9-deps', 'repoid-rhel8', None)},
418+
(7, 0), (8, 0), []),
419+
Event(2, Action.PRESENT, {Package('cockpit-leapp', 'repoid-rhel7', None)}, {Package('cockpit-leapp', 'repoid-rhel8', None)},
420+
(7, 0), (8, 0), []),
421+
Event(2, Action.PRESENT, {Package('snactor', 'repoid-rhel7', None)}, {Package('snactor', 'repoid-rhel8', None)},
422+
(7, 0), (8, 0), []),
423+
Event(2, Action.REPLACED, {Package('python2-leapp', 'repoid-rhel7', None)}, {Package('python3-leapp', 'repoid-rhel8', None)},
424+
(7, 0), (8, 0), []),
425+
426+
Event(1, Action.DEPRECATED, {Package('leapp-upgrade-el8toel9', 'repoid-rhel8', None)}, {Package('leapp-upgrade-el8toel9', 'repoid-rhel9', None)},
427+
(8, 0), (9, 0), []),
428+
Event(2, Action.REMOVED, {Package('leapp-upgrade-el8toel9-deps', 'repoid-rhel8', None)}, {}, (8, 0), (9, 0), []),
429+
Event(2, Action.PRESENT, {Package('cockpit-leapp', 'repoid-rhel8', None)}, {Package('cockpit-leapp', 'repoid-rhel9', None)},
430+
(7, 0), (8, 0), []),
431+
Event(1, Action.RENAMED, {Package('leapp-deps', 'repoid-rhel8', None)}, {Package('leapp-deps', 'repoid-rhel9', None)},
432+
(8, 0), (9, 0), []),
433+
Event(2, Action.PRESENT, {Package('snactor', 'repoid-rhel8', None)}, {Package('snactor', 'repoid-rhel9', None)},
434+
(8, 0), (9, 0), []),
435+
Event(2, Action.REMOVED, {Package('python3-leapp', 'repoid-rhel8', None)}, {Package('snactor', 'repoid-rhel9', None)},
436+
(8, 0), (9, 0), []),
437+
438+
Event(2, Action.PRESENT, {Package('other-pkg', 'repoid-rhel8', None)}, {Package('other-pkg', 'repoid-rhel9', None)},
439+
(7, 0), (8, 0), []),
440+
Event(2, Action.PRESENT, {Package('other-pkg-with-leapp-in-the-name', 'repoid-rhel7', None)}, {Package('other-pkg-with-leapp-in-the-name', 'repoid-rhel8', None)},
441+
(7, 0), (8, 0), []),
442+
443+
# multiple leapp packages in in_pkgs
444+
Event(1, Action.MERGED, {Package('leapp-upgrade-el7toel8', 'repoid-rhel7', None), Package('leapp-upgrade-el7toel8-deps', 'repoid-rhel7', None)},
445+
{Package('leapp-upgrade-el7toel8', 'repoid-rhel8', None)}, (7, 0), (8, 0), []),
446+
447+
# multiple leapp packages in out_pkgs
448+
Event(1, Action.SPLIT, {Package('leapp-upgrade-el7toel8', 'repoid-rhel7', None)},
449+
{Package('leapp-upgrade-el7toel8', 'repoid-rhel8', None), Package('leapp-upgrade-el7toel8-deps', 'repoid-rhel7', None)}, (7, 0), (8, 0), []),
450+
451+
# leapp and other pkg in in_pkgs
452+
Event(1, Action.MERGED, {Package('leapp', 'repoid-rhel7', None), Package('other-pkg', 'repoid-rhel7', None)}, {Package('leapp', 'repoid-rhel8', None), },
453+
(7, 0), (8, 0), []),
454+
]
455+
expected_out_events = [
456+
Event(2, Action.PRESENT, {Package('other-pkg', 'repoid-rhel8', None)}, {Package('other-pkg', 'repoid-rhel9', None)},
457+
(7, 0), (8, 0), []),
458+
Event(2, Action.PRESENT, {Package('other-pkg-with-leapp-in-the-name', 'repoid-rhel7', None)}, {Package('other-pkg-with-leapp-in-the-name', 'repoid-rhel8', None)},
459+
(7, 0), (8, 0), []),
460+
]
461+
462+
out_events = pes_events_scanner.remove_leapp_related_events(in_events)
463+
assert out_events == expected_out_events

0 commit comments

Comments
 (0)