forked from rpms/leapp-repository
Merge pull request 'Rebase on upstream most recent version 0.22.0-4' (#23) from ykohut/leapp-repository:a8-elevate-0220 into a8-elevate-0220
Reviewed-on: rpms/leapp-repository#23
This commit is contained in:
commit
a72fc27137
@ -0,0 +1,91 @@
|
|||||||
|
From 397975d6b63ff70755ea41b8ec8fc413966218e4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
Date: Fri, 30 May 2025 14:13:35 +0200
|
||||||
|
Subject: [PATCH 38/43] Makefile: Non-zero exit code on failed tests in
|
||||||
|
container
|
||||||
|
|
||||||
|
Previously all exit codes from execution of tests inside
|
||||||
|
container have been ignored and make command ended with zero always.
|
||||||
|
|
||||||
|
Also drop testing of el7toel8 repository for Python 3.6 on RHEL 8.
|
||||||
|
The test started to fail for unknown reason (changes in pytest or
|
||||||
|
another nonstandard python module?). As we are in the middle of
|
||||||
|
dropping all el7toel8 and python2 related content, let's just drop
|
||||||
|
it. Keeping the full removal of Py2 and el7toel8 content on separate
|
||||||
|
PR.
|
||||||
|
---
|
||||||
|
Makefile | 29 ++++++++++++++++-------------
|
||||||
|
1 file changed, 16 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index ceb013ab..6769b2f3 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -164,9 +164,9 @@ help:
|
||||||
|
@echo " PR=7 SUFFIX='my_additional_suffix' make <target>"
|
||||||
|
@echo " MR=6 COPR_CONFIG='path/to/the/config/copr/file' make <target>"
|
||||||
|
@echo " ACTOR=<actor> TEST_LIBS=y make test"
|
||||||
|
- @echo " BUILD_CONTAINER=el7 make build_container"
|
||||||
|
+ @echo " BUILD_CONTAINER=rhel8 make build_container"
|
||||||
|
@echo " TEST_CONTAINER=f34 make test_container"
|
||||||
|
- @echo " CONTAINER_TOOL=docker TEST_CONTAINER=rhel7 make test_container_no_lint"
|
||||||
|
+ @echo " CONTAINER_TOOL=docker TEST_CONTAINER=rhel8 make test_container_no_lint"
|
||||||
|
@echo ""
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@@ -459,30 +459,33 @@ test_container:
|
||||||
|
$(_CONTAINER_TOOL) ps -q -f name=$$_CONT_NAME && { $(_CONTAINER_TOOL) kill $$_CONT_NAME; $(_CONTAINER_TOOL) rm $$_CONT_NAME; }; \
|
||||||
|
$(_CONTAINER_TOOL) run -di --name $$_CONT_NAME -v "$$PWD":/repo:Z -e PYTHON_VENV=$$_VENV $$TEST_IMAGE && \
|
||||||
|
$(_CONTAINER_TOOL) exec $$_CONT_NAME rsync -aur --delete --exclude "tut*" /repo/ /repocopy && \
|
||||||
|
+ export res=0; \
|
||||||
|
case $$_VENV in \
|
||||||
|
python2.7) \
|
||||||
|
- TEST_CONT_IPU=el7toel8 $(MAKE) _test_container_ipu; \
|
||||||
|
+ TEST_CONT_IPU=el7toel8 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
;;\
|
||||||
|
python3.6) \
|
||||||
|
- TEST_CONT_IPU=el7toel8 $(MAKE) _test_container_ipu; \
|
||||||
|
- TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \
|
||||||
|
+ echo "INFO: Skipping testing of el7toel8 repository. Obsoleted"; \
|
||||||
|
+ TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
;; \
|
||||||
|
python3.9) \
|
||||||
|
- TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \
|
||||||
|
- TEST_CONT_IPU=el9toel10 $(MAKE) _test_container_ipu; \
|
||||||
|
+ TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
+ TEST_CONT_IPU=el9toel10 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
;; \
|
||||||
|
python3.12) \
|
||||||
|
- TEST_CONT_IPU=el9toel10 $(MAKE) _test_container_ipu; \
|
||||||
|
+ TEST_CONT_IPU=el9toel10 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
- TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu; \
|
||||||
|
- ;;\
|
||||||
|
+ TEST_CONT_IPU=el8toel9 $(MAKE) _test_container_ipu || res=1; \
|
||||||
|
+ ;; \
|
||||||
|
esac; \
|
||||||
|
$(_CONTAINER_TOOL) kill $$_CONT_NAME; \
|
||||||
|
- $(_CONTAINER_TOOL) rm $$_CONT_NAME
|
||||||
|
+ $(_CONTAINER_TOOL) rm $$_CONT_NAME; \
|
||||||
|
+ [ $$res -ne 0 ] && echo "TIP: If you do not see an error in the end of logs, scroll up. Multiple tests could be executed." ; \
|
||||||
|
+ exit $$res
|
||||||
|
|
||||||
|
test_container_all:
|
||||||
|
- @for container in "f34" "rhel7" "rhel8"; do \
|
||||||
|
+ @for container in "f34" "rhel7" "rhel8" "rhel9"; do \
|
||||||
|
TEST_CONTAINER=$$container $(MAKE) test_container || exit 1; \
|
||||||
|
done
|
||||||
|
|
||||||
|
@@ -490,7 +493,7 @@ test_container_no_lint:
|
||||||
|
@_TEST_CONT_TARGET="test_no_lint" $(MAKE) test_container
|
||||||
|
|
||||||
|
test_container_all_no_lint:
|
||||||
|
- @for container in "f34" "rhel7" "rhel8"; do \
|
||||||
|
+ @for container in "f34" "rhel7" "rhel8" "rhel9"; do \
|
||||||
|
TEST_CONTAINER=$$container $(MAKE) test_container_no_lint || exit 1; \
|
||||||
|
done
|
||||||
|
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
@ -0,0 +1,82 @@
|
|||||||
|
From 4e87908b2e17d87b69bcec29ba1e9b777439a0fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
Date: Fri, 30 May 2025 15:02:53 +0200
|
||||||
|
Subject: [PATCH 39/43] CI: Unit-tests: Rename tasks & tests executions
|
||||||
|
|
||||||
|
Previous name have been very long, repeating, and it has been
|
||||||
|
problem to read the whole informatino about what tests are performed
|
||||||
|
as the description has been shortened in WebUI, e.g.:
|
||||||
|
|
||||||
|
Unit Tests / Run unit tests in containers (Run python linters for el8toel9 and common repositories on p...
|
||||||
|
|
||||||
|
Let's change the name so it's shortened and easier read what test
|
||||||
|
has been actually performed. Also, no need to mention that tests are
|
||||||
|
running in container anymore, as we are not running unit-tests outside
|
||||||
|
of the container in upstream. Example of new style names:
|
||||||
|
|
||||||
|
Unit Tests / Run: Linters (python:3.9; repos:el9toel10,common) (pull_request)
|
||||||
|
Unit Tests / Run: Unit Tests (python:3.9; repos:el9toel10,common) (pull_request)
|
||||||
|
---
|
||||||
|
.github/workflows/unit-tests.yml | 18 +++++++++---------
|
||||||
|
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
|
||||||
|
index 37748396..ed82e0e5 100644
|
||||||
|
--- a/.github/workflows/unit-tests.yml
|
||||||
|
+++ b/.github/workflows/unit-tests.yml
|
||||||
|
@@ -9,43 +9,43 @@ on:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
- name: Run unit tests in containers
|
||||||
|
+ name: 'Run: ${{ matrix.scenarios.name }}'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
scenarios:
|
||||||
|
# 9to10
|
||||||
|
- - name: Run unit tests for el9toel10 and common repositories on python 3.12
|
||||||
|
+ - name: 'Unit tests (python:3.12; repos:el9toel10,common)'
|
||||||
|
python: python3.12
|
||||||
|
repos: 'el9toel10,common'
|
||||||
|
container: ubi9
|
||||||
|
- - name: Run python linters for el9toel10 and common repositories on python 3.12
|
||||||
|
+ - name: 'Linters (python:3.12; repos:el9toel10,common)'
|
||||||
|
python: python3.12
|
||||||
|
repos: 'el9toel10,common'
|
||||||
|
container: ubi9-lint
|
||||||
|
- - name: Run unit tests for el9toel10 and common repositories on python 3.9
|
||||||
|
+ - name: 'Unit tests (python:3.9; repos:el9toel10,common)'
|
||||||
|
python: python3.9
|
||||||
|
repos: 'el9toel10,common'
|
||||||
|
container: ubi9
|
||||||
|
- - name: Run python linters for el9toel10 and common repositories on python 3.9
|
||||||
|
+ - name: 'Linters (python:3.9; repos:el9toel10,common)'
|
||||||
|
python: python3.9
|
||||||
|
repos: 'el9toel10,common'
|
||||||
|
container: ubi9-lint
|
||||||
|
# 8to9
|
||||||
|
- - name: Run unit tests for el8toel9 and common repositories on python 3.9
|
||||||
|
+ - name: 'Unit tests (python:3.9; repos:el8toel9,common)'
|
||||||
|
python: python3.9
|
||||||
|
repos: 'el8toel9,common'
|
||||||
|
container: ubi9
|
||||||
|
- - name: Run python linters for el8toel9 and common repositories on python 3.9
|
||||||
|
+ - name: 'Linters (python:3.9; repos:el8toel9,common)'
|
||||||
|
python: python3.9
|
||||||
|
repos: 'el8toel9,common'
|
||||||
|
container: ubi9-lint
|
||||||
|
- - name: Run unit tests for el8toel9 and common repositories on python 3.6
|
||||||
|
+ - name: 'Unit tests (python:3.6; repos:el8toel9,common)'
|
||||||
|
python: python3.6
|
||||||
|
repos: 'el8toel9,common'
|
||||||
|
container: ubi8
|
||||||
|
- - name: Run python linters for el8toel9 and common repositories on python 3.6
|
||||||
|
+ - name: 'Linters (python:3.6; repos:el8toel9,common)'
|
||||||
|
python: python3.6
|
||||||
|
repos: 'el8toel9,common'
|
||||||
|
container: ubi8-lint
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
166
SOURCES/0040-Fix-parsing-of-the-kernel-cmdline.patch
Normal file
166
SOURCES/0040-Fix-parsing-of-the-kernel-cmdline.patch
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
From 2646484407bef15688fb4838c2f61d06f2098f81 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
Date: Wed, 30 Apr 2025 12:54:22 +0200
|
||||||
|
Subject: [PATCH 40/43] Fix parsing of the kernel cmdline
|
||||||
|
|
||||||
|
Original parsing has been splitting string tokens by "=" without a
|
||||||
|
limit, means that e.g.
|
||||||
|
root=UUID=some-id
|
||||||
|
has been split to
|
||||||
|
(root, UUID, some-id)
|
||||||
|
and and stored just "root" and "UUID" strings in the parsed msg,
|
||||||
|
instead of "root" and "UUID=some-id".
|
||||||
|
|
||||||
|
So split the key=value just based on the first occurence of "="
|
||||||
|
instead.
|
||||||
|
|
||||||
|
JIRA: RHELMISC-12490
|
||||||
|
|
||||||
|
Co-Authored-By: Karolina Kula <kkula@redhat.com>
|
||||||
|
---
|
||||||
|
.../common/actors/scankernelcmdline/actor.py | 16 ++---
|
||||||
|
.../libraries/scankernelcmdline.py | 23 +++++++
|
||||||
|
.../tests/test_scankernelcmdline.py | 67 +++++++++++++++++++
|
||||||
|
3 files changed, 94 insertions(+), 12 deletions(-)
|
||||||
|
create mode 100644 repos/system_upgrade/common/actors/scankernelcmdline/libraries/scankernelcmdline.py
|
||||||
|
create mode 100644 repos/system_upgrade/common/actors/scankernelcmdline/tests/test_scankernelcmdline.py
|
||||||
|
|
||||||
|
diff --git a/repos/system_upgrade/common/actors/scankernelcmdline/actor.py b/repos/system_upgrade/common/actors/scankernelcmdline/actor.py
|
||||||
|
index 9f8fef30..2f1a5ae2 100644
|
||||||
|
--- a/repos/system_upgrade/common/actors/scankernelcmdline/actor.py
|
||||||
|
+++ b/repos/system_upgrade/common/actors/scankernelcmdline/actor.py
|
||||||
|
@@ -1,12 +1,12 @@
|
||||||
|
from leapp.actors import Actor
|
||||||
|
-from leapp.libraries.stdlib import run
|
||||||
|
-from leapp.models import KernelCmdline, KernelCmdlineArg
|
||||||
|
+from leapp.libraries.actor import scankernelcmdline
|
||||||
|
+from leapp.models import KernelCmdline
|
||||||
|
from leapp.tags import FactsPhaseTag, IPUWorkflowTag
|
||||||
|
|
||||||
|
|
||||||
|
class ScanKernelCmdline(Actor):
|
||||||
|
"""
|
||||||
|
- No documentation has been provided for the scan_kernel_cmdline actor.
|
||||||
|
+ Scan the kernel command line of the booted system.
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = 'scan_kernel_cmdline'
|
||||||
|
@@ -15,12 +15,4 @@ class ScanKernelCmdline(Actor):
|
||||||
|
tags = (FactsPhaseTag, IPUWorkflowTag)
|
||||||
|
|
||||||
|
def process(self):
|
||||||
|
- cmdline = run(['cat', '/proc/cmdline'])['stdout'].strip()
|
||||||
|
- parameters = []
|
||||||
|
- for parameter in cmdline.split(' '):
|
||||||
|
- if '=' in parameter:
|
||||||
|
- kv = parameter.split('=')
|
||||||
|
- parameters.append(KernelCmdlineArg(key=kv[0], value=kv[1]))
|
||||||
|
- else:
|
||||||
|
- parameters.append(KernelCmdlineArg(key=parameter))
|
||||||
|
- self.produce(KernelCmdline(parameters=parameters))
|
||||||
|
+ scankernelcmdline.parse_cmdline_input()
|
||||||
|
diff --git a/repos/system_upgrade/common/actors/scankernelcmdline/libraries/scankernelcmdline.py b/repos/system_upgrade/common/actors/scankernelcmdline/libraries/scankernelcmdline.py
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..9cffa70e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/repos/system_upgrade/common/actors/scankernelcmdline/libraries/scankernelcmdline.py
|
||||||
|
@@ -0,0 +1,23 @@
|
||||||
|
+from leapp.libraries.stdlib import api, CalledProcessError, run
|
||||||
|
+from leapp.models import KernelCmdline, KernelCmdlineArg
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def get_cmdline_input():
|
||||||
|
+ try:
|
||||||
|
+ cmdline_input = run(['cat', '/proc/cmdline'])['stdout'].strip()
|
||||||
|
+ return cmdline_input
|
||||||
|
+ except (OSError, CalledProcessError):
|
||||||
|
+ api.current_logger().debug('Executing `cat /proc/cmdline` failed', exc_info=True)
|
||||||
|
+ return ''
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def parse_cmdline_input():
|
||||||
|
+ cmdline = get_cmdline_input()
|
||||||
|
+ parameters = []
|
||||||
|
+ for parameter in cmdline.split(' '):
|
||||||
|
+ if '=' in parameter:
|
||||||
|
+ kv = parameter.split('=', 1)
|
||||||
|
+ parameters.append(KernelCmdlineArg(key=kv[0], value=kv[1]))
|
||||||
|
+ else:
|
||||||
|
+ parameters.append(KernelCmdlineArg(key=parameter))
|
||||||
|
+ api.produce(KernelCmdline(parameters=parameters))
|
||||||
|
diff --git a/repos/system_upgrade/common/actors/scankernelcmdline/tests/test_scankernelcmdline.py b/repos/system_upgrade/common/actors/scankernelcmdline/tests/test_scankernelcmdline.py
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..ff79054f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/repos/system_upgrade/common/actors/scankernelcmdline/tests/test_scankernelcmdline.py
|
||||||
|
@@ -0,0 +1,67 @@
|
||||||
|
+import pytest
|
||||||
|
+
|
||||||
|
+from leapp.libraries.actor import scankernelcmdline
|
||||||
|
+from leapp.libraries.common.testutils import CurrentActorMocked, produce_mocked
|
||||||
|
+from leapp.libraries.stdlib import api, CalledProcessError
|
||||||
|
+from leapp.models import KernelCmdline, KernelCmdlineArg
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def mock_cmd_output():
|
||||||
|
+ expected_cmd_output = (
|
||||||
|
+ 'BOOT_IMAGE=(hd0,msdos1)/vmlinuz-xxx root=UUID=some_uid ro console=tty0'
|
||||||
|
+ ' console=ttyS0,115200 rd_NO_PLYMOUTH biosdevname=0 net.ifnames=0 crashkernel=auto'
|
||||||
|
+ )
|
||||||
|
+ return expected_cmd_output
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def test_cmdline_output(monkeypatch):
|
||||||
|
+
|
||||||
|
+ monkeypatch.setattr(scankernelcmdline, 'get_cmdline_input', mock_cmd_output)
|
||||||
|
+ current_actor = CurrentActorMocked(src_ver='8.10', dst_ver='9.6')
|
||||||
|
+ monkeypatch.setattr(api, 'current_actor', current_actor)
|
||||||
|
+ monkeypatch.setattr(api, 'produce', produce_mocked())
|
||||||
|
+
|
||||||
|
+ scankernelcmdline.parse_cmdline_input()
|
||||||
|
+
|
||||||
|
+ expected_params = [KernelCmdlineArg(key=k, value=v) for k, v in [
|
||||||
|
+ ('BOOT_IMAGE', '(hd0,msdos1)/vmlinuz-xxx'),
|
||||||
|
+ ('root', 'UUID=some_uid'),
|
||||||
|
+ ('ro', None),
|
||||||
|
+ ('console', 'tty0'),
|
||||||
|
+ ('console', 'ttyS0,115200'),
|
||||||
|
+ ('rd_NO_PLYMOUTH', None),
|
||||||
|
+ ('biosdevname', '0'),
|
||||||
|
+ ('net.ifnames', '0'),
|
||||||
|
+ ('crashkernel', 'auto')]]
|
||||||
|
+
|
||||||
|
+ expected_output_msg = KernelCmdline(parameters=expected_params)
|
||||||
|
+ assert api.produce.model_instances
|
||||||
|
+ assert expected_output_msg == api.produce.model_instances[0]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def test_cmdline_content(monkeypatch):
|
||||||
|
+
|
||||||
|
+ def run_mocked(cmd, **kwargs):
|
||||||
|
+ assert cmd == ['cat', '/proc/cmdline']
|
||||||
|
+ output = mock_cmd_output()
|
||||||
|
+ return {'stdout': output}
|
||||||
|
+
|
||||||
|
+ monkeypatch.setattr(scankernelcmdline, 'run', run_mocked)
|
||||||
|
+ cmd_output = scankernelcmdline.get_cmdline_input()
|
||||||
|
+ expected_cmd_output = mock_cmd_output()
|
||||||
|
+
|
||||||
|
+ assert cmd_output == expected_cmd_output
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+@pytest.mark.parametrize('is_os_error', [True, False])
|
||||||
|
+def test_cmdline_run_failed(monkeypatch, is_os_error):
|
||||||
|
+
|
||||||
|
+ def run_mocked_error(cmd, **kwargs):
|
||||||
|
+ assert cmd == ['cat', '/proc/cmdline']
|
||||||
|
+ if is_os_error:
|
||||||
|
+ raise OSError('OSError raised')
|
||||||
|
+ raise CalledProcessError("CalledProcessError raised", cmd, "result")
|
||||||
|
+
|
||||||
|
+ monkeypatch.setattr(scankernelcmdline, 'run', run_mocked_error)
|
||||||
|
+ cmd_output = scankernelcmdline.get_cmdline_input()
|
||||||
|
+ assert cmd_output == ''
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
1142
SOURCES/0041-repomap-Process-repositories-based-on-distro.patch
Normal file
1142
SOURCES/0041-repomap-Process-repositories-based-on-distro.patch
Normal file
File diff suppressed because it is too large
Load Diff
8925
SOURCES/0042-Update-the-upgrade-data-files-stream-4.0.patch
Normal file
8925
SOURCES/0042-Update-the-upgrade-data-files-stream-4.0.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,28 @@
|
|||||||
|
From 6c205281850c28068edc7fc5ab453c65398b7054 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
Date: Fri, 30 May 2025 18:28:25 +0200
|
||||||
|
Subject: [PATCH 43/43] unit-tests: suppress deprecation warning for
|
||||||
|
is_rhel_alt()
|
||||||
|
|
||||||
|
The deprecation warning is not wanted in unit-tests. Supress it.
|
||||||
|
|
||||||
|
Signed-off-by: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
---
|
||||||
|
.../system_upgrade/common/libraries/config/tests/test_version.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/repos/system_upgrade/common/libraries/config/tests/test_version.py b/repos/system_upgrade/common/libraries/config/tests/test_version.py
|
||||||
|
index 420571c0..d51f8098 100644
|
||||||
|
--- a/repos/system_upgrade/common/libraries/config/tests/test_version.py
|
||||||
|
+++ b/repos/system_upgrade/common/libraries/config/tests/test_version.py
|
||||||
|
@@ -108,6 +108,7 @@ def test_matches_target_version(monkeypatch, result, version_list):
|
||||||
|
(False, '4.14.0-100.8.2.el8.x86_64', 'rhel', '8.1'),
|
||||||
|
(False, '4.14.0-100.8.2.el9.x86_64', 'rhel', '9.1'),
|
||||||
|
])
|
||||||
|
+@suppress_deprecation(version.is_rhel_alt)
|
||||||
|
def test_is_rhel_alt(monkeypatch, result, kernel, release_id, src_ver):
|
||||||
|
monkeypatch.setattr(api, 'current_actor', CurrentActorMocked(src_ver=src_ver, kernel=kernel,
|
||||||
|
release_id=release_id))
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
@ -3823,7 +3823,7 @@ index f24dda68..7ee5d016 100644
|
|||||||
|
|
||||||
all_events = list(chain(*[parse_entry(entry) for entry in events_data['packageinfo']]))
|
all_events = list(chain(*[parse_entry(entry) for entry in events_data['packageinfo']]))
|
||||||
diff --git a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
diff --git a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
||||||
index 50336150..540182a5 100644
|
index e6741293..7a7e9ebf 100644
|
||||||
--- a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
--- a/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
||||||
+++ b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
+++ b/repos/system_upgrade/common/actors/peseventsscanner/libraries/pes_events_scanner.py
|
||||||
@@ -1,5 +1,6 @@
|
@@ -1,5 +1,6 @@
|
||||||
@ -3942,7 +3942,7 @@ index 50336150..540182a5 100644
|
|||||||
|
|
||||||
rhui_info = next(api.consume(RHUIInfo), None)
|
rhui_info = next(api.consume(RHUIInfo), None)
|
||||||
cloud_provider = rhui_info.provider if rhui_info else ''
|
cloud_provider = rhui_info.provider if rhui_info else ''
|
||||||
@@ -553,6 +562,19 @@ def process():
|
@@ -554,6 +563,19 @@ def process():
|
||||||
if not events:
|
if not events:
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -3962,7 +3962,7 @@ index 50336150..540182a5 100644
|
|||||||
releases = get_relevant_releases(events)
|
releases = get_relevant_releases(events)
|
||||||
installed_pkgs = get_installed_pkgs()
|
installed_pkgs = get_installed_pkgs()
|
||||||
transaction_configuration = get_transaction_configuration()
|
transaction_configuration = get_transaction_configuration()
|
||||||
@@ -566,7 +588,7 @@ def process():
|
@@ -567,7 +589,7 @@ def process():
|
||||||
events = remove_undesired_events(events, releases)
|
events = remove_undesired_events(events, releases)
|
||||||
|
|
||||||
# Apply events - compute what packages should the target system have
|
# Apply events - compute what packages should the target system have
|
||||||
@ -3971,14 +3971,14 @@ index 50336150..540182a5 100644
|
|||||||
events, releases)
|
events, releases)
|
||||||
|
|
||||||
# Packages coming out of the events have PESID as their repository, however, we need real repoid
|
# Packages coming out of the events have PESID as their repository, however, we need real repoid
|
||||||
@@ -586,4 +608,5 @@ def process():
|
@@ -587,4 +609,5 @@ def process():
|
||||||
rpm_tasks = include_instructions_from_transaction_configuration(rpm_tasks, transaction_configuration,
|
rpm_tasks = include_instructions_from_transaction_configuration(rpm_tasks, transaction_configuration,
|
||||||
installed_pkgs)
|
installed_pkgs)
|
||||||
if rpm_tasks:
|
if rpm_tasks:
|
||||||
+ rpm_tasks.to_reinstall = sorted(pkgs_to_reinstall)
|
+ rpm_tasks.to_reinstall = sorted(pkgs_to_reinstall)
|
||||||
api.produce(rpm_tasks)
|
api.produce(rpm_tasks)
|
||||||
diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
diff --git a/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
||||||
index 58089195..4ec1d6e0 100644
|
index d4a64793..4ec1d6e0 100644
|
||||||
--- a/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
--- a/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
||||||
+++ b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
+++ b/repos/system_upgrade/common/actors/repositoriesmapping/libraries/repositoriesmapping.py
|
||||||
@@ -3,6 +3,7 @@ from collections import defaultdict
|
@@ -3,6 +3,7 @@ from collections import defaultdict
|
||||||
@ -3989,12 +3989,12 @@ index 58089195..4ec1d6e0 100644
|
|||||||
from leapp.libraries.common.fetch import load_data_asset
|
from leapp.libraries.common.fetch import load_data_asset
|
||||||
from leapp.libraries.common.rpms import get_leapp_packages, LeappComponents
|
from leapp.libraries.common.rpms import get_leapp_packages, LeappComponents
|
||||||
from leapp.libraries.stdlib import api
|
from leapp.libraries.stdlib import api
|
||||||
@@ -16,120 +17,6 @@ REPOMAP_FILE = 'repomap.json'
|
@@ -16,121 +17,6 @@ REPOMAP_FILE = 'repomap.json'
|
||||||
"""The name of the new repository mapping file."""
|
"""The name of the new repository mapping file."""
|
||||||
|
|
||||||
|
|
||||||
-class RepoMapData(object):
|
-class RepoMapData(object):
|
||||||
- VERSION_FORMAT = '1.2.1'
|
- VERSION_FORMAT = '1.3.0'
|
||||||
-
|
-
|
||||||
- def __init__(self):
|
- def __init__(self):
|
||||||
- self.repositories = []
|
- self.repositories = []
|
||||||
@ -4017,7 +4017,8 @@ index 58089195..4ec1d6e0 100644
|
|||||||
- repo_type=data['repo_type'],
|
- repo_type=data['repo_type'],
|
||||||
- arch=data['arch'],
|
- arch=data['arch'],
|
||||||
- major_version=data['major_version'],
|
- major_version=data['major_version'],
|
||||||
- pesid=pesid
|
- pesid=pesid,
|
||||||
|
- distro=data['distro'],
|
||||||
- ))
|
- ))
|
||||||
-
|
-
|
||||||
- def get_repositories(self, valid_major_versions):
|
- def get_repositories(self, valid_major_versions):
|
||||||
@ -4406,7 +4407,7 @@ index 00000000..cb5c7ab7
|
|||||||
+ assert api.current_logger.infomsg == msg
|
+ assert api.current_logger.infomsg == msg
|
||||||
+ assert not api.produce.called
|
+ assert not api.produce.called
|
||||||
diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/actor.py b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
diff --git a/repos/system_upgrade/common/actors/setuptargetrepos/actor.py b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
||||||
index 767fa00c..bc1d5bfa 100644
|
index 91855818..3a7e955b 100644
|
||||||
--- a/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
--- a/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
||||||
+++ b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
+++ b/repos/system_upgrade/common/actors/setuptargetrepos/actor.py
|
||||||
@@ -10,7 +10,8 @@ from leapp.models import (
|
@@ -10,7 +10,8 @@ from leapp.models import (
|
||||||
@ -4419,7 +4420,7 @@ index 767fa00c..bc1d5bfa 100644
|
|||||||
)
|
)
|
||||||
from leapp.tags import FactsPhaseTag, IPUWorkflowTag
|
from leapp.tags import FactsPhaseTag, IPUWorkflowTag
|
||||||
|
|
||||||
@@ -32,7 +33,8 @@ class SetupTargetRepos(Actor):
|
@@ -37,7 +38,8 @@ class SetupTargetRepos(Actor):
|
||||||
RepositoriesFacts,
|
RepositoriesFacts,
|
||||||
RepositoriesBlacklisted,
|
RepositoriesBlacklisted,
|
||||||
RHUIInfo,
|
RHUIInfo,
|
||||||
@ -5181,15 +5182,15 @@ index c9c3f1fc..96907be0 100644
|
|||||||
def is_nogpgcheck_set():
|
def is_nogpgcheck_set():
|
||||||
diff --git a/repos/system_upgrade/common/libraries/repomaputils.py b/repos/system_upgrade/common/libraries/repomaputils.py
|
diff --git a/repos/system_upgrade/common/libraries/repomaputils.py b/repos/system_upgrade/common/libraries/repomaputils.py
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 00000000..db91400e
|
index 00000000..39b7d662
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/repos/system_upgrade/common/libraries/repomaputils.py
|
+++ b/repos/system_upgrade/common/libraries/repomaputils.py
|
||||||
@@ -0,0 +1,140 @@
|
@@ -0,0 +1,141 @@
|
||||||
+from collections import defaultdict
|
+from collections import defaultdict
|
||||||
+from leapp.models import PESIDRepositoryEntry, RepoMapEntry, RepositoriesMapping
|
+from leapp.models import PESIDRepositoryEntry, RepoMapEntry, RepositoriesMapping
|
||||||
+
|
+
|
||||||
+class RepoMapData(object):
|
+class RepoMapData(object):
|
||||||
+ VERSION_FORMAT = '1.2.1'
|
+ VERSION_FORMAT = '1.3.0'
|
||||||
+
|
+
|
||||||
+ def __init__(self):
|
+ def __init__(self):
|
||||||
+ self.repositories = []
|
+ self.repositories = []
|
||||||
@ -5212,7 +5213,8 @@ index 00000000..db91400e
|
|||||||
+ repo_type=data['repo_type'],
|
+ repo_type=data['repo_type'],
|
||||||
+ arch=data['arch'],
|
+ arch=data['arch'],
|
||||||
+ major_version=data['major_version'],
|
+ major_version=data['major_version'],
|
||||||
+ pesid=pesid
|
+ pesid=pesid,
|
||||||
|
+ distro=data['distro'],
|
||||||
+ ))
|
+ ))
|
||||||
+
|
+
|
||||||
+ def get_repositories(self, valid_major_versions):
|
+ def get_repositories(self, valid_major_versions):
|
||||||
@ -5385,10 +5387,10 @@ index 00000000..de4056fb
|
|||||||
+ topic = VendorTopic
|
+ topic = VendorTopic
|
||||||
+ data = fields.List(fields.String())
|
+ data = fields.List(fields.String())
|
||||||
diff --git a/repos/system_upgrade/common/models/repositoriesmap.py b/repos/system_upgrade/common/models/repositoriesmap.py
|
diff --git a/repos/system_upgrade/common/models/repositoriesmap.py b/repos/system_upgrade/common/models/repositoriesmap.py
|
||||||
index 7192a60d..2144090d 100644
|
index 842cd807..fc740606 100644
|
||||||
--- a/repos/system_upgrade/common/models/repositoriesmap.py
|
--- a/repos/system_upgrade/common/models/repositoriesmap.py
|
||||||
+++ b/repos/system_upgrade/common/models/repositoriesmap.py
|
+++ b/repos/system_upgrade/common/models/repositoriesmap.py
|
||||||
@@ -91,3 +91,4 @@ class RepositoriesMapping(Model):
|
@@ -96,3 +96,4 @@ class RepositoriesMapping(Model):
|
||||||
|
|
||||||
mapping = fields.List(fields.Model(RepoMapEntry), default=[])
|
mapping = fields.List(fields.Model(RepoMapEntry), default=[])
|
||||||
repositories = fields.List(fields.Model(PESIDRepositoryEntry), default=[])
|
repositories = fields.List(fields.Model(PESIDRepositoryEntry), default=[])
|
||||||
|
@ -53,7 +53,7 @@ py2_byte_compile "%1" "%2"}
|
|||||||
Epoch: 1
|
Epoch: 1
|
||||||
Name: leapp-repository
|
Name: leapp-repository
|
||||||
Version: 0.22.0
|
Version: 0.22.0
|
||||||
Release: 3%{?dist}.elevate.1
|
Release: 4%{?dist}.elevate.1
|
||||||
Summary: Repositories for leapp
|
Summary: Repositories for leapp
|
||||||
|
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
@ -104,8 +104,16 @@ Patch0034: 0034-Introduce-distro-based-rpm-gpg-trusted-directory.patch
|
|||||||
Patch0035: 0035-Add-official-Centos-Stream-9-and-10-RPM-GPG-keys.patch
|
Patch0035: 0035-Add-official-Centos-Stream-9-and-10-RPM-GPG-keys.patch
|
||||||
Patch0036: 0036-Deprecate-is_rhel_alt-from-share-libraries.patch
|
Patch0036: 0036-Deprecate-is_rhel_alt-from-share-libraries.patch
|
||||||
Patch0037: 0037-data-update-data-files-stream-3.3-1380.patch
|
Patch0037: 0037-data-update-data-files-stream-3.3-1380.patch
|
||||||
Patch0100: leapp-repository-0.22.0-elevate.patch
|
|
||||||
|
|
||||||
|
# CTC1 Candidate2
|
||||||
|
Patch0038: 0038-Makefile-Non-zero-exit-code-on-failed-tests-in-conta.patch
|
||||||
|
Patch0039: 0039-CI-Unit-tests-Rename-tasks-tests-executions.patch
|
||||||
|
Patch0040: 0040-Fix-parsing-of-the-kernel-cmdline.patch
|
||||||
|
Patch0041: 0041-repomap-Process-repositories-based-on-distro.patch
|
||||||
|
Patch0042: 0042-Update-the-upgrade-data-files-stream-4.0.patch
|
||||||
|
Patch0043: 0043-unit-tests-suppress-deprecation-warning-for-is_rhel_.patch
|
||||||
|
|
||||||
|
Patch0100: leapp-repository-0.22.0-elevate.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{summary}
|
%{summary}
|
||||||
@ -310,6 +318,12 @@ Requires: libdb-utils
|
|||||||
%patch -P 0035 -p1
|
%patch -P 0035 -p1
|
||||||
%patch -P 0036 -p1
|
%patch -P 0036 -p1
|
||||||
%patch -P 0037 -p1
|
%patch -P 0037 -p1
|
||||||
|
%patch -P 0038 -p1
|
||||||
|
%patch -P 0039 -p1
|
||||||
|
%patch -P 0040 -p1
|
||||||
|
%patch -P 0041 -p1
|
||||||
|
%patch -P 0042 -p1
|
||||||
|
%patch -P 0043 -p1
|
||||||
%patch -P 0100 -p1
|
%patch -P 0100 -p1
|
||||||
|
|
||||||
|
|
||||||
@ -408,6 +422,15 @@ ln -s 10.0 %{next_major_ver}
|
|||||||
# no files here
|
# no files here
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jun 24 2025 Yuriy Kohut <ykohut@almalinux.org> - 0.22.0-4.elevate.1
|
||||||
|
- Update ELevate patch:
|
||||||
|
- rebase to upstream 0.22.0-4 (hash 7c6bb64e550ccfefe4001e79fef44b7d69446c36)
|
||||||
|
|
||||||
|
* Thu Jun 05 2025 Karolina Kula <kkula@redhat.com> - 0.22.0-4
|
||||||
|
- Fix parsing of the kernel cmdline
|
||||||
|
- Require leapp data with provided_data_streams 4.0+
|
||||||
|
- Resolves: RHEL-67627
|
||||||
|
|
||||||
* Thu May 15 2025 Yuriy Kohut <ykohut@almalinux.org> - 0.22.0-3.elevate.1
|
* Thu May 15 2025 Yuriy Kohut <ykohut@almalinux.org> - 0.22.0-3.elevate.1
|
||||||
- Update ELevate patch:
|
- Update ELevate patch:
|
||||||
- rebase to upstream 0.22.0-3 (hash ffd6d8e456484630f99d98d5bff955914af02aa5)
|
- rebase to upstream 0.22.0-3 (hash ffd6d8e456484630f99d98d5bff955914af02aa5)
|
||||||
|
Loading…
Reference in New Issue
Block a user