From f1bb9b19d59b088e4ef86777f77e186330a20adc Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 7 Jan 2025 09:54:11 -0500 Subject: [PATCH] rpmostree: Use `--merge` for kargs Without `--merge`, all kernel arguments will be replaced, which is not what is desired in general. Especially with bootc karg support which we definitely want to work with Anaconda. Signed-off-by: Colin Walters (cherry picked from commit cb7276e51230cf86ed0b36238ba8d3cdf431f15a) Resolves: RHEL-73029 --- .../payload/rpm_ostree/installation.py | 2 +- .../payloads/payload/test_rpm_ostree_tasks.py | 38 ++++++++++++++++--- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py b/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py index eb0245960b5..75d3673ccc4 100644 --- a/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py +++ b/pyanaconda/modules/payloads/payload/rpm_ostree/installation.py @@ -569,7 +569,7 @@ def _set_kargs(self): device_tree.GetDeviceData(root_name) ) - set_kargs_args = ["admin", "instutil", "set-kargs"] + set_kargs_args = ["admin", "instutil", "set-kargs", "--merge"] set_kargs_args.extend(bootloader.GetArguments()) set_kargs_args.append("root=" + device_tree.GetFstabSpec(root_name)) diff --git a/tests/unit_tests/pyanaconda_tests/modules/payloads/payload/test_rpm_ostree_tasks.py b/tests/unit_tests/pyanaconda_tests/modules/payloads/payload/test_rpm_ostree_tasks.py index 940685b73cf..05632fcf441 100644 --- a/tests/unit_tests/pyanaconda_tests/modules/payloads/payload/test_rpm_ostree_tasks.py +++ b/tests/unit_tests/pyanaconda_tests/modules/payloads/payload/test_rpm_ostree_tasks.py @@ -706,8 +706,15 @@ def test_btrfs_run(self, devdata_mock, storage_mock, symlink_mock, rename_mock, ) exec_mock.assert_called_once_with( "ostree", - ["admin", "instutil", "set-kargs", "BOOTLOADER-ARGS", "root=FSTAB-SPEC", - "rootflags=subvol=device-name", "rw"], + ["admin", + "instutil", + "set-kargs", + "--merge", + "BOOTLOADER-ARGS", + "root=FSTAB-SPEC", + "rootflags=subvol=device-name", + "rw" + ], root=sysroot ) @@ -743,7 +750,14 @@ def test_nonbtrfs_run(self, devdata_mock, storage_mock, symlink_mock, rename_moc ) exec_mock.assert_called_once_with( "ostree", - ["admin", "instutil", "set-kargs", "BOOTLOADER-ARGS", "root=FSTAB-SPEC", "rw"], + ["admin", + "instutil", + "set-kargs", + "--merge", + "BOOTLOADER-ARGS", + "root=FSTAB-SPEC", + "rw" + ], root=sysroot ) @@ -784,7 +798,14 @@ def test_bootupd_run(self, devdata_mock, storage_mock, symlink_mock, rename_mock ), call( "ostree", - ["admin", "instutil", "set-kargs", "BOOTLOADER-ARGS", "root=FSTAB-SPEC", "rw"], + ["admin", + "instutil", + "set-kargs", + "--merge", + "BOOTLOADER-ARGS", + "root=FSTAB-SPEC", + "rw" + ], root=sysroot ) ]) @@ -826,7 +847,14 @@ def test_bootupd_run_with_leavebootorder(self, devdata_mock, storage_mock, symli ), call( "ostree", - ["admin", "instutil", "set-kargs", "BOOTLOADER-ARGS", "root=FSTAB-SPEC", "rw"], + ["admin", + "instutil", + "set-kargs", + "--merge", + "BOOTLOADER-ARGS", + "root=FSTAB-SPEC", + "rw" + ], root=sysroot ) ])