C10S bugfix update
- Do not remove PVs from devices file if disabled or doesn't exist Resolves: RHEL-65846 - iscsi: Use node.startup=onboot option for Login Resolves: RHEL-53719 - tests: Make sure selinux_test doesn't try to create mountpoints Resolves: RHEL-78988
This commit is contained in:
parent
0325a6a032
commit
c582b80db6
@ -0,0 +1,103 @@
|
|||||||
|
From 30782ea4482e8118996ffa69f967531515761179 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||||
|
Date: Mon, 20 Jan 2025 13:02:50 +0100
|
||||||
|
Subject: [PATCH] Do not remove PVs from devices file if disabled or doesn't
|
||||||
|
exists
|
||||||
|
|
||||||
|
When the file doesn't exists the 'lvmdevices --deldev' call will
|
||||||
|
fail but it will still create the devices file. This means we now
|
||||||
|
have an empty devices file and all subsequent LVM calls will fail.
|
||||||
|
|
||||||
|
Resolves: RHEL-65846
|
||||||
|
---
|
||||||
|
blivet/formats/lvmpv.py | 10 +++++++
|
||||||
|
tests/unit_tests/formats_tests/lvmpv_test.py | 28 ++++++++++++++++++++
|
||||||
|
2 files changed, 38 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/blivet/formats/lvmpv.py b/blivet/formats/lvmpv.py
|
||||||
|
index 982233878..aa5cc0a5a 100644
|
||||||
|
--- a/blivet/formats/lvmpv.py
|
||||||
|
+++ b/blivet/formats/lvmpv.py
|
||||||
|
@@ -171,6 +171,16 @@ def lvmdevices_remove(self):
|
||||||
|
if not lvm.HAVE_LVMDEVICES:
|
||||||
|
raise PhysicalVolumeError("LVM devices file feature is not supported")
|
||||||
|
|
||||||
|
+ if not os.path.exists(lvm.LVM_DEVICES_FILE):
|
||||||
|
+ log.debug("Not removing %s from devices file: %s doesn't exist",
|
||||||
|
+ self.device, lvm.LVM_DEVICES_FILE)
|
||||||
|
+ return
|
||||||
|
+
|
||||||
|
+ if not flags.lvm_devices_file:
|
||||||
|
+ log.debug("Not removing %s from devices file: 'lvm_devices_file' flag is set to False",
|
||||||
|
+ self.device)
|
||||||
|
+ return
|
||||||
|
+
|
||||||
|
try:
|
||||||
|
blockdev.lvm.devices_delete(self.device)
|
||||||
|
except blockdev.LVMError as e:
|
||||||
|
diff --git a/tests/unit_tests/formats_tests/lvmpv_test.py b/tests/unit_tests/formats_tests/lvmpv_test.py
|
||||||
|
index 8d410f4fd..890e3cb19 100644
|
||||||
|
--- a/tests/unit_tests/formats_tests/lvmpv_test.py
|
||||||
|
+++ b/tests/unit_tests/formats_tests/lvmpv_test.py
|
||||||
|
@@ -38,6 +38,11 @@ def test_lvm_devices(self):
|
||||||
|
|
||||||
|
mock["blockdev"].lvm.devices_add.assert_not_called()
|
||||||
|
|
||||||
|
+ # LVM devices file not enabled/supported -> devices_delete should not be called
|
||||||
|
+ fmt._destroy()
|
||||||
|
+
|
||||||
|
+ mock["blockdev"].lvm.devices_delete.assert_not_called()
|
||||||
|
+
|
||||||
|
with self.patches() as mock:
|
||||||
|
# LVM devices file enabled and devices file exists -> devices_add should be called
|
||||||
|
mock["lvm"].HAVE_LVMDEVICES = True
|
||||||
|
@@ -47,6 +52,11 @@ def test_lvm_devices(self):
|
||||||
|
|
||||||
|
mock["blockdev"].lvm.devices_add.assert_called_with("/dev/test")
|
||||||
|
|
||||||
|
+ # LVM devices file enabled and devices file exists -> devices_delete should be called
|
||||||
|
+ fmt._destroy()
|
||||||
|
+
|
||||||
|
+ mock["blockdev"].lvm.devices_delete.assert_called_with("/dev/test")
|
||||||
|
+
|
||||||
|
with self.patches() as mock:
|
||||||
|
# LVM devices file enabled and devices file doesn't exist
|
||||||
|
# and no existing VGs present -> devices_add should be called
|
||||||
|
@@ -58,6 +68,12 @@ def test_lvm_devices(self):
|
||||||
|
|
||||||
|
mock["blockdev"].lvm.devices_add.assert_called_with("/dev/test")
|
||||||
|
|
||||||
|
+ # LVM devices file enabled but devices file doesn't exist
|
||||||
|
+ # -> devices_delete should not be called
|
||||||
|
+ fmt._destroy()
|
||||||
|
+
|
||||||
|
+ mock["blockdev"].lvm.devices_delete.assert_not_called()
|
||||||
|
+
|
||||||
|
with self.patches() as mock:
|
||||||
|
# LVM devices file enabled and devices file doesn't exist
|
||||||
|
# and existing VGs present -> devices_add should not be called
|
||||||
|
@@ -69,6 +85,12 @@ def test_lvm_devices(self):
|
||||||
|
|
||||||
|
mock["blockdev"].lvm.devices_add.assert_not_called()
|
||||||
|
|
||||||
|
+ # LVM devices file enabled but devices file doesn't exist
|
||||||
|
+ # -> devices_delete should not be called
|
||||||
|
+ fmt._destroy()
|
||||||
|
+
|
||||||
|
+ mock["blockdev"].lvm.devices_delete.assert_not_called()
|
||||||
|
+
|
||||||
|
with self.patches() as mock:
|
||||||
|
# LVM devices file enabled and devices file exists
|
||||||
|
# but flag set to false -> devices_add should not be called
|
||||||
|
@@ -81,5 +103,11 @@ def test_lvm_devices(self):
|
||||||
|
|
||||||
|
mock["blockdev"].lvm.devices_add.assert_not_called()
|
||||||
|
|
||||||
|
+ # LVM devices file enabled and devices file exists
|
||||||
|
+ # but flag set to false -> devices_delete should not be called
|
||||||
|
+ fmt._destroy()
|
||||||
|
+
|
||||||
|
+ mock["blockdev"].lvm.devices_delete.assert_not_called()
|
||||||
|
+
|
||||||
|
# reset the flag back
|
||||||
|
flags.lvm_devices_file = True
|
23
0015-iscsi-Use-node-startup-onboot-option-for-Login.patch
Normal file
23
0015-iscsi-Use-node-startup-onboot-option-for-Login.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From c16a44b6627a6b4c1cb178f4c2127f21a53344ec Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||||
|
Date: Mon, 3 Mar 2025 12:33:34 +0100
|
||||||
|
Subject: [PATCH] iscsi: Use node.startup=onboot option for Login
|
||||||
|
|
||||||
|
Resolves: RHEL-53719
|
||||||
|
---
|
||||||
|
blivet/iscsi.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/blivet/iscsi.py b/blivet/iscsi.py
|
||||||
|
index 95674665b..f66c38934 100644
|
||||||
|
--- a/blivet/iscsi.py
|
||||||
|
+++ b/blivet/iscsi.py
|
||||||
|
@@ -278,7 +278,7 @@ def _login(self, node_info, extra=None):
|
||||||
|
|
||||||
|
if extra is None:
|
||||||
|
extra = dict()
|
||||||
|
- extra["node.startup"] = GLib.Variant("s", "automatic")
|
||||||
|
+ extra["node.startup"] = GLib.Variant("s", "onboot")
|
||||||
|
extra["node.session.auth.chap_algs"] = GLib.Variant("s", "SHA1,MD5")
|
||||||
|
|
||||||
|
args = GLib.Variant("(sisisa{sv})", node_info.conn_info + (extra,))
|
@ -0,0 +1,26 @@
|
|||||||
|
From 8195fb13faa587737780f174651964c4f074f482 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||||
|
Date: Wed, 3 Jul 2024 15:49:34 +0200
|
||||||
|
Subject: [PATCH] tests: Make sure selinux_test doesn't try to create
|
||||||
|
mountpoints
|
||||||
|
|
||||||
|
This is a unit test so it shouldn't try to create directories
|
||||||
|
anywhere.
|
||||||
|
|
||||||
|
Resolves: RHEL-78988
|
||||||
|
---
|
||||||
|
tests/unit_tests/formats_tests/selinux_test.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/tests/unit_tests/formats_tests/selinux_test.py b/tests/unit_tests/formats_tests/selinux_test.py
|
||||||
|
index 484e745a4..ea2f516be 100644
|
||||||
|
--- a/tests/unit_tests/formats_tests/selinux_test.py
|
||||||
|
+++ b/tests/unit_tests/formats_tests/selinux_test.py
|
||||||
|
@@ -23,6 +23,7 @@ def setUp(self):
|
||||||
|
@patch("blivet.tasks.fsmount.BlockDev.fs.mount", return_value=True)
|
||||||
|
@patch.object(fs.FS, "_pre_setup", return_value=True)
|
||||||
|
@patch("os.access", return_value=True)
|
||||||
|
+ @patch("os.path.isdir", return_value=True)
|
||||||
|
# pylint: disable=unused-argument
|
||||||
|
def exec_mount_selinux_format(self, formt, *args):
|
||||||
|
""" Test of correct selinux context parameter value when mounting """
|
@ -5,7 +5,7 @@ Version: 3.10.0
|
|||||||
|
|
||||||
#%%global prerelease .b2
|
#%%global prerelease .b2
|
||||||
# prerelease, if defined, should be something like .a1, .b1, .b2.dev1, or .c2
|
# prerelease, if defined, should be something like .a1, .b1, .b2.dev1, or .c2
|
||||||
Release: 16%{?prerelease}%{?dist}
|
Release: 17%{?prerelease}%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
%global realname blivet
|
%global realname blivet
|
||||||
@ -28,6 +28,9 @@ Patch8: 0010-Fix_running_tests_in_FIPS_mode.patch
|
|||||||
Patch9: 0011-Make-GPT-default-label-type-on-all-architectures.patch
|
Patch9: 0011-Make-GPT-default-label-type-on-all-architectures.patch
|
||||||
Patch10: 0012-Fix-crash-on-ppc64le-with-GPT.patch
|
Patch10: 0012-Fix-crash-on-ppc64le-with-GPT.patch
|
||||||
Patch11: 0013-Set-persistent-allow-discards-flag-for-new-LUKS-devices.patch
|
Patch11: 0013-Set-persistent-allow-discards-flag-for-new-LUKS-devices.patch
|
||||||
|
Patch12: 0014-Do-not-remove-PVs-from-devices-file-if-disabled-or-doesnt-exist.patch
|
||||||
|
Patch13: 0015-iscsi-Use-node-startup-onboot-option-for-Login.patch
|
||||||
|
Patch14: 0016-Make-sure-selinux_test-doesnt-try-to-create-mountpoints.patch
|
||||||
|
|
||||||
# Versions of required components (done so we make sure the buildrequires
|
# Versions of required components (done so we make sure the buildrequires
|
||||||
# match the requires versions of things).
|
# match the requires versions of things).
|
||||||
@ -122,6 +125,14 @@ make DESTDIR=%{buildroot} install
|
|||||||
%{python3_sitelib}/*
|
%{python3_sitelib}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 27 2025 Vojtech Trefny <vtrefny@redhat.com> - 3.10.0-17
|
||||||
|
- Do not remove PVs from devices file if disabled or doesn't exist
|
||||||
|
Resolves: RHEL-65846
|
||||||
|
- iscsi: Use node.startup=onboot option for Login
|
||||||
|
Resolves: RHEL-53719
|
||||||
|
- tests: Make sure selinux_test doesn't try to create mountpoints
|
||||||
|
Resolves: RHEL-78988
|
||||||
|
|
||||||
* Tue Mar 11 2025 Vojtech Trefny <vtrefny@redhat.com> - 3.10.0-16
|
* Tue Mar 11 2025 Vojtech Trefny <vtrefny@redhat.com> - 3.10.0-16
|
||||||
- Set persistent allow-discards flag for newly created LUKS devices
|
- Set persistent allow-discards flag for newly created LUKS devices
|
||||||
Resolves: RHEL-82884
|
Resolves: RHEL-82884
|
||||||
|
Loading…
Reference in New Issue
Block a user