Add workarounds for some LVM test issues
Resolves: rhbz#1976174 Adapt tests to xfsprogs 5.12 changes Resolves: rhbz#1976176
This commit is contained in:
parent
793a515959
commit
3d6d37e8ba
157
0005-Add-workarounds-for-some-LVM-test-issues.patch
Normal file
157
0005-Add-workarounds-for-some-LVM-test-issues.patch
Normal file
@ -0,0 +1,157 @@
|
||||
From 7c31cc534f96766dd2e3427b09d0affca66b0745 Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Tue, 23 Mar 2021 13:54:02 +0100
|
||||
Subject: [PATCH 1/3] tests: Do not try to remove VG before removing the VDO
|
||||
pool
|
||||
|
||||
---
|
||||
tests/lvm_dbus_tests.py | 6 +++---
|
||||
tests/lvm_test.py | 6 +++---
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/lvm_dbus_tests.py b/tests/lvm_dbus_tests.py
|
||||
index 8f2bb95d..b599fdd0 100644
|
||||
--- a/tests/lvm_dbus_tests.py
|
||||
+++ b/tests/lvm_dbus_tests.py
|
||||
@@ -1517,14 +1517,14 @@ def setUp(self):
|
||||
self.assertTrue(succ)
|
||||
|
||||
def _clean_up(self):
|
||||
- BlockDev.lvm_vgremove("testVDOVG")
|
||||
- BlockDev.lvm_pvremove(self.loop_dev)
|
||||
-
|
||||
try:
|
||||
BlockDev.lvm_lvremove("testVDOVG", "vdoPool", True, None)
|
||||
except:
|
||||
pass
|
||||
|
||||
+ BlockDev.lvm_vgremove("testVDOVG")
|
||||
+ BlockDev.lvm_pvremove(self.loop_dev)
|
||||
+
|
||||
try:
|
||||
delete_lio_device(self.loop_dev)
|
||||
except RuntimeError:
|
||||
diff --git a/tests/lvm_test.py b/tests/lvm_test.py
|
||||
index 6f80a3ba..6c04faf9 100644
|
||||
--- a/tests/lvm_test.py
|
||||
+++ b/tests/lvm_test.py
|
||||
@@ -1437,14 +1437,14 @@ def setUp(self):
|
||||
self.assertTrue(succ)
|
||||
|
||||
def _clean_up(self):
|
||||
- BlockDev.lvm_vgremove("testVDOVG")
|
||||
- BlockDev.lvm_pvremove(self.loop_dev)
|
||||
-
|
||||
try:
|
||||
BlockDev.lvm_lvremove("testVDOVG", "vdoPool", True, None)
|
||||
except:
|
||||
pass
|
||||
|
||||
+ BlockDev.lvm_vgremove("testVDOVG")
|
||||
+ BlockDev.lvm_pvremove(self.loop_dev)
|
||||
+
|
||||
try:
|
||||
delete_lio_device(self.loop_dev)
|
||||
except RuntimeError:
|
||||
|
||||
From 41b9d745b8c1a33221e15683f390bae180d1e960 Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Tue, 23 Mar 2021 13:59:24 +0100
|
||||
Subject: [PATCH 2/3] tests: Force remove LVM VG /dev/ entry not removed by
|
||||
vgremove
|
||||
|
||||
The directory is sometimes not removed. This is a known bug that
|
||||
causes subsequent test cases to fail.
|
||||
---
|
||||
tests/lvm_dbus_tests.py | 6 ++++++
|
||||
tests/lvm_test.py | 6 ++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/tests/lvm_dbus_tests.py b/tests/lvm_dbus_tests.py
|
||||
index b599fdd0..3278716e 100644
|
||||
--- a/tests/lvm_dbus_tests.py
|
||||
+++ b/tests/lvm_dbus_tests.py
|
||||
@@ -399,6 +399,9 @@ def _clean_up(self):
|
||||
except:
|
||||
pass
|
||||
|
||||
+ # XXX remove lingering /dev entries
|
||||
+ shutil.rmtree("/dev/testVG", ignore_errors=True)
|
||||
+
|
||||
LvmPVonlyTestCase._clean_up(self)
|
||||
|
||||
@unittest.skipUnless(lvm_dbus_running, "LVM DBus not running")
|
||||
@@ -1525,6 +1528,9 @@ def _clean_up(self):
|
||||
BlockDev.lvm_vgremove("testVDOVG")
|
||||
BlockDev.lvm_pvremove(self.loop_dev)
|
||||
|
||||
+ # XXX remove lingering /dev entries
|
||||
+ shutil.rmtree("/dev/testVDOVG", ignore_errors=True)
|
||||
+
|
||||
try:
|
||||
delete_lio_device(self.loop_dev)
|
||||
except RuntimeError:
|
||||
diff --git a/tests/lvm_test.py b/tests/lvm_test.py
|
||||
index 6c04faf9..d7e1f84c 100644
|
||||
--- a/tests/lvm_test.py
|
||||
+++ b/tests/lvm_test.py
|
||||
@@ -378,6 +378,9 @@ def _clean_up(self):
|
||||
except:
|
||||
pass
|
||||
|
||||
+ # XXX remove lingering /dev entries
|
||||
+ shutil.rmtree("/dev/testVG", ignore_errors=True)
|
||||
+
|
||||
LvmPVonlyTestCase._clean_up(self)
|
||||
|
||||
class LvmTestVGcreateRemove(LvmPVVGTestCase):
|
||||
@@ -1445,6 +1448,9 @@ def _clean_up(self):
|
||||
BlockDev.lvm_vgremove("testVDOVG")
|
||||
BlockDev.lvm_pvremove(self.loop_dev)
|
||||
|
||||
+ # XXX remove lingering /dev entries
|
||||
+ shutil.rmtree("/dev/testVDOVG", ignore_errors=True)
|
||||
+
|
||||
try:
|
||||
delete_lio_device(self.loop_dev)
|
||||
except RuntimeError:
|
||||
|
||||
From 4ecf0075cedf3a1d275d34b94ce5bb512c4e970e Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Tue, 23 Mar 2021 14:03:44 +0100
|
||||
Subject: [PATCH 3/3] tests: Tag LvmPVVGLVcachePoolCreateRemoveTestCase as
|
||||
unstable
|
||||
|
||||
LVM randomly fails to activate the newly created metadata LV.
|
||||
Issue is reported to LVM and not yet fixed.
|
||||
---
|
||||
tests/lvm_dbus_tests.py | 2 +-
|
||||
tests/lvm_test.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/lvm_dbus_tests.py b/tests/lvm_dbus_tests.py
|
||||
index 3278716e..4882da88 100644
|
||||
--- a/tests/lvm_dbus_tests.py
|
||||
+++ b/tests/lvm_dbus_tests.py
|
||||
@@ -1213,7 +1213,7 @@ def _clean_up(self):
|
||||
|
||||
@unittest.skipUnless(lvm_dbus_running, "LVM DBus not running")
|
||||
class LvmPVVGLVcachePoolCreateRemoveTestCase(LvmPVVGLVcachePoolTestCase):
|
||||
- @tag_test(TestTags.SLOW)
|
||||
+ @tag_test(TestTags.SLOW, TestTags.UNSTABLE)
|
||||
def test_cache_pool_create_remove(self):
|
||||
"""Verify that is it possible to create and remove a cache pool"""
|
||||
|
||||
diff --git a/tests/lvm_test.py b/tests/lvm_test.py
|
||||
index d7e1f84c..eb94c917 100644
|
||||
--- a/tests/lvm_test.py
|
||||
+++ b/tests/lvm_test.py
|
||||
@@ -1129,7 +1129,7 @@ def _clean_up(self):
|
||||
LvmPVVGLVTestCase._clean_up(self)
|
||||
|
||||
class LvmPVVGLVcachePoolCreateRemoveTestCase(LvmPVVGLVcachePoolTestCase):
|
||||
- @tag_test(TestTags.SLOW)
|
||||
+ @tag_test(TestTags.SLOW, TestTags.UNSTABLE)
|
||||
def test_cache_pool_create_remove(self):
|
||||
"""Verify that is it possible to create and remove a cache pool"""
|
||||
|
144
0006-Misc-test-fixes-backport.patch
Normal file
144
0006-Misc-test-fixes-backport.patch
Normal file
@ -0,0 +1,144 @@
|
||||
From 77b8d17b0baf96a7a552fb8963afdbe8c3b18da7 Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Wed, 2 Jun 2021 12:53:24 +0200
|
||||
Subject: [PATCH 1/4] tests: Make sure the test temp mount is always unmounted
|
||||
|
||||
With try-finally the unmount function will always run even if the
|
||||
test case fails.
|
||||
---
|
||||
tests/fs_test.py | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/fs_test.py b/tests/fs_test.py
|
||||
index 2233db4f..de685b5f 100644
|
||||
--- a/tests/fs_test.py
|
||||
+++ b/tests/fs_test.py
|
||||
@@ -29,8 +29,10 @@ def check_output(args, ignore_retcode=True):
|
||||
@contextmanager
|
||||
def mounted(device, where, ro=False):
|
||||
mount(device, where, ro)
|
||||
- yield
|
||||
- umount(where)
|
||||
+ try:
|
||||
+ yield
|
||||
+ finally:
|
||||
+ utils.umount(where)
|
||||
|
||||
|
||||
def _get_dosfstools_version():
|
||||
|
||||
From aa802b6a2c9038069cfea7f821333367840a43ca Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Wed, 2 Jun 2021 13:05:17 +0200
|
||||
Subject: [PATCH 2/4] tests: Do not check that XFS shrink fails with xfsprogs
|
||||
>= 5.12
|
||||
|
||||
xfsprogs 5.12 now has experimental support for shrinking, we need
|
||||
more changes to support it properly so just skip this check for
|
||||
now.
|
||||
---
|
||||
tests/fs_test.py | 24 ++++++++++++++++++------
|
||||
1 file changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/fs_test.py b/tests/fs_test.py
|
||||
index de685b5f..551b6a7b 100644
|
||||
--- a/tests/fs_test.py
|
||||
+++ b/tests/fs_test.py
|
||||
@@ -44,6 +44,14 @@ def _get_dosfstools_version():
|
||||
return LooseVersion(m.groups()[0])
|
||||
|
||||
|
||||
+def _get_xfs_version():
|
||||
+ _ret, out, _err = utils.run_command("mkfs.xfs -V")
|
||||
+ m = re.search(r"mkfs\.xfs version ([\d\.]+)", out)
|
||||
+ if not m or len(m.groups()) != 1:
|
||||
+ raise RuntimeError("Failed to determine xfsprogs version from: %s" % out)
|
||||
+ return LooseVersion(m.groups()[0])
|
||||
+
|
||||
+
|
||||
class FSTestCase(unittest.TestCase):
|
||||
|
||||
requested_plugins = BlockDev.plugin_specs_from_names(("fs", "loop"))
|
||||
@@ -736,9 +744,11 @@ def test_xfs_resize(self):
|
||||
self.assertEqual(fi.block_size * fi.block_count, 50 * 1024**2)
|
||||
|
||||
# (still) impossible to shrink an XFS file system
|
||||
- with mounted(lv, self.mount_dir):
|
||||
- with self.assertRaises(GLib.GError):
|
||||
- succ = BlockDev.fs_xfs_resize(self.mount_dir, 40 * 1024**2 / fi.block_size, None)
|
||||
+ xfs_version = _get_xfs_version()
|
||||
+ if xfs_version < LooseVersion("5.1.12"):
|
||||
+ with mounted(lv, self.mount_dir):
|
||||
+ with self.assertRaises(GLib.GError):
|
||||
+ succ = BlockDev.fs_resize(lv, 40 * 1024**2)
|
||||
|
||||
run("lvresize -L70M libbd_fs_tests/xfs_test >/dev/null 2>&1")
|
||||
# should grow
|
||||
@@ -1503,9 +1513,11 @@ def test_xfs_generic_resize(self):
|
||||
self.assertEqual(fi.block_size * fi.block_count, 50 * 1024**2)
|
||||
|
||||
# (still) impossible to shrink an XFS file system
|
||||
- with mounted(lv, self.mount_dir):
|
||||
- with self.assertRaises(GLib.GError):
|
||||
- succ = BlockDev.fs_resize(lv, 40 * 1024**2)
|
||||
+ xfs_version = _get_xfs_version()
|
||||
+ if xfs_version < LooseVersion("5.1.12"):
|
||||
+ with mounted(lv, self.mount_dir):
|
||||
+ with self.assertRaises(GLib.GError):
|
||||
+ succ = BlockDev.fs_resize(lv, 40 * 1024**2)
|
||||
|
||||
run("lvresize -L70M libbd_fs_tests/xfs_test >/dev/null 2>&1")
|
||||
# should grow
|
||||
|
||||
From ca01b6021cce3ea6a2318e74de408757f933d947 Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Wed, 2 Jun 2021 13:06:41 +0200
|
||||
Subject: [PATCH 3/4] tests: Temporarily skip
|
||||
test_snapshotcreate_lvorigin_snapshotmerge
|
||||
|
||||
With LVM DBus API the lvconvert job is never finished which means
|
||||
the test run never finishes in our CI.
|
||||
---
|
||||
tests/skip.yml | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/tests/skip.yml b/tests/skip.yml
|
||||
index 145d321d..e22e712d 100644
|
||||
--- a/tests/skip.yml
|
||||
+++ b/tests/skip.yml
|
||||
@@ -137,3 +137,9 @@
|
||||
- distro: "fedora"
|
||||
version: ["31", "32"]
|
||||
reason: "working with old-style LVM snapshots leads to deadlock in LVM tools"
|
||||
+
|
||||
+- test: lvm_dbus_tests.LvmTestLVsnapshots.test_snapshotcreate_lvorigin_snapshotmerge
|
||||
+ skip_on:
|
||||
+ - distro: "centos"
|
||||
+ version: "9"
|
||||
+ reason: "snapshot merge doesn't work on CentOS 9 Stream with LVM DBus API"
|
||||
|
||||
From d0c44cd3d182599433f352901796af7c403239eb Mon Sep 17 00:00:00 2001
|
||||
From: Vojtech Trefny <vtrefny@redhat.com>
|
||||
Date: Wed, 2 Jun 2021 13:08:09 +0200
|
||||
Subject: [PATCH 4/4] Fix skipping tests on Debian testing
|
||||
|
||||
Testing now identifies itself as "Debian GNU/Linux 11 (bullseye)"
|
||||
so the tests that should be skipped on testing needs to be skipped
|
||||
on "11" too.
|
||||
---
|
||||
tests/skip.yml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/skip.yml b/tests/skip.yml
|
||||
index e22e712d..4134ee87 100644
|
||||
--- a/tests/skip.yml
|
||||
+++ b/tests/skip.yml
|
||||
@@ -37,7 +37,7 @@
|
||||
- test: fs_test.MountTest.test_mount_ntfs_ro
|
||||
skip_on:
|
||||
- distro: "debian"
|
||||
- version: ["9", "10", "testing"]
|
||||
+ version: ["9", "10", "11", "testing"]
|
||||
reason: "NTFS mounting of read-only devices doesn't work as expected on Debian"
|
||||
|
||||
- test: kbd_test.KbdZRAM*
|
@ -125,7 +125,7 @@
|
||||
|
||||
Name: libblockdev
|
||||
Version: 2.25
|
||||
Release: 5%{?dist}
|
||||
Release: 6%{?dist}
|
||||
Summary: A library for low-level manipulation with block devices
|
||||
License: LGPLv2+
|
||||
URL: https://github.com/storaged-project/libblockdev
|
||||
@ -135,6 +135,8 @@ Patch1: 0001-Fix-comparing-DM-RAID-member-devices-UUID.patch
|
||||
Patch2: 0002-Fix-default-key-size-for-non-XTS-ciphers.patch
|
||||
Patch3: 0003-Memory-leaks-fixes-backport.patch
|
||||
Patch4: 0004-Adapt-to-dosfstools-4.2-changes.patch
|
||||
Patch5: 0005-Add-workarounds-for-some-LVM-test-issues.patch
|
||||
Patch6: 0006-Misc-test-fixes-backport.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: glib2-devel
|
||||
@ -691,6 +693,8 @@ A meta-package that pulls all the libblockdev plugins as dependencies.
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%build
|
||||
autoreconf -ivf
|
||||
@ -994,6 +998,12 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm}
|
||||
%files plugins-all
|
||||
|
||||
%changelog
|
||||
* Tue Jun 29 2021 Vojtech Trefny <vtrefny@redhat.com> - 2.25-6
|
||||
- Add workarounds for some LVM test issues
|
||||
Resolves: rhbz#1976174
|
||||
- Adapt tests to xfsprogs 5.12 changes
|
||||
Resolves: rhbz#1976176
|
||||
|
||||
* Tue May 18 2021 Vojtech Trefny <vtrefny@redhat.com> - 2.25-5
|
||||
- Adapt to dosfstools 4.2 changes
|
||||
Resolves: rhbz#1960624
|
||||
|
Loading…
Reference in New Issue
Block a user