diff --git a/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch b/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch index 08d41663..224c9f4d 100644 --- a/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch +++ b/SOURCES/0001-backport-of-ccd121cc248d79b749a63d4ad099e6d5f4b8b588.patch @@ -87,5 +87,5 @@ index aa5a6b1..c752863 100755 def registerSR(SRClass): """Register SR with handler. All SR subclasses should call this in -- -2.45.2 +2.46.0 diff --git a/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch b/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch index 3b588691..49a6d8ab 100644 --- a/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch +++ b/SOURCES/0002-Update-xs-sm.service-s-description-for-XCP-ng.patch @@ -21,5 +21,5 @@ index 99cb313..609c6ef 100644 Conflicts=shutdown.target RefuseManualStop=yes -- -2.45.2 +2.46.0 diff --git a/SOURCES/0003-Add-TrueNAS-multipath-config.patch b/SOURCES/0003-Add-TrueNAS-multipath-config.patch index 3d409dff..8490f577 100644 --- a/SOURCES/0003-Add-TrueNAS-multipath-config.patch +++ b/SOURCES/0003-Add-TrueNAS-multipath-config.patch @@ -26,5 +26,5 @@ index 9f3dfa7..f63506d 100644 + } } -- -2.45.2 +2.46.0 diff --git a/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch b/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch index 433867a4..f69f8c9b 100644 --- a/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch +++ b/SOURCES/0004-feat-drivers-add-CephFS-GlusterFS-and-XFS-drivers.patch @@ -888,5 +888,5 @@ index dce460e..aff51ae 100755 if not type in SR.TYPES: raise util.SMException("Unsupported SR type: %s" % type) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch b/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch index 17c4b95b..da98c5ed 100644 --- a/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch +++ b/SOURCES/0005-feat-drivers-add-ZFS-driver-to-avoid-losing-VDI-meta.patch @@ -201,5 +201,5 @@ index aff51ae..feb7c18 100755 type = SR.TYPE_FILE if not type in SR.TYPES: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch b/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch index 3ef5a693..bc193fb8 100644 --- a/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch +++ b/SOURCES/0006-Re-add-the-ext4-driver-for-users-who-need-to-transit.patch @@ -288,5 +288,5 @@ index feb7c18..12e4428 100755 type = SR.TYPE_FILE if not type in SR.TYPES: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch b/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch index 9f011a88..b827c19b 100644 --- a/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch +++ b/SOURCES/0007-feat-drivers-add-LinstorSR-driver.patch @@ -1,4 +1,4 @@ -From 3b19f4d691a10f0023d936a0328e4a7684b4d3fa Mon Sep 17 00:00:00 2001 +From 2c71c3ce33cd02573824a57bd4b3917b45c890b0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 16 Mar 2020 15:39:44 +0100 Subject: [PATCH 007/178] feat(drivers): add LinstorSR driver @@ -64,8 +64,8 @@ module imports are protected by try.. except... blocks. drivers/util.py | 46 +- linstor/Makefile | 22 + linstor/linstor-monitord.c | 402 ++++++ - mocks/linstor/__init__.py | 0 systemd/linstor-monitor.service | 13 + + tests/mocks/linstor/__init__.py | 0 14 files changed, 5361 insertions(+), 30 deletions(-) create mode 100755 drivers/LinstorSR.py create mode 100755 drivers/linstor-manager @@ -74,8 +74,8 @@ module imports are protected by try.. except... blocks. create mode 100755 drivers/linstorvolumemanager.py create mode 100644 linstor/Makefile create mode 100644 linstor/linstor-monitord.c - create mode 100644 mocks/linstor/__init__.py create mode 100644 systemd/linstor-monitor.service + create mode 100644 tests/mocks/linstor/__init__.py diff --git a/Makefile b/Makefile index 9bc0a9d..609e182 100755 @@ -5657,9 +5657,6 @@ index 0000000..8161813 + close(inotifyFd); + return -ret; +} -diff --git a/mocks/linstor/__init__.py b/mocks/linstor/__init__.py -new file mode 100644 -index 0000000..e69de29 diff --git a/systemd/linstor-monitor.service b/systemd/linstor-monitor.service new file mode 100644 index 0000000..5f8f0a7 @@ -5679,6 +5676,9 @@ index 0000000..5f8f0a7 + +[Install] +WantedBy=multi-user.target +diff --git a/tests/mocks/linstor/__init__.py b/tests/mocks/linstor/__init__.py +new file mode 100644 +index 0000000..e69de29 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch b/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch index f7e78d5a..1338beb1 100644 --- a/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch +++ b/SOURCES/0008-feat-tests-add-unit-tests-concerning-ZFS-close-xcp-n.patch @@ -1,4 +1,4 @@ -From c43a4dbdff827fe7a65f93a4fa4b817344c854aa Mon Sep 17 00:00:00 2001 +From 89cee57b097a681edc800be05d1dfc7d97aec995 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 27 Oct 2020 15:04:36 +0100 Subject: [PATCH 008/178] feat(tests): add unit tests concerning ZFS (close @@ -205,5 +205,5 @@ index 0000000..6f8040d + failed = True + self.assertTrue(failed) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch b/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch index b1bf15a0..51e5bf9c 100644 --- a/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch +++ b/SOURCES/0009-If-no-NFS-ACLs-provided-assume-everyone.patch @@ -1,4 +1,4 @@ -From c1f90914648fc31104ebc535f653c9b70d27fc47 Mon Sep 17 00:00:00 2001 +From c338e356dcad6ad17b2f2248ff45fcf983173e0e Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Thu, 25 Feb 2021 09:54:52 +0100 Subject: [PATCH 009/178] If no NFS ACLs provided, assume everyone: @@ -71,5 +71,5 @@ index 71800ab..cef414f 100644 + self.assertEqual(len(pread2.mock_calls), 1) + pread2.assert_called_with(['/usr/sbin/showmount', '--no-headers', '-e', 'aServer']) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch b/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch index 63ead726..3a5f9ff3 100644 --- a/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch +++ b/SOURCES/0010-Added-SM-Driver-for-MooseFS.patch @@ -1,4 +1,4 @@ -From 46f4c9f02e0c0bacecf4fba09bdf94a419955d10 Mon Sep 17 00:00:00 2001 +From 359dd15436b153bedf32af7768973febc2b84c2f Mon Sep 17 00:00:00 2001 From: Aleksander Wieliczko Date: Fri, 29 Jan 2021 15:21:23 +0100 Subject: [PATCH 010/178] Added SM Driver for MooseFS @@ -386,5 +386,5 @@ index 0000000..5a61cf5 + mfssr.detach('asr_uuid') + self.assertTrue(mfssr.attached) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch b/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch index b5a245fe..8e8b06d2 100644 --- a/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch +++ b/SOURCES/0011-Avoid-usage-of-umount-in-ISOSR-when-legacy_mode-is-u.patch @@ -1,4 +1,4 @@ -From 78e02205515d1926448d9148e07190278f192fe1 Mon Sep 17 00:00:00 2001 +From c984a5c3510b12c44a9fd2d0297cdb21111d20f7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Dec 2021 09:28:37 +0100 Subject: [PATCH 011/178] Avoid usage of `umount` in `ISOSR` when `legacy_mode` @@ -103,5 +103,5 @@ index 7655f14..03c8851 100644 class TestISOSR_overNFS(unittest.TestCase): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch b/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch index 1ef1122c..f5db7613 100644 --- a/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch +++ b/SOURCES/0012-MooseFS-SR-uses-now-UUID-subdirs-for-each-SR.patch @@ -1,4 +1,4 @@ -From 96777e1aebf0b4bf800d71c03a87908282669971 Mon Sep 17 00:00:00 2001 +From c701f410bdac559ac8384da2f8b40833e5e89866 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 18 May 2022 17:28:09 +0200 Subject: [PATCH 012/178] MooseFS SR uses now UUID subdirs for each SR @@ -126,5 +126,5 @@ index be5112c..ab72f4e 100755 self.detach(sr_uuid) if inst.code != errno.ENOENT: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch b/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch index c823663c..455ea091 100644 --- a/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch +++ b/SOURCES/0013-Fix-is_open-call-for-many-drivers-25.patch @@ -1,4 +1,4 @@ -From ebb716f123eb8b6c4e8b2ff1147926211af183db Mon Sep 17 00:00:00 2001 +From cba6bde2b5243bac634b5e5e910db685355ba83e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 23 Jun 2022 10:36:36 +0200 Subject: [PATCH 013/178] Fix is_open call for many drivers (#25) @@ -104,5 +104,5 @@ index 0d60d96..534e6c9 100755 driver = SR.driver(srType) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch b/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch index 644890cc..c56c5f16 100644 --- a/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch +++ b/SOURCES/0014-Remove-SR_CACHING-capability-for-many-SR-types-24.patch @@ -1,4 +1,4 @@ -From 658d391b17fa66a312401e43b22cefb897ea3b57 Mon Sep 17 00:00:00 2001 +From bf7577ff65e882686af8e7ca1748cfb0b7934a14 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 23 Jun 2022 10:37:07 +0200 Subject: [PATCH 014/178] Remove SR_CACHING capability for many SR types (#24) @@ -56,5 +56,5 @@ index ab72f4e..212f1ad 100755 "VDI_UPDATE", "VDI_CLONE", "VDI_SNAPSHOT", "VDI_RESIZE", "VDI_MIRROR", "VDI_GENERATE_CONFIG", -- -2.45.2 +2.46.0 diff --git a/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch b/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch index bfd849fa..3fffabb0 100644 --- a/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch +++ b/SOURCES/0015-Remove-SR_PROBE-from-ZFS-capabilities-37.patch @@ -1,4 +1,4 @@ -From 7263d70aa77dbc18b40b000811be3cf01ab8f4ad Mon Sep 17 00:00:00 2001 +From 1a7496b75ae96edf79f2da481b54b80e8d2925f8 Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Fri, 4 Aug 2023 12:10:08 +0200 Subject: [PATCH 015/178] Remove `SR_PROBE` from ZFS capabilities (#37) @@ -24,5 +24,5 @@ index d375210..b803211 100644 'VDI_CREATE', 'VDI_DELETE', -- -2.45.2 +2.46.0 diff --git a/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch b/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch index 40e8d09b..0b6816b9 100644 --- a/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch +++ b/SOURCES/0016-Fix-vdi-ref-when-static-vdis-are-used.patch @@ -1,4 +1,4 @@ -From 85c1fa8737facb51f419b0539661f8fffcc36d8d Mon Sep 17 00:00:00 2001 +From 37c79431e2c6654c5afdb6cde6e23c4c321c4cda Mon Sep 17 00:00:00 2001 From: Guillaume Date: Wed, 16 Aug 2023 13:42:21 +0200 Subject: [PATCH 016/178] Fix vdi-ref when static vdis are used @@ -32,5 +32,5 @@ index dd8e20b..6ac3f80 100755 if needDeflate: try: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch b/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch index d8f404fb..533f27eb 100644 --- a/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch +++ b/SOURCES/0017-Tell-users-not-to-edit-multipath.conf-directly.patch @@ -1,4 +1,4 @@ -From 0d635eac00e89fcfa16856f53947511f0911e2bc Mon Sep 17 00:00:00 2001 +From 9bfcb0be3ff34354c9299bf6e0a90e691f14e813 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 27 Jan 2023 12:03:15 +0100 Subject: [PATCH 017/178] Tell users not to edit multipath.conf directly @@ -30,5 +30,5 @@ index f63506d..c854b57 100644 # multipathd. # For information on the syntax refer to `man multipath.conf` and the examples -- -2.45.2 +2.46.0 diff --git a/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch b/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch index 359b0ee2..f4eef0e6 100644 --- a/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch +++ b/SOURCES/0018-Add-custom.conf-multipath-configuration-file.patch @@ -1,4 +1,4 @@ -From 6fc44ae6ca8bf73c576ec9f74b53de0ed51cd5de Mon Sep 17 00:00:00 2001 +From 383f9128fb1a788074a5a6aca09a249bfeaa44f5 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 27 Jan 2023 12:23:13 +0100 Subject: [PATCH 018/178] Add custom.conf multipath configuration file @@ -27,5 +27,5 @@ index 0000000..3c8583f + +# Refer to "man multipath.conf" -- -2.45.2 +2.46.0 diff --git a/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch b/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch index d7c071bf..445ace79 100644 --- a/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch +++ b/SOURCES/0019-Install-etc-multipath-conf.d-custom.conf.patch @@ -1,4 +1,4 @@ -From 17129f5341223dae7a0b38516e8b01990b61df1d Mon Sep 17 00:00:00 2001 +From 507c2f067878ee88765c5750d3e618c8c63208c7 Mon Sep 17 00:00:00 2001 From: Samuel Verschelde Date: Fri, 25 Aug 2023 17:47:34 +0200 Subject: [PATCH 019/178] Install /etc/multipath/conf.d/custom.conf @@ -48,5 +48,5 @@ index b0ae353..3357cbf 100755 $(SM_STAGING)/$(INIT_DIR) install -m 755 multipath/multipath-root-setup \ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0020-Backport-NFS4-only-support.patch b/SOURCES/0020-Backport-NFS4-only-support.patch index c452ea8e..c16552f2 100644 --- a/SOURCES/0020-Backport-NFS4-only-support.patch +++ b/SOURCES/0020-Backport-NFS4-only-support.patch @@ -1,4 +1,4 @@ -From 8f5cd11745a54fcfb127a23494a1fc2af5ed723b Mon Sep 17 00:00:00 2001 +From 2d197ca1c046dce44579f77f4e2ac23397edb9c1 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 18 Dec 2023 10:22:26 +0100 Subject: [PATCH 020/178] Backport NFS4 only support @@ -426,5 +426,5 @@ index cef414f..9ea807f 100644 expected = """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch b/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch index 697cc047..c3543117 100644 --- a/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch +++ b/SOURCES/0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch @@ -1,4 +1,4 @@ -From ee88d74e603d364e0fb958ce867dc38ea61281db Mon Sep 17 00:00:00 2001 +From bcebd6854894ddd9cc6af7d41a54daab7a45f7be Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 18 Dec 2023 10:35:46 +0100 Subject: [PATCH 021/178] Backport probe for NFS4 when rpcinfo does not include @@ -164,5 +164,5 @@ index 9ea807f..3874d8e 100644 return ([binary, 'remoteserver:remotepath', 'mountpoint', '-o', 'soft,proto=transport,vers=%s,acdirmin=0,acdirmax=0' % vers]) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch b/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch index 9fdb27b6..00f38f07 100644 --- a/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch +++ b/SOURCES/0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch @@ -1,4 +1,4 @@ -From 86d936b5359bfaee5a3d392daed5c9199839901f Mon Sep 17 00:00:00 2001 +From 52d495879ebf8c1caee78f3e10f7febd65d8ccd3 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Tue, 7 May 2024 15:20:22 +0200 Subject: [PATCH 022/178] feat(LargeBlock): backport of largeblocksr (#51) @@ -396,5 +396,5 @@ index 534e6c9..3c7bd34 100755 import LVHDSR import MooseFSSR -- -2.45.2 +2.46.0 diff --git a/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch b/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch index 7438e1c2..924eb4ec 100644 --- a/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch +++ b/SOURCES/0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch @@ -1,4 +1,4 @@ -From 906aede91ac5b450e6e11332ab070d0ec7b71dbb Mon Sep 17 00:00:00 2001 +From ec5c7c6cd4732e7f70122ccdb8ccdaf6711e5f31 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 28 May 2024 15:17:21 +0200 Subject: [PATCH 023/178] feat(LVHDSR): add a way to modify config of LVMs @@ -106,5 +106,5 @@ index ea0bc17..54930b4 100644 self._removeTag(lvName, tag) del self.lvs[lvName] -- -2.45.2 +2.46.0 diff --git a/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch b/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch new file mode 100644 index 00000000..4b18934d --- /dev/null +++ b/SOURCES/0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch @@ -0,0 +1,1039 @@ +From 4ffea27c739e2a02c78438bfb2d281259afad615 Mon Sep 17 00:00:00 2001 +From: Benjamin Reis +Date: Thu, 27 Jun 2024 17:55:10 +0200 +Subject: [PATCH 024/178] Revert "CA-379329: check for missing iSCSI sessions + and reconnect" + +This reverts commit d28dcc1341166ed4839dbea8ef6d1a24e981f461. + +Prevent bad disconnection of ISCSi targets + +In practice the commit that we revert is useful in the case where ISCSI connections are no longer valid, +but sometimes even without any config change or bad connections, +a disconnect/connect is launched preventing the correct use of the SR. + +This change is a workaround, we don't have a better solution at this time. + +Signed-off-by: Benjamin Reis +--- + Makefile | 7 +- + drivers/BaseISCSI.py | 2 +- + drivers/LVHDoISCSISR.py | 499 ++++++++++++++++---------------- + drivers/SR.py | 4 - + systemd/sr_health_check.service | 8 - + systemd/sr_health_check.timer | 13 - + tests/test_LVHDoISCSISR.py | 195 ------------- + tests/test_sr_health_check.py | 95 ------ + 8 files changed, 246 insertions(+), 577 deletions(-) + delete mode 100644 systemd/sr_health_check.service + delete mode 100644 systemd/sr_health_check.timer + delete mode 100644 tests/test_sr_health_check.py + +diff --git a/Makefile b/Makefile +index 284b9a3..c746fcf 100755 +--- a/Makefile ++++ b/Makefile +@@ -74,7 +74,6 @@ SM_LIBS += pluginutil + SM_LIBS += fcoelib + SM_LIBS += constants + SM_LIBS += cbtutil +-SM_LIBS += sr_health_check + + UDEV_RULES = 65-multipath 55-xs-mpath-scsidev 57-usb 58-xapi + MPATH_DAEMON = sm-multipath +@@ -107,7 +106,7 @@ SM_PY_FILES = $(foreach LIB, $(SM_LIBS), drivers/$(LIB).py) $(foreach DRIVER, $( + + .PHONY: build + build: +- make -C dcopy ++ make -C dcopy + make -C linstor + + .PHONY: precommit +@@ -187,10 +186,6 @@ install: precheck + $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) + install -m 644 systemd/storage-init.service \ + $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) +- install -m 644 systemd/sr_health_check.service \ +- $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) +- install -m 644 systemd/sr_health_check.timer \ +- $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) + install -m 644 systemd/linstor-monitor.service \ + $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) + for i in $(UDEV_RULES); do \ +diff --git a/drivers/BaseISCSI.py b/drivers/BaseISCSI.py +index 652387f..72d1728 100755 +--- a/drivers/BaseISCSI.py ++++ b/drivers/BaseISCSI.py +@@ -136,7 +136,7 @@ class BaseISCSISR(SR.SR): + self.default_vdi_visibility = False + + # Required parameters +- if 'target' not in self.dconf or not self.dconf['target']: ++ if 'target' not in self.dconf or not self.dconf['target']: + raise xs_errors.XenError('ConfigTargetMissing') + + # we are no longer putting hconf in the xml. +diff --git a/drivers/LVHDoISCSISR.py b/drivers/LVHDoISCSISR.py +index 1fa6f6f..8f5eecf 100755 +--- a/drivers/LVHDoISCSISR.py ++++ b/drivers/LVHDoISCSISR.py +@@ -2,13 +2,13 @@ + # + # Copyright (C) Citrix Systems Inc. + # +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU Lesser General Public License as published ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License as published + # by the Free Software Foundation; version 2.1 only. + # +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU Lesser General Public License for more details. + # + # You should have received a copy of the GNU Lesser General Public License +@@ -32,7 +32,7 @@ CAPABILITIES = ["SR_PROBE", "SR_UPDATE", "SR_METADATA", "SR_TRIM", + "VDI_CREATE", "VDI_DELETE", "VDI_ATTACH", "VDI_DETACH", + "VDI_GENERATE_CONFIG", "VDI_CLONE", "VDI_SNAPSHOT", + "VDI_RESIZE", "ATOMIC_PAUSE", "VDI_RESET_ON_BOOT/2", +- "VDI_UPDATE", "VDI_MIRROR", "VDI_CONFIG_CBT", ++ "VDI_UPDATE", "VDI_MIRROR", "VDI_CONFIG_CBT", + "VDI_ACTIVATE", "VDI_DEACTIVATE"] + + CONFIGURATION = [ [ 'SCSIid', 'The scsi_id of the destination LUN' ], \ +@@ -61,7 +61,7 @@ DRIVER_INFO = { + class LVHDoISCSISR(LVHDSR.LVHDSR): + """LVHD over ISCSI storage repository""" + def handles(type): +- if __name__ == '__main__': ++ if __name__ == '__main__': + name = sys.argv[0] + else: + name = __name__ +@@ -81,131 +81,243 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + if util.isVDICommand(self.original_srcmd.cmd): + self.SCSIid = self.dconf['SCSIid'] + else: +- self.create_iscsi_sessions(sr_uuid) +- +- LVHDSR.LVHDSR.load(self, sr_uuid) +- +- def create_iscsi_sessions(self, sr_uuid): +- if 'target' in self.original_srcmd.dconf: +- self.original_srcmd.dconf['targetlist'] = self.original_srcmd.dconf['target'] +- iscsi = BaseISCSI.BaseISCSISR(self.original_srcmd, sr_uuid) +- self.iscsiSRs = [] +- self.iscsiSRs.append(iscsi) +- saved_exc = None +- if self.dconf['target'].find(',') == 0 or self.dconf['targetIQN'] == "*": +- # Instantiate multiple sessions ++ if 'target' in self.original_srcmd.dconf: ++ self.original_srcmd.dconf['targetlist'] = self.original_srcmd.dconf['target'] ++ iscsi = BaseISCSI.BaseISCSISR(self.original_srcmd, sr_uuid) + self.iscsiSRs = [] +- if self.dconf['targetIQN'] == "*": +- IQN = "any" +- else: +- IQN = self.dconf['targetIQN'] +- dict = {} +- IQNstring = "" +- IQNs = [] +- try: +- if 'multiSession' in self.dconf: +- IQNs = self.dconf['multiSession'].split("|") +- for IQN in IQNs: +- if IQN: +- dict[IQN] = "" +- else: ++ self.iscsiSRs.append(iscsi) ++ ++ saved_exc = None ++ if self.dconf['target'].find(',') == 0 or self.dconf['targetIQN'] == "*": ++ # Instantiate multiple sessions ++ self.iscsiSRs = [] ++ if self.dconf['targetIQN'] == "*": ++ IQN = "any" ++ else: ++ IQN = self.dconf['targetIQN'] ++ dict = {} ++ IQNstring = "" ++ IQNs = [] ++ try: ++ if 'multiSession' in self.dconf: ++ IQNs = self.dconf['multiSession'].split("|") ++ for IQN in IQNs: ++ if IQN: ++ dict[IQN] = "" ++ else: ++ try: ++ IQNs.remove(IQN) ++ except: ++ # Exceptions are not expected but just in case ++ pass ++ # Order in multiSession must be preserved. It is important for dual-controllers. ++ # IQNstring cannot be built with a dictionary iteration because of this ++ IQNstring = self.dconf['multiSession'] ++ else: ++ for tgt in self.dconf['target'].split(','): + try: +- IQNs.remove(IQN) ++ tgt_ip = util._convertDNS(tgt) + except: +- # Exceptions are not expected but just in case +- pass +- # Order in multiSession must be preserved. It is important for dual-controllers. +- # IQNstring cannot be built with a dictionary iteration because of this +- IQNstring = self.dconf['multiSession'] ++ raise xs_errors.XenError('DNSError') ++ iscsilib.ensure_daemon_running_ok(iscsi.localIQN) ++ map = iscsilib.discovery(tgt_ip, iscsi.port, iscsi.chapuser, iscsi.chappassword, targetIQN=IQN) ++ util.SMlog("Discovery for IP %s returned %s" % (tgt, map)) ++ for i in range(0, len(map)): ++ (portal, tpgt, iqn) = map[i] ++ (ipaddr, port) = iscsilib.parse_IP_port(portal) ++ try: ++ util._testHost(ipaddr, int(port), 'ISCSITarget') ++ except: ++ util.SMlog("Target Not reachable: (%s:%s)" % (ipaddr, port)) ++ continue ++ key = "%s,%s,%s" % (ipaddr, port, iqn) ++ dict[key] = "" ++ # Again, do not mess up with IQNs order. Dual controllers will benefit from that ++ if IQNstring == "": ++ # Compose the IQNstring first ++ for key in dict.keys(): ++ IQNstring += "%s|" % key ++ # Reinitialize and store iterator ++ key_iterator = iter(dict.keys()) ++ else: ++ key_iterator = IQNs ++ ++ # Now load the individual iSCSI base classes ++ for key in key_iterator: ++ (ipaddr, port, iqn) = key.split(',') ++ srcmd_copy = copy.deepcopy(self.original_srcmd) ++ srcmd_copy.dconf['target'] = ipaddr ++ srcmd_copy.dconf['targetIQN'] = iqn ++ srcmd_copy.dconf['multiSession'] = IQNstring ++ util.SMlog("Setting targetlist: %s" % srcmd_copy.dconf['targetlist']) ++ self.iscsiSRs.append(BaseISCSI.BaseISCSISR(srcmd_copy, sr_uuid)) ++ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) ++ if pbd is not None and 'multiSession' not in self.dconf: ++ dconf = self.session.xenapi.PBD.get_device_config(pbd) ++ dconf['multiSession'] = IQNstring ++ self.session.xenapi.PBD.set_device_config(pbd, dconf) ++ except Exception as exc: ++ util.logException("LVHDoISCSISR.load") ++ saved_exc = exc ++ try: ++ self.iscsi = self.iscsiSRs[0] ++ except IndexError as exc: ++ if isinstance(saved_exc, SR.SROSError): ++ raise saved_exc # pylint: disable-msg=E0702 ++ elif isinstance(saved_exc, Exception): ++ raise xs_errors.XenError('SMGeneral', str(saved_exc)) + else: +- for tgt in self.dconf['target'].split(','): ++ raise xs_errors.XenError('SMGeneral', str(exc)) ++ ++ # Be extremely careful not to throw exceptions here since this function ++ # is the main one used by all operations including probing and creating ++ pbd = None ++ try: ++ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) ++ except: ++ pass ++ ++ # Apart from the upgrade case, user must specify a SCSIid ++ if 'SCSIid' not in self.dconf: ++ # Dual controller issue ++ self.LUNs = {} # Dict for LUNs from all the iscsi objects ++ for ii in range(0, len(self.iscsiSRs)): ++ self.iscsi = self.iscsiSRs[ii] ++ self._LUNprint(sr_uuid) ++ for key in self.iscsi.LUNs: ++ self.LUNs[key] = self.iscsi.LUNs[key] ++ self.print_LUNs_XML() ++ self.iscsi = self.iscsiSRs[0] # back to original value ++ raise xs_errors.XenError('ConfigSCSIid') ++ ++ self.SCSIid = self.dconf['SCSIid'] ++ ++ # This block checks if the first iscsi target contains the right SCSIid. ++ # If not it scans the other iscsi targets because chances are that more ++ # than one controller is present ++ dev_match = False ++ forced_login = False ++ # No need to check if only one iscsi target is present ++ if len(self.iscsiSRs) == 1: ++ pass ++ else: ++ target_success = False ++ attempt_discovery = False ++ for iii in range(0, len(self.iscsiSRs)): ++ # Check we didn't leave any iscsi session open ++ # If exceptions happened before, the cleanup function has worked on the right target. ++ if forced_login == True: + try: +- tgt_ip = util._convertDNS(tgt) ++ iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) ++ iscsilib.logout(self.iscsi.target, self.iscsi.targetIQN) ++ forced_login = False + except: +- raise xs_errors.XenError('DNSError') +- iscsilib.ensure_daemon_running_ok(iscsi.localIQN) +- map = iscsilib.discovery(tgt_ip, iscsi.port, iscsi.chapuser, iscsi.chappassword, targetIQN=IQN) +- util.SMlog("Discovery for IP %s returned %s" % (tgt, map)) +- for i in range(0, len(map)): +- (portal, tpgt, iqn) = map[i] +- (ipaddr, port) = iscsilib.parse_IP_port(portal) +- try: +- util._testHost(ipaddr, int(port), 'ISCSITarget') +- except: +- util.SMlog("Target Not reachable: (%s:%s)" % (ipaddr, port)) ++ raise xs_errors.XenError('ISCSILogout') ++ self.iscsi = self.iscsiSRs[iii] ++ util.SMlog("path %s" % self.iscsi.path) ++ util.SMlog("iscsci data: targetIQN %s, portal %s" % (self.iscsi.targetIQN, self.iscsi.target)) ++ iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) ++ if not iscsilib._checkTGT(self.iscsi.targetIQN): ++ attempt_discovery = True ++ try: ++ # Ensure iscsi db has been populated ++ map = iscsilib.discovery( ++ self.iscsi.target, ++ self.iscsi.port, ++ self.iscsi.chapuser, ++ self.iscsi.chappassword, ++ targetIQN=self.iscsi.targetIQN) ++ if len(map) == 0: ++ util.SMlog("Discovery for iscsi data targetIQN %s," ++ " portal %s returned empty list" ++ " Trying another path if available" % ++ (self.iscsi.targetIQN, ++ self.iscsi.target)) + continue ++ except: ++ util.SMlog("Discovery failed for iscsi data targetIQN" ++ " %s, portal %s. Trying another path if" ++ " available" % ++ (self.iscsi.targetIQN, self.iscsi.target)) ++ continue ++ try: ++ iscsilib.login(self.iscsi.target, ++ self.iscsi.targetIQN, ++ self.iscsi.chapuser, ++ self.iscsi.chappassword, ++ self.iscsi.incoming_chapuser, ++ self.iscsi.incoming_chappassword, ++ self.mpath == "true") ++ except: ++ util.SMlog("Login failed for iscsi data targetIQN %s," ++ " portal %s. Trying another path" ++ " if available" % ++ (self.iscsi.targetIQN, self.iscsi.target)) ++ continue ++ target_success = True ++ forced_login = True ++ # A session should be active. ++ if not util.wait_for_path(self.iscsi.path, BaseISCSI.MAX_TIMEOUT): ++ util.SMlog("%s has no associated LUNs" % self.iscsi.targetIQN) ++ continue ++ scsiid_path = "/dev/disk/by-id/scsi-" + self.SCSIid ++ if not util.wait_for_path(scsiid_path, BaseISCSI.MAX_TIMEOUT): ++ util.SMlog("%s not found" % scsiid_path) ++ continue ++ for file in filter(self.iscsi.match_lun, util.listdir(self.iscsi.path)): ++ lun_path = os.path.join(self.iscsi.path, file) ++ lun_dev = scsiutil.getdev(lun_path) ++ try: ++ lun_scsiid = scsiutil.getSCSIid(lun_dev) ++ except: ++ util.SMlog("getSCSIid failed on %s in iscsi %s: LUN" ++ " offline or iscsi path down" % ++ (lun_dev, self.iscsi.path)) ++ continue ++ util.SMlog("dev from lun %s %s" % (lun_dev, lun_scsiid)) ++ if lun_scsiid == self.SCSIid: ++ util.SMlog("lun match in %s" % self.iscsi.path) ++ dev_match = True ++ # No more need to raise ISCSITarget exception. ++ # Resetting attempt_discovery ++ attempt_discovery = False ++ break ++ if dev_match: ++ if iii == 0: ++ break ++ util.SMlog("IQN reordering needed") ++ new_iscsiSRs = [] ++ IQNs = {} ++ IQNstring = "" ++ # iscsiSRs can be seen as a circular buffer: the head now is the matching one ++ for kkk in list(range(iii, len(self.iscsiSRs))) + list(range(0, iii)): ++ new_iscsiSRs.append(self.iscsiSRs[kkk]) ++ ipaddr = self.iscsiSRs[kkk].target ++ port = self.iscsiSRs[kkk].port ++ iqn = self.iscsiSRs[kkk].targetIQN + key = "%s,%s,%s" % (ipaddr, port, iqn) +- dict[key] = "" +- # Again, do not mess up with IQNs order. Dual controllers will benefit from that +- if IQNstring == "": +- # Compose the IQNstring first +- for key in dict.keys(): +- IQNstring += "%s|" % key +- # Reinitialize and store iterator +- key_iterator = iter(dict.keys()) +- else: +- key_iterator = IQNs +- +- # Now load the individual iSCSI base classes +- for key in key_iterator: +- (ipaddr, port, iqn) = key.split(',') +- srcmd_copy = copy.deepcopy(self.original_srcmd) +- srcmd_copy.dconf['target'] = ipaddr +- srcmd_copy.dconf['targetIQN'] = iqn +- srcmd_copy.dconf['multiSession'] = IQNstring +- util.SMlog("Setting targetlist: %s" % srcmd_copy.dconf['targetlist']) +- self.iscsiSRs.append(BaseISCSI.BaseISCSISR(srcmd_copy, sr_uuid)) +- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) +- if pbd is not None and 'multiSession' not in self.dconf: +- dconf = self.session.xenapi.PBD.get_device_config(pbd) +- dconf['multiSession'] = IQNstring +- self.session.xenapi.PBD.set_device_config(pbd, dconf) +- except Exception as exc: +- util.logException("LVHDoISCSISR.load") +- saved_exc = exc +- try: +- self.iscsi = self.iscsiSRs[0] +- except IndexError as exc: +- if isinstance(saved_exc, SR.SROSError): +- raise saved_exc # pylint: disable-msg=E0702 +- elif isinstance(saved_exc, Exception): +- raise xs_errors.XenError('SMGeneral', str(saved_exc)) +- else: +- raise xs_errors.XenError('SMGeneral', str(exc)) +- # Be extremely careful not to throw exceptions here since this function +- # is the main one used by all operations including probing and creating +- pbd = None +- try: +- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) +- except: +- pass +- # Apart from the upgrade case, user must specify a SCSIid +- if 'SCSIid' not in self.dconf: +- # Dual controller issue +- self.LUNs = {} # Dict for LUNs from all the iscsi objects +- for ii in range(0, len(self.iscsiSRs)): +- self.iscsi = self.iscsiSRs[ii] +- self._LUNprint(sr_uuid) +- for key in self.iscsi.LUNs: +- self.LUNs[key] = self.iscsi.LUNs[key] +- self.print_LUNs_XML() +- self.iscsi = self.iscsiSRs[0] # back to original value +- raise xs_errors.XenError('ConfigSCSIid') +- self.SCSIid = self.dconf['SCSIid'] +- # This block checks if the first iscsi target contains the right SCSIid. +- # If not it scans the other iscsi targets because chances are that more +- # than one controller is present +- dev_match = False +- forced_login = False +- # No need to check if only one iscsi target is present +- if len(self.iscsiSRs) == 1: +- pass +- else: +- target_success = False +- attempt_discovery = False +- for iii in range(0, len(self.iscsiSRs)): +- # Check we didn't leave any iscsi session open +- # If exceptions happened before, the cleanup function has worked on the right target. ++ # The final string must preserve the order without repetition ++ if key not in IQNs: ++ IQNs[key] = "" ++ IQNstring += "%s|" % key ++ util.SMlog("IQNstring is now %s" % IQNstring) ++ self.iscsiSRs = new_iscsiSRs ++ util.SMlog("iqn %s is leading now" % self.iscsiSRs[0].targetIQN) ++ # Updating pbd entry, if any ++ try: ++ pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) ++ if pbd is not None and 'multiSession' in self.dconf: ++ util.SMlog("Updating multiSession in PBD") ++ dconf = self.session.xenapi.PBD.get_device_config(pbd) ++ dconf['multiSession'] = IQNstring ++ self.session.xenapi.PBD.set_device_config(pbd, dconf) ++ except: ++ pass ++ break ++ if not target_success and attempt_discovery: ++ raise xs_errors.XenError('ISCSITarget') ++ ++ # Check for any unneeded open iscsi sessions + if forced_login == True: + try: + iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) +@@ -213,118 +325,8 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + forced_login = False + except: + raise xs_errors.XenError('ISCSILogout') +- self.iscsi = self.iscsiSRs[iii] +- util.SMlog("path %s" % self.iscsi.path) +- util.SMlog("iscsci data: targetIQN %s, portal %s" % (self.iscsi.targetIQN, self.iscsi.target)) +- iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) +- if not iscsilib._checkTGT(self.iscsi.targetIQN, self.iscsi.target): +- attempt_discovery = True +- try: +- # Ensure iscsi db has been populated +- map = iscsilib.discovery( +- self.iscsi.target, +- self.iscsi.port, +- self.iscsi.chapuser, +- self.iscsi.chappassword, +- targetIQN=self.iscsi.targetIQN) +- if len(map) == 0: +- util.SMlog("Discovery for iscsi data targetIQN %s," +- " portal %s returned empty list" +- " Trying another path if available" % +- (self.iscsi.targetIQN, +- self.iscsi.target)) +- continue +- except: +- util.SMlog("Discovery failed for iscsi data targetIQN" +- " %s, portal %s. Trying another path if" +- " available" % +- (self.iscsi.targetIQN, self.iscsi.target)) +- continue +- try: +- iscsilib.login(self.iscsi.target, +- self.iscsi.targetIQN, +- self.iscsi.chapuser, +- self.iscsi.chappassword, +- self.iscsi.incoming_chapuser, +- self.iscsi.incoming_chappassword, +- self.mpath == "true") +- except: +- util.SMlog("Login failed for iscsi data targetIQN %s," +- " portal %s. Trying another path" +- " if available" % +- (self.iscsi.targetIQN, self.iscsi.target)) +- continue +- target_success = True +- forced_login = True +- # A session should be active. +- if not util.wait_for_path(self.iscsi.path, BaseISCSI.MAX_TIMEOUT): +- util.SMlog("%s has no associated LUNs" % self.iscsi.targetIQN) +- continue +- scsiid_path = "/dev/disk/by-id/scsi-" + self.SCSIid +- if not util.wait_for_path(scsiid_path, BaseISCSI.MAX_TIMEOUT): +- util.SMlog("%s not found" % scsiid_path) +- continue +- for file in filter(self.iscsi.match_lun, util.listdir(self.iscsi.path)): +- lun_path = os.path.join(self.iscsi.path, file) +- lun_dev = scsiutil.getdev(lun_path) +- try: +- lun_scsiid = scsiutil.getSCSIid(lun_dev) +- except: +- util.SMlog("getSCSIid failed on %s in iscsi %s: LUN" +- " offline or iscsi path down" % +- (lun_dev, self.iscsi.path)) +- continue +- util.SMlog("dev from lun %s %s" % (lun_dev, lun_scsiid)) +- if lun_scsiid == self.SCSIid: +- util.SMlog("lun match in %s" % self.iscsi.path) +- dev_match = True +- # No more need to raise ISCSITarget exception. +- # Resetting attempt_discovery +- attempt_discovery = False +- break +- if dev_match: +- if iii == 0: +- break +- util.SMlog("IQN reordering needed") +- new_iscsiSRs = [] +- IQNs = {} +- IQNstring = "" +- # iscsiSRs can be seen as a circular buffer: the head now is the matching one +- for kkk in list(range(iii, len(self.iscsiSRs))) + list(range(0, iii)): +- new_iscsiSRs.append(self.iscsiSRs[kkk]) +- ipaddr = self.iscsiSRs[kkk].target +- port = self.iscsiSRs[kkk].port +- iqn = self.iscsiSRs[kkk].targetIQN +- key = "%s,%s,%s" % (ipaddr, port, iqn) +- # The final string must preserve the order without repetition +- if key not in IQNs: +- IQNs[key] = "" +- IQNstring += "%s|" % key +- util.SMlog("IQNstring is now %s" % IQNstring) +- self.iscsiSRs = new_iscsiSRs +- util.SMlog("iqn %s is leading now" % self.iscsiSRs[0].targetIQN) +- # Updating pbd entry, if any +- try: +- pbd = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) +- if pbd is not None and 'multiSession' in self.dconf: +- util.SMlog("Updating multiSession in PBD") +- dconf = self.session.xenapi.PBD.get_device_config(pbd) +- dconf['multiSession'] = IQNstring +- self.session.xenapi.PBD.set_device_config(pbd, dconf) +- except: +- pass +- break +- if not target_success and attempt_discovery: +- raise xs_errors.XenError('ISCSITarget') + +- # Check for any unneeded open iscsi sessions +- if forced_login == True: +- try: +- iscsilib.ensure_daemon_running_ok(self.iscsi.localIQN) +- iscsilib.logout(self.iscsi.target, self.iscsi.targetIQN) +- forced_login = False +- except: +- raise xs_errors.XenError('ISCSILogout') ++ LVHDSR.LVHDSR.load(self, sr_uuid) + + def print_LUNs_XML(self): + dom = xml.dom.minidom.Document() +@@ -386,7 +388,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + for i in devs: + sgdevs.append(int(i.split("LUN")[1])) + sgdevs.sort() +- sgdev = "%s/LUN%d" % (self.iscsi.path,sgdevs[0]) ++ sgdev = "%s/LUN%d" % (self.iscsi.path,sgdevs[0]) + + # issue a report luns: + luns=util.pread2(["/usr/bin/sg_luns","-q",sgdev]).split('\n') +@@ -395,7 +397,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + scsi_id = scsiutil.getSCSIid(sgdev) + + # make sure we've got that many sg devices present +- for i in range(0,30): ++ for i in range(0,30): + luns=scsiutil._dosgscan() + sgdevs=filter(lambda r: r[1]==adapter, luns) + if len(sgdevs)>=nluns: +@@ -414,8 +416,8 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + pass # Make sure we don't break the probe... + + self.iscsi.print_LUNs() +- self.iscsi.detach(sr_uuid) +- ++ self.iscsi.detach(sr_uuid) ++ + def create(self, sr_uuid, size): + # Check SCSIid not already in use by other PBDs + if util.test_SCSIid(self.session, sr_uuid, self.SCSIid): +@@ -448,7 +450,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + device_config['SCSIid'] = SCSIid + self.session.xenapi.PBD.set_device_config(pbd, device_config) + +- self.dconf['SCSIid'] = SCSIid ++ self.dconf['SCSIid'] = SCSIid + self.SCSIid = self.dconf['SCSIid'] + except: + continue +@@ -511,7 +513,7 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + i.detach(sr_uuid) + raise xs_errors.XenError("SRUnavailable", opterr=inst) + self._setMultipathableFlag(SCSIid=self.SCSIid) +- ++ + def detach(self, sr_uuid): + LVHDSR.LVHDSR.detach(self, sr_uuid) + for i in self.iscsiSRs: +@@ -552,22 +554,9 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): + self.iscsi.detach(self.uuid) + return out + +- def check_sr(self, sr_uuid): +- """Hook to check SR health""" +- pbdref = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) +- if pbdref: +- other_config = self.session.xenapi.PBD.get_other_config(pbdref) +- if util.sessions_less_than_targets(other_config, self.dconf): +- self.create_iscsi_sessions(sr_uuid) +- for iscsi in self.iscsiSRs: +- try: +- iscsi.attach(sr_uuid) +- except SR.SROSError: +- util.SMlog("Failed to attach iSCSI target") +- + def vdi(self, uuid): + return LVHDoISCSIVDI(self, uuid) +- ++ + class LVHDoISCSIVDI(LVHDSR.LVHDVDI): + def generate_config(self, sr_uuid, vdi_uuid): + util.SMlog("LVHDoISCSIVDI.generate_config") +diff --git a/drivers/SR.py b/drivers/SR.py +index c752863..d10d945 100755 +--- a/drivers/SR.py ++++ b/drivers/SR.py +@@ -364,10 +364,6 @@ class SR(object): + """Post-init hook""" + pass + +- def check_sr(self, sr_uuid): +- """Hook to check SR health""" +- pass +- + def vdi(self, uuid): + """Return VDI object owned by this repository""" + if not self.vdis.has_key(uuid): +diff --git a/systemd/sr_health_check.service b/systemd/sr_health_check.service +deleted file mode 100644 +index 3b82631..0000000 +--- a/systemd/sr_health_check.service ++++ /dev/null +@@ -1,8 +0,0 @@ +-[Unit] +-Description=Healthy Check service for Storage Repositories +-Wants=xapi-init-complete.target +- +-[Service] +-Type=oneshot +-ExecStart=/opt/xensource/sm/sr_health_check.py +- +diff --git a/systemd/sr_health_check.timer b/systemd/sr_health_check.timer +deleted file mode 100644 +index d5f5f59..0000000 +--- a/systemd/sr_health_check.timer ++++ /dev/null +@@ -1,13 +0,0 @@ +-[Unit] +-Description=Period SR health check +- +-[Timer] +-# Jitter it a bit +-RandomizedDelaySec=30 +-# Run 10 minutes after first activated... +-OnActiveSec=600 +-# ...and at 10-minute intervals thereafter +-OnUnitInactiveSec=600 +- +-[Install] +-WantedBy=timers.target +diff --git a/tests/test_LVHDoISCSISR.py b/tests/test_LVHDoISCSISR.py +index ba668d0..112a9b9 100644 +--- a/tests/test_LVHDoISCSISR.py ++++ b/tests/test_LVHDoISCSISR.py +@@ -4,22 +4,14 @@ import unittest + + import traceback + +-from uuid import uuid4 +- + import SR + import LVHDoISCSISR +-import iscsilib +-from BaseISCSI import BaseISCSISR +-import SRCommand +-import util + import xs_errors + + import testlib + from shared_iscsi_test_base import ISCSITestCase + from test_ISCSISR import NonInitingISCSISR + +-TEST_SR_UUID = 'test_uuid' +- + + class RandomError(Exception): + pass +@@ -126,190 +118,3 @@ class TestLVHDoISCSISR_load(unittest.TestCase): + str(cm.exception), + 'General backend error [opterr=Raise RandomError]' + ) +- +- +-class TestLVHDoISCSISR(ISCSITestCase): +- +- TEST_CLASS = 'LVHDoISCSISR' +- +- def setUp(self): +- util_patcher = mock.patch('LVHDoISCSISR.util', autospec=True) +- self.mock_util = util_patcher.start() +- # self.mock_util.SMlog.side_effect = print +- self.mock_util.isVDICommand = util.isVDICommand +- self.mock_util.sessions_less_than_targets = util.sessions_less_than_targets +- +- self.base_srs = set() +- baseiscsi_patcher = mock.patch('LVHDoISCSISR.BaseISCSI.BaseISCSISR', +- autospec=True) +- patched_baseiscsi = baseiscsi_patcher.start() +- patched_baseiscsi.side_effect = self.baseiscsi +- lvhdsr_patcher = mock.patch ('LVHDoISCSISR.LVHDSR') +- +- self.mock_lvhdsr = lvhdsr_patcher.start() +- self.mock_session = mock.MagicMock() +- xenapi_patcher = mock.patch('SR.XenAPI') +- mock_xenapi = xenapi_patcher.start() +- mock_xenapi.xapi_local.return_value = self.mock_session +- +- copy_patcher = mock.patch('LVHDoISCSISR.SR.copy.deepcopy') +- self.mock_copy = copy_patcher.start() +- +- def deepcopy(to_copy): +- return to_copy +- +- self.mock_copy.side_effect = deepcopy +- +- lock_patcher = mock.patch('LVHDSR.Lock') +- self.mock_lock = lock_patcher.start() +- +- self.addCleanup(mock.patch.stopall) +- +- super(TestLVHDoISCSISR, self).setUp() +- +- @property +- def mock_baseiscsi(self): +- assert len(self.base_srs) == 1 +- single_sr = None +- for sr in self.base_srs: +- single_sr = sr +- +- return single_sr +- +- def baseiscsi(self, srcmd, sr_uuid): +- new_baseiscsi = mock.create_autospec(BaseISCSISR) +- local_iqn = srcmd.dconf['localIQN'] +- target_iqn = srcmd.dconf['targetIQN'] +- target = srcmd.dconf['target'] +- new_baseiscsi.localIQN = local_iqn +- new_baseiscsi.targetIQN = target_iqn +- new_baseiscsi.target = target +- new_baseiscsi.path = os.path.join('/dev/iscsi', target_iqn, target) +- new_baseiscsi.port = 3260 +- new_baseiscsi.chapuser = srcmd.dconf.get('chapuser') +- new_baseiscsi.chappassword = srcmd.dconf.get('chappassword') +- new_baseiscsi.incoming_chapuser = srcmd.dconf.get('incoming_chapuser') +- new_baseiscsi.incoming_chappassword = srcmd.dconf.get('incoming_chappassword') +- self.base_srs.add(new_baseiscsi) +- +- return new_baseiscsi +- +- def create_test_sr(self, sr_cmd): +- self.sr_uuid = str(uuid4()) +- self.subject = LVHDoISCSISR.LVHDoISCSISR( +- sr_cmd, self.sr_uuid) +- +- def test_check_sr_pbd_not_found(self): +- # Arrange +- self.mock_util.find_my_pbd.return_value = None +- self.create_test_sr(self.create_sr_command()) +- +- # Act +- self.subject.check_sr(TEST_SR_UUID) +- +- # Assert +- self.mock_util.find_my_pbd.assert_called_with( +- self.mock_session, 'test_host', 'sr_ref') +- +- def test_check_sr_correct_sessions_count(self): +- # Arrange +- self.mock_util.find_my_pbd.return_value = 'my_pbd' +- self.mock_session.xenapi.PBD.get_other_config.return_value = { +- 'iscsi_sessions': 2 +- } +- self.create_test_sr(self.create_sr_command()) +- +- # Act +- self.subject.check_sr(TEST_SR_UUID) +- +- # Assert +- self.mock_session.xenapi.PBD.get_other_config.assert_called_with('my_pbd') +- +- def test_check_sr_not_enough_sessions(self): +- # Arrange +- self.mock_util.find_my_pbd.return_value = 'my_pbd' +- self.mock_session.xenapi.PBD.get_other_config.return_value = { +- 'iscsi_sessions': 1 +- } +- self.create_test_sr(self.create_sr_command()) +- +- # Act +- self.subject.check_sr(TEST_SR_UUID) +- +- # Assert +- self.mock_baseiscsi.attach.assert_called_with( +- TEST_SR_UUID +- ) +- +- def test_sr_attach_multi_session(self): +- # Arrange +- self.mock_util.find_my_pbd.return_value = 'my_pbd' +- additional_dconf = { +- 'multiSession': '10.207.6.60,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.3.65,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- '10.207.3.61,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.6.61,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.3.63,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- '10.207.6.62,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.3.62,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.3.60,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3393|' +- '10.207.6.64,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- '10.207.6.65,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- '10.207.3.64,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- '10.207.6.63,3260,iqn.2009-11.com.infinidat:storage:infinibox-sn-3394|' +- } +- +- tpg_data = [ +- [ +- ('10.207.3.60:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), +- ('10.207.3.61:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), +- ('10.207.3.62:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393')], +- [ +- ('10.207.3.63:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), +- ('10.207.3.64:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), +- ('10.207.3.65:3260', 1, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394')], +- [ +- ('10.207.6.60:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), +- ('10.207.6.61:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393'), +- ('10.207.6.62:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3393') +- ], +- [ +- ('10.207.6.63:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), +- ('10.207.6.64:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394'), +- ('10.207.6.65:3260', 2, 'iqn.2009-11.com.infinidat:storage:infinibox-sn-3394') +- ] +- ] +- +- self.discovery_data = { +- '10.207.3.60': tpg_data[0], +- '10.207.3.61': tpg_data[0], +- '10.207.3.62': tpg_data[0], +- '10.207.3.63': tpg_data[1], +- '10.207.3.64': tpg_data[1], +- '10.207.3.65': tpg_data[1], +- '10.207.6.60': tpg_data[2], +- '10.207.6.61': tpg_data[2], +- '10.207.6.62': tpg_data[2], +- '10.207.6.63': tpg_data[3], +- '10.207.6.64': tpg_data[3], +- '10.207.6.65': tpg_data[3] +- } +- +- # Create SR +- self.create_test_sr(self.create_sr_command( +- additional_dconf=additional_dconf, +- cmd='sr_attach', +- target_iqn='*')) +- +- # Act +- self.subject.attach(TEST_SR_UUID) +- +- # Assert +- # print(f"iscsilib calls {self.mock_iscsilib.mock_calls}") +- attach_count = 0 +- for sr in self.base_srs: +- attach_count += sr.attach.call_count +- +- self.assertEqual(12, attach_count) +- self.assertEqual(12, self.mock_iscsilib.discovery.call_count) +- self.assertEqual(12, self.mock_iscsilib.login.call_count) +diff --git a/tests/test_sr_health_check.py b/tests/test_sr_health_check.py +deleted file mode 100644 +index 2a59ac8..0000000 +--- a/tests/test_sr_health_check.py ++++ /dev/null +@@ -1,95 +0,0 @@ +-import mock +-import unittest +- +-import sr_health_check +-from SR import SR +- +-TEST_HOST = 'test_host' +- +-SR_UUID = 'sr uuid' +- +- +-class TestSrHealthCheck(unittest.TestCase): +- +- def setUp(self): +- util_patcher = mock.patch('sr_health_check.util') +- self.mock_util = util_patcher.start() +- self.mock_session = mock.MagicMock() +- self.mock_util.get_localAPI_session.return_value = self.mock_session +- sr_patcher = mock.patch('sr_health_check.SR.SR', autospec=True) +- self.mock_sr = sr_patcher.start() +- +- self.addCleanup(mock.patch.stopall) +- +- def expect_good_sr_record(self): +- self.mock_session.xenapi.SR.get_all_records_where.return_value = { +- "iscsi_ref": {'uuid': SR_UUID, 'host': TEST_HOST} +- } +- +- def expect_good_localhost(self): +- self.mock_util.get_localhost_uuid.return_value = TEST_HOST +- +- def expect_good_sm_types(self): +- self.mock_session.xenapi.SM.get_all_records_where.return_value = { +- 'lvmoiscsi_type_ref': {'type': 'lvmoiscsi'} +- } +- +- def test_health_check_no_srs(self): +- # Arrange +- self.expect_good_sm_types() +- self.mock_session.xenapi.SR.get_all_records_where.return_value = {} +- +- # Act +- sr_health_check.main() +- +- # Assert +- self.mock_session.xenapi.SR.get_all_records_where.assert_called() +- +- def test_health_check_no_local_pbd(self): +- # Arrange +- self.expect_good_localhost() +- self.expect_good_sm_types() +- self.expect_good_sr_record() +- self.mock_session.xenapi.PBD.get_all_records_where.return_value = {} +- +- # Act +- sr_health_check.main() +- +- # Assert +- self.mock_session.xenapi.PBD.get_all_records_where.assert_called_with( +- 'field "SR" = "iscsi_ref" and field "host" = "{TEST_HOST}"'.format( +- TEST_HOST=TEST_HOST)) +- +- def test_health_check_sr_not_plugged(self): +- # Arrange +- self.expect_good_localhost() +- self.expect_good_sm_types() +- self.expect_good_sr_record() +- self.mock_session.xenapi.PBD.get_all_records_where.return_value = { +- 'pbd_ref': {'currently_attached': False} +- } +- +- # Act +- sr_health_check.main() +- +- # Assert +- self.mock_session.xenapi.PBD.get_all_records_where.assert_called_with( +- 'field "SR" = "iscsi_ref" and field "host" = "{TEST_HOST}"'.format( +- TEST_HOST=TEST_HOST)) +- +- def test_health_check_run_sr_check(self): +- # Arrange +- self.expect_good_localhost() +- self.expect_good_sm_types() +- self.expect_good_sr_record() +- self.mock_session.xenapi.PBD.get_all_records_where.return_value = { +- 'pbd_ref': {'currently_attached': True} +- } +- mock_sr = mock.create_autospec(SR) +- self.mock_sr.from_uuid.return_value = mock_sr +- +- # Act +- sr_health_check.main() +- +- # Assert +- mock_sr.check_sr.assert_called_with(SR_UUID) +-- +2.46.0 + diff --git a/SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch b/SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch similarity index 84% rename from SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch rename to SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch index 3c50033f..62b7fa1c 100644 --- a/SOURCES/0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch +++ b/SOURCES/0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch @@ -1,7 +1,7 @@ -From b1bffda87658150032f68a59d90117eb8260ae14 Mon Sep 17 00:00:00 2001 +From 81233191b418528ff660f2dcc4f179db598eded5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Feb 2022 18:24:56 +0100 -Subject: [PATCH 024/178] Fix timeout_call: alarm must be reset in case of +Subject: [PATCH 025/178] Fix timeout_call: alarm must be reset in case of success Otherwise the SIGALRM signal can be emitted after the execution @@ -28,5 +28,5 @@ index 8bd3635..77f3f19 100755 def _incr_iscsiSR_refcount(targetIQN, uuid): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch b/SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch similarity index 82% rename from SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch rename to SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch index 15c91a9e..821dcb9f 100644 --- a/SOURCES/0025-timeout_call-returns-the-result-of-user-function-now.patch +++ b/SOURCES/0026-timeout_call-returns-the-result-of-user-function-now.patch @@ -1,7 +1,7 @@ -From e4fa58e917a6d5e090778cfd654383e966abfe9e Mon Sep 17 00:00:00 2001 +From 608866667c3f834f5a8128f0e646b494dbfda73f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Feb 2022 18:28:06 +0100 -Subject: [PATCH 025/178] timeout_call returns the result of user function now +Subject: [PATCH 026/178] timeout_call returns the result of user function now Signed-off-by: Ronan Abhamon --- @@ -22,5 +22,5 @@ index 77f3f19..54fda46 100755 signal.alarm(0) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch b/SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch similarity index 94% rename from SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch rename to SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch index eecb21a0..37c567a6 100644 --- a/SOURCES/0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch +++ b/SOURCES/0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch @@ -1,7 +1,7 @@ -From b32670416ce70d546b3569a6f4cb507c0d3507bf Mon Sep 17 00:00:00 2001 +From e2533c00ebd0e76502dd3b8e4b57bae3e271e19e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 23:16:16 +0100 -Subject: [PATCH 026/178] Always remove the pause tag from VDIs in case of +Subject: [PATCH 027/178] Always remove the pause tag from VDIs in case of failure During VDI activation in the blktap module and in case of failure @@ -54,5 +54,5 @@ index e1f75e9..e9305ce 100755 "blktap_activate_inject_failure", lambda: util.inject_failure()) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch b/SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch similarity index 90% rename from SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch rename to SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch index 5b232993..0f61727f 100644 --- a/SOURCES/0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch +++ b/SOURCES/0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch @@ -1,7 +1,7 @@ -From 56bdcd5312a20c92f5a1683b506ce447fa1914fa Mon Sep 17 00:00:00 2001 +From 2f5bef7771d539e57b314ccb34a51fa91c62582c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 20 Nov 2020 16:42:52 +0100 -Subject: [PATCH 027/178] fix(LinstorSR): repair volumes only if an exclusive +Subject: [PATCH 028/178] fix(LinstorSR): repair volumes only if an exclusive command is executed Signed-off-by: Ronan Abhamon @@ -32,5 +32,5 @@ index 8be1836..a5bf5ab 100755 ) self._vhdutil = LinstorVhdUtil(self.session, self._linstor) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch b/SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch similarity index 99% rename from SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch rename to SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch index b42795dd..a18f9fa4 100644 --- a/SOURCES/0028-feat-LinstorSR-Improve-LINSTOR-performance.patch +++ b/SOURCES/0029-feat-LinstorSR-Improve-LINSTOR-performance.patch @@ -1,7 +1,7 @@ -From 7e1008189ee1d49545d65f14bf6bee65cec21d5c Mon Sep 17 00:00:00 2001 +From fa6b3dcb7cc88a68152282bd9943cbc71a8c8b97 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 10 Dec 2020 17:56:15 +0100 -Subject: [PATCH 028/178] feat(LinstorSR): Improve LINSTOR performance +Subject: [PATCH 029/178] feat(LinstorSR): Improve LINSTOR performance Details: - vdi_attach and vdi_detach are now exclusive @@ -1417,5 +1417,5 @@ index d400421..d617655 100755 return 'xcp-sr-{}'.format(self._group_name) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch b/SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch similarity index 95% rename from SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch rename to SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch index f2de3f53..7087f603 100644 --- a/SOURCES/0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch +++ b/SOURCES/0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch @@ -1,7 +1,7 @@ -From 78f29568ef2faee1f7fd01888169e07336f26f46 Mon Sep 17 00:00:00 2001 +From 7492a4f950f109830dc7b48adee93f0fce76027d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 7 Jan 2021 11:17:08 +0100 -Subject: [PATCH 029/178] feat(LinstorSR): robustify scan to avoid losing VDIs +Subject: [PATCH 030/178] feat(LinstorSR): robustify scan to avoid losing VDIs if function is called outside module Signed-off-by: Ronan Abhamon @@ -87,5 +87,5 @@ index 548f4b1..52131a5 100755 LinstorJournaler.CLONE ).items()) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch b/SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch similarity index 98% rename from SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch rename to SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch index b80fc4f6..02ff3705 100644 --- a/SOURCES/0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch +++ b/SOURCES/0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch @@ -1,7 +1,7 @@ -From fe6494d475ef9c2ef612c1273cdf6dc57f1b876a Mon Sep 17 00:00:00 2001 +From 0569b8b07776f203532c856d8cf92e7fe4957300 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 8 Jan 2021 16:12:15 +0100 -Subject: [PATCH 030/178] feat(LinstorSR): display a correctly readable size +Subject: [PATCH 031/178] feat(LinstorSR): display a correctly readable size for the user Signed-off-by: Ronan Abhamon @@ -277,5 +277,5 @@ index d617655..a6f67d8 100755 self._volume_info_cache_dirty = False -- -2.45.2 +2.46.0 diff --git a/SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch b/SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch similarity index 98% rename from SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch rename to SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch index b644f0a1..cb6c8e64 100644 --- a/SOURCES/0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch +++ b/SOURCES/0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch @@ -1,7 +1,7 @@ -From 6b1de43b38cabd9adc9888136c9134e167876c15 Mon Sep 17 00:00:00 2001 +From e5d09d4036b314c4f2b3fbfa148d367ef319841e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 12 Jan 2021 14:06:34 +0100 -Subject: [PATCH 031/178] feat(linstor-monitord): scan all LINSTOR SRs every 12 +Subject: [PATCH 032/178] feat(linstor-monitord): scan all LINSTOR SRs every 12 minutes to update allocated size stats Signed-off-by: Ronan Abhamon @@ -331,5 +331,5 @@ index 8161813..a1592fd 100644 const int inotifyFd = createInotifyInstance(); -- -2.45.2 +2.46.0 diff --git a/SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch b/SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch similarity index 91% rename from SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch rename to SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch index c4003b23..29ff1f32 100644 --- a/SOURCES/0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch +++ b/SOURCES/0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch @@ -1,7 +1,7 @@ -From 6cdc1b2a0b9f5a8ec880800fc4c8ca5244987733 Mon Sep 17 00:00:00 2001 +From 3fd04d9be881f7ea2c978ba93e4dae3695d3cb74 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 15 Jan 2021 17:01:05 +0100 -Subject: [PATCH 032/178] fix(LinstorSR): call correctly method in _locked_load +Subject: [PATCH 033/178] fix(LinstorSR): call correctly method in _locked_load when vdi_attach_from_config is executed Signed-off-by: Ronan Abhamon @@ -40,5 +40,5 @@ index 16cb0d6..2df2d68 100755 self._master_uri = 'linstor://{}'.format( util.get_master_rec(self.session)['address'] -- -2.45.2 +2.46.0 diff --git a/SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch b/SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch similarity index 99% rename from SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch rename to SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch index 604f9f03..b17acc50 100644 --- a/SOURCES/0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch +++ b/SOURCES/0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch @@ -1,7 +1,7 @@ -From 88914c19b02c38e05fe457e45f1d41431a0bde8b Mon Sep 17 00:00:00 2001 +From f815b2bde1959d8342c5e009e7d739b10b1845ed Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Wed, 20 Jan 2021 18:04:26 +0100 -Subject: [PATCH 033/178] feat(LinstorSR): integrate minidrbdcluster daemon +Subject: [PATCH 034/178] feat(LinstorSR): integrate minidrbdcluster daemon Now, we can: - Start a controller on any node @@ -33,10 +33,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 systemd/minidrbdcluster.service diff --git a/Makefile b/Makefile -index 284b9a3..43dd569 100755 +index c746fcf..2b4940f 100755 --- a/Makefile +++ b/Makefile -@@ -92,6 +92,7 @@ PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/ +@@ -91,6 +91,7 @@ PLUGIN_SCRIPT_DEST := /etc/xapi.d/plugins/ LIBEXEC := /opt/xensource/libexec/ UDEV_RULES_DIR := /etc/udev/rules.d/ UDEV_SCRIPTS_DIR := /etc/udev/scripts/ @@ -44,7 +44,7 @@ index 284b9a3..43dd569 100755 SYSTEMD_SERVICE_DIR := /usr/lib/systemd/system/ INIT_DIR := /etc/rc.d/init.d/ MPATH_CONF_DIR := /etc/multipath.xenserver/ -@@ -99,6 +100,7 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ +@@ -98,6 +99,7 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ MODPROBE_DIR := /etc/modprobe.d/ EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/ LOGROTATE_DIR := /etc/logrotate.d/ @@ -52,7 +52,7 @@ index 284b9a3..43dd569 100755 SM_STAGING := $(DESTDIR) SM_STAMP := $(MY_OBJ_DIR)/.staging_stamp -@@ -147,11 +149,14 @@ install: precheck +@@ -146,11 +148,14 @@ install: precheck mkdir -p $(SM_STAGING)$(UDEV_RULES_DIR) mkdir -p $(SM_STAGING)$(UDEV_SCRIPTS_DIR) mkdir -p $(SM_STAGING)$(INIT_DIR) @@ -67,7 +67,7 @@ index 284b9a3..43dd569 100755 mkdir -p $(SM_STAGING)$(DEBUG_DEST) mkdir -p $(SM_STAGING)$(BIN_DEST) mkdir -p $(SM_STAGING)$(MASTER_SCRIPT_DEST) -@@ -175,6 +180,12 @@ install: precheck +@@ -174,6 +179,12 @@ install: precheck $(SM_STAGING)/$(SM_DEST) install -m 644 etc/logrotate.d/$(SMLOG_CONF) \ $(SM_STAGING)/$(LOGROTATE_DIR) @@ -80,7 +80,7 @@ index 284b9a3..43dd569 100755 install -m 644 etc/make-dummy-sr.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/xs-sm.service \ -@@ -193,6 +204,8 @@ install: precheck +@@ -188,6 +199,8 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/linstor-monitor.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) @@ -89,7 +89,7 @@ index 284b9a3..43dd569 100755 for i in $(UDEV_RULES); do \ install -m 644 udev/$$i.rules \ $(SM_STAGING)$(UDEV_RULES_DIR); done -@@ -242,6 +255,7 @@ install: precheck +@@ -237,6 +250,7 @@ install: precheck install -m 755 scripts/xe-getlunidentifier $(SM_STAGING)$(BIN_DEST) install -m 755 scripts/make-dummy-sr $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/storage-init $(SM_STAGING)$(LIBEXEC) @@ -2065,5 +2065,5 @@ index 0000000..3de6ac4 +[Install] +WantedBy=multi-user.target -- -2.45.2 +2.46.0 diff --git a/SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch b/SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch similarity index 97% rename from SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch rename to SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch index a1c3a772..3be31a6f 100644 --- a/SOURCES/0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch +++ b/SOURCES/0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch @@ -1,7 +1,7 @@ -From 6e0d84cf900e9c41cba663093c911fa025debd34 Mon Sep 17 00:00:00 2001 +From 7eaa8b7d67bd1704b2c8d6537703ed30f5e4303d Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Wed, 24 Feb 2021 11:17:23 +0100 -Subject: [PATCH 034/178] feat(LinstorSR): ensure heartbeat and redo_log VDIs +Subject: [PATCH 035/178] feat(LinstorSR): ensure heartbeat and redo_log VDIs are not diskless Signed-off-by: Ronan Abhamon @@ -164,5 +164,5 @@ index a383e32..d8d64b4 100755 assert volume_properties.namespace == \ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch b/SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch similarity index 97% rename from SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch rename to SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch index d37b5f86..9672e481 100644 --- a/SOURCES/0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch +++ b/SOURCES/0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch @@ -1,7 +1,7 @@ -From 1039b9bb973e2911ae222cd40f4a683bc6fbb83b Mon Sep 17 00:00:00 2001 +From 957fb9efcf9e31071ce90563fae78ce17a5c6aa6 Mon Sep 17 00:00:00 2001 From: Wescoeur Date: Thu, 25 Feb 2021 17:52:57 +0100 -Subject: [PATCH 035/178] feat(LinstorSR): protect sr commands to avoid +Subject: [PATCH 036/178] feat(LinstorSR): protect sr commands to avoid forgetting LINSTOR volumes when master satellite is down Steps to reproduce: @@ -162,5 +162,5 @@ index d943d49..092f5e8 100755 def _load_vdis_ex(self): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch b/SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch similarity index 92% rename from SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch rename to SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch index 0bcd3803..42bc422f 100644 --- a/SOURCES/0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch +++ b/SOURCES/0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch @@ -1,7 +1,7 @@ -From b49cf026ac1d098feec5dbc14898285a59c16011 Mon Sep 17 00:00:00 2001 +From 5e96c8a43e8a672bc1622ed10ba7bc8138caed91 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 8 Mar 2021 13:25:28 +0100 -Subject: [PATCH 036/178] fix(LinstorJournaler): ensure uri is not None during +Subject: [PATCH 037/178] fix(LinstorJournaler): ensure uri is not None during linstor.KV creation Signed-off-by: Ronan Abhamon @@ -53,5 +53,5 @@ index 285012c..3993f60 100755 @staticmethod -- -2.45.2 +2.46.0 diff --git a/SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch b/SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch similarity index 97% rename from SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch rename to SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch index b7821c4c..0515369c 100644 --- a/SOURCES/0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch +++ b/SOURCES/0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch @@ -1,7 +1,7 @@ -From cab8593814b9b741a20d218df673a58d98dc3a79 Mon Sep 17 00:00:00 2001 +From 4a5e7d4ee020c3e1fa1b07a2306dd6480003da43 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 22 Mar 2021 17:32:26 +0100 -Subject: [PATCH 037/178] feat(LinstorSR): add an option to disable auto-quorum +Subject: [PATCH 038/178] feat(LinstorSR): add an option to disable auto-quorum on volume DB + fix doc Signed-off-by: Ronan Abhamon @@ -141,5 +141,5 @@ index d8d64b4..27c8df5 100755 current_device_path = cls._request_database_path(lin, activate=True) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch b/SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch similarity index 90% rename from SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch rename to SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch index 02be14d5..676a546d 100644 --- a/SOURCES/0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch +++ b/SOURCES/0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch @@ -1,7 +1,7 @@ -From 9e0f7c02ae9c09c9d3be6ab4bcec31325d95e719 Mon Sep 17 00:00:00 2001 +From 5a2642058762b8fa64c44b53e89618f5c7b77f3b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 23 Mar 2021 14:49:39 +0100 -Subject: [PATCH 038/178] fix(LinstorVolumeManager): add a workaround to create +Subject: [PATCH 039/178] fix(LinstorVolumeManager): add a workaround to create properly SR with thin LVM Signed-off-by: Ronan Abhamon @@ -32,5 +32,5 @@ index 27c8df5..3aaffdf 100755 cls._check_volume_creation_errors(lin.resource_group_spawn( rsc_grp_name=group_name, -- -2.45.2 +2.46.0 diff --git a/SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch b/SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch similarity index 97% rename from SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch rename to SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch index bdc73815..b95e853c 100644 --- a/SOURCES/0039-feat-LinstorSR-add-optional-ips-parameter.patch +++ b/SOURCES/0040-feat-LinstorSR-add-optional-ips-parameter.patch @@ -1,7 +1,7 @@ -From 89daa5b5525c2636a624fa4cf583d5b43ca06aad Mon Sep 17 00:00:00 2001 +From 0940fe2bfcfc74d6252a07cf95d1f261bf77cfc8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Mar 2021 10:06:58 +0100 -Subject: [PATCH 039/178] feat(LinstorSR): add optional ips parameter +Subject: [PATCH 040/178] feat(LinstorSR): add optional ips parameter Signed-off-by: Ronan Abhamon --- @@ -119,5 +119,5 @@ index 3aaffdf..5c04d02 100755 group_name = cls._build_group_name(group_name) pools = lin.storage_pool_list_raise(filter_by_stor_pools=[group_name]) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch b/SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch similarity index 98% rename from SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch rename to SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch index 5e0bd66b..f27f2ddf 100644 --- a/SOURCES/0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch +++ b/SOURCES/0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch @@ -1,7 +1,7 @@ -From fbe2c09a13bb93031b43b77a54cdb678e743654a Mon Sep 17 00:00:00 2001 +From f54ac1cef57268f0f7494af54fd4008a9aa67481 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Mar 2021 16:13:20 +0100 -Subject: [PATCH 040/178] feat(LinstorSR): add a helper `log_drbd_erofs` to +Subject: [PATCH 041/178] feat(LinstorSR): add a helper `log_drbd_erofs` to trace EROFS errno code with DRBD resources + check EROFS error Signed-off-by: Ronan Abhamon @@ -213,5 +213,5 @@ index 422834e..0a8fe91 100755 def getVHDInfo(path, extractUuidFunction, includeParent = True): """Get the VHD info. The parent info may optionally be omitted: vhd-util -- -2.45.2 +2.46.0 diff --git a/SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch b/SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch similarity index 94% rename from SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch rename to SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch index 1664b03e..2fccdc94 100644 --- a/SOURCES/0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch +++ b/SOURCES/0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch @@ -1,7 +1,7 @@ -From c651376bea317652fd4e6bc53af741935126dc14 Mon Sep 17 00:00:00 2001 +From 70e19894b836132d11001dd506dc1f6b97c38a57 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 28 Apr 2021 15:15:58 +0200 -Subject: [PATCH 041/178] fix(LinstorSR): try to restart the services again if +Subject: [PATCH 042/178] fix(LinstorSR): try to restart the services again if there is a failure in linstor-manager Signed-off-by: Ronan Abhamon @@ -70,5 +70,5 @@ index a06ed20..dcd4bc6 100755 def stop_service(name): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch b/SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch similarity index 89% rename from SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch rename to SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch index b53f2576..933e3dfc 100644 --- a/SOURCES/0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch +++ b/SOURCES/0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch @@ -1,7 +1,7 @@ -From 54f90dbbb0433346a2ce8bf2563ab24277085011 Mon Sep 17 00:00:00 2001 +From 00000e9bd493c60ff0fd29bd1ee0612188f14cba Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 26 Aug 2021 15:26:11 +0200 -Subject: [PATCH 042/178] fix(LinstorSR): robustify linstor-manager to never +Subject: [PATCH 043/178] fix(LinstorSR): robustify linstor-manager to never include from plugins path Signed-off-by: Ronan Abhamon @@ -35,5 +35,5 @@ index dcd4bc6..f12747f 100755 from linstorvolumemanager import get_controller_uri, LinstorVolumeManager from lock import Lock -- -2.45.2 +2.46.0 diff --git a/SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch b/SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch similarity index 93% rename from SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch rename to SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch index fc1f3d7f..41606748 100644 --- a/SOURCES/0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch +++ b/SOURCES/0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch @@ -1,7 +1,7 @@ -From 1f8ccb5783db73c690eb900d43ee79fccd0776ba Mon Sep 17 00:00:00 2001 +From 388927905668b5f4b577b2099ea95fcae1f62c57 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 26 Aug 2021 16:52:01 +0200 -Subject: [PATCH 043/178] fix(LinstorSR): prevent starting controller during +Subject: [PATCH 044/178] fix(LinstorSR): prevent starting controller during fail in linstor manager destroy method Signed-off-by: Ronan Abhamon @@ -61,5 +61,5 @@ index 0357b92..e9b7c2f 100755 def _is_mounted(mountpoint): (ret, out, err) = util.doexec(['mountpoint', '-q', mountpoint]) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch b/SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch similarity index 97% rename from SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch rename to SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch index 1306e8d8..fb67162c 100644 --- a/SOURCES/0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch +++ b/SOURCES/0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch @@ -1,7 +1,7 @@ -From 8284e3d6bac01e92fe0fd1f3594ae34b60749ee0 Mon Sep 17 00:00:00 2001 +From 7bbb8e4cb68122d9e2a784dae2359edbe8a16445 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Oct 2021 14:48:17 +0200 -Subject: [PATCH 044/178] feat(LinstorVolumeManager): increase peer slots limit +Subject: [PATCH 045/178] feat(LinstorVolumeManager): increase peer slots limit (support 31 connections to a DRBD) - Also, create diskless devices when db is created @@ -166,5 +166,5 @@ index e9b7c2f..553e2f5 100755 # /dev/drbd/by-res/. expected_device_path = cls.build_device_path(DATABASE_VOLUME_NAME) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch b/SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch similarity index 96% rename from SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch rename to SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch index fa48e348..15f6bba4 100644 --- a/SOURCES/0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch +++ b/SOURCES/0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch @@ -1,7 +1,7 @@ -From c12c3f0de5c9fc0c9330263a452509697e86ec6e Mon Sep 17 00:00:00 2001 +From c96f969e228b789d1ac28ae17eb35255cfee0aa0 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 20 Oct 2021 14:33:04 +0200 -Subject: [PATCH 045/178] feat(LinstorVolumeManager): add a fallback to find +Subject: [PATCH 046/178] feat(LinstorVolumeManager): add a fallback to find controller uri (when len(hosts) >= 4) Signed-off-by: Ronan Abhamon @@ -113,5 +113,5 @@ index 553e2f5..821ef42 100755 def get_controller_uri(): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch b/SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch similarity index 95% rename from SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch rename to SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch index 72aa4cd2..27db1348 100644 --- a/SOURCES/0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch +++ b/SOURCES/0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch @@ -1,7 +1,7 @@ -From c532e3550512008db3ba7fd5dcb1367d18d73578 Mon Sep 17 00:00:00 2001 +From 1911a8c147f036f0e57062cb3134c6798a468e30 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Oct 2021 11:13:07 +0200 -Subject: [PATCH 046/178] fix(var-lib-linstor.mount): ensure we always mount +Subject: [PATCH 047/178] fix(var-lib-linstor.mount): ensure we always mount database with RW flags Sometimes systemd fallback to read only FS if the volume can't be mounted, we must @@ -19,10 +19,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 etc/systemd/system/var-lib-linstor.service diff --git a/Makefile b/Makefile -index 43dd569..2eb6a86 100755 +index 2b4940f..056b299 100755 --- a/Makefile +++ b/Makefile -@@ -182,7 +182,7 @@ install: precheck +@@ -181,7 +181,7 @@ install: precheck $(SM_STAGING)/$(LOGROTATE_DIR) install -m 644 etc/systemd/system/linstor-satellite.service.d/override.conf \ $(SM_STAGING)/$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d/ @@ -106,5 +106,5 @@ index 0000000..d230d04 +ExecStop=/bin/umount /var/lib/linstor +RemainAfterExit=true -- -2.45.2 +2.46.0 diff --git a/SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch b/SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch similarity index 92% rename from SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch rename to SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch index 328595b7..b757fa1b 100644 --- a/SOURCES/0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch +++ b/SOURCES/0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch @@ -1,7 +1,7 @@ -From a7aeadb712732b37f7dc8857d3999bfc01751308 Mon Sep 17 00:00:00 2001 +From 53850ec1f126a68485c20d01a81da2529ba19d90 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Oct 2021 11:51:32 +0200 -Subject: [PATCH 047/178] feat(LinstorVolumeManager): add a fallback to find +Subject: [PATCH 048/178] feat(LinstorVolumeManager): add a fallback to find node name (when len(hosts) >= 4) Signed-off-by: Ronan Abhamon @@ -48,5 +48,5 @@ index 821ef42..e497afa 100755 # ============================================================================== -- -2.45.2 +2.46.0 diff --git a/SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch b/SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch similarity index 92% rename from SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch rename to SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch index 62513821..8acc15de 100644 --- a/SOURCES/0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch +++ b/SOURCES/0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch @@ -1,7 +1,7 @@ -From 7747dc7656e0291ac3233d74157d7703671b0b06 Mon Sep 17 00:00:00 2001 +From a719956530bd08539fa58f1cfd0043779cc7c0d9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Oct 2021 10:44:00 +0200 -Subject: [PATCH 048/178] feat(LinstorSR): explain on which host, plugins +Subject: [PATCH 049/178] feat(LinstorSR): explain on which host, plugins commands are executed Signed-off-by: Ronan Abhamon @@ -46,5 +46,5 @@ index 4b761b5..519afb2 100755 ) if ret == 'False': -- -2.45.2 +2.46.0 diff --git a/SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch b/SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch similarity index 90% rename from SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch rename to SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch index 1e9d4df3..53db14c1 100644 --- a/SOURCES/0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch +++ b/SOURCES/0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch @@ -1,7 +1,7 @@ -From 0f3667547a0b1c68a96ff12e49dc2fa8edc52da7 Mon Sep 17 00:00:00 2001 +From ea6fa3de772d60b15718834e0510e47bedb334fc Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 3 Nov 2021 14:59:31 +0100 -Subject: [PATCH 049/178] fix(LinstorSR): create diskless path if necessary +Subject: [PATCH 050/178] fix(LinstorSR): create diskless path if necessary during VDI loading Signed-off-by: Ronan Abhamon @@ -32,5 +32,5 @@ index 519afb2..15b9dda 100755 self.size = vhd_info.sizeVirt self.parent = vhd_info.parentUuid -- -2.45.2 +2.46.0 diff --git a/SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch b/SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch similarity index 99% rename from SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch rename to SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch index 94295b99..0b51b002 100644 --- a/SOURCES/0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch +++ b/SOURCES/0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch @@ -1,7 +1,7 @@ -From d0c2d229c7119e53f1675388c6f2d07afdcafb45 Mon Sep 17 00:00:00 2001 +From 38960f4621164640ed1c4423959e0fd195569403 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 12 May 2022 17:52:35 +0200 -Subject: [PATCH 050/178] feat(LinstorSR): use HTTP/NBD instead of DRBD +Subject: [PATCH 051/178] feat(LinstorSR): use HTTP/NBD instead of DRBD directly with heartbeat VDI Signed-off-by: Ronan Abhamon @@ -17,10 +17,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/fork-log-daemon diff --git a/Makefile b/Makefile -index 2eb6a86..af1011a 100755 +index 056b299..992d9ef 100755 --- a/Makefile +++ b/Makefile -@@ -239,6 +239,7 @@ install: precheck +@@ -234,6 +234,7 @@ install: precheck install -m 755 drivers/iscsilib.py $(SM_STAGING)$(SM_DEST) install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) @@ -759,5 +759,5 @@ index 0000000..eb0f0b0 + finally: + syslog.syslog(sys.argv[1] + ' is now terminated!') -- -2.45.2 +2.46.0 diff --git a/SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch b/SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch similarity index 98% rename from SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch rename to SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch index 22c8143b..a75c5010 100644 --- a/SOURCES/0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch +++ b/SOURCES/0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch @@ -1,7 +1,7 @@ -From 8ae218c2942ac22a017a9cc880ab631f5aa69c36 Mon Sep 17 00:00:00 2001 +From 43cdaa51754d3e397f17e2092a64919daf6e4a05 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 3 Mar 2022 15:02:17 +0100 -Subject: [PATCH 051/178] fix(LinstorSR): find controller when XAPI unreachable +Subject: [PATCH 052/178] fix(LinstorSR): find controller when XAPI unreachable (XHA) Signed-off-by: Ronan Abhamon @@ -183,5 +183,5 @@ index da98e0b..b4ee783 100755 linstor.errors.LinstorNetworkError, LinstorVolumeManagerError -- -2.45.2 +2.46.0 diff --git a/SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch b/SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch similarity index 98% rename from SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch rename to SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch index 0e3d0fdc..fcdf5de2 100644 --- a/SOURCES/0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch +++ b/SOURCES/0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch @@ -1,7 +1,7 @@ -From db8a2032a451a16d6bb7a7cadd6fbc8ce4795443 Mon Sep 17 00:00:00 2001 +From a6d4a6ef809faeb91f4cd7c7f4e4bba8dc2d0b7f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 24 Mar 2022 18:13:46 +0100 -Subject: [PATCH 052/178] fix(LinstorSR): use IPs instead of hostnames in NBD +Subject: [PATCH 053/178] fix(LinstorSR): use IPs instead of hostnames in NBD server Without this patch we can't use XCP-ng hosts configured with static IPS. @@ -204,5 +204,5 @@ index 6a9fc1a..7c52703 100755 host_uuid = get_this_host() host_ref = session.xenapi.host.get_by_uuid(host_uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch b/SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch similarity index 87% rename from SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch rename to SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch index 45dc54f2..9611e49e 100644 --- a/SOURCES/0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch +++ b/SOURCES/0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch @@ -1,7 +1,7 @@ -From e7ecc4da932107ccc26ec88b0dd37818222c6852 Mon Sep 17 00:00:00 2001 +From 5e39604cc13941a2d3fe20a2096e3553c1838dba Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 31 Mar 2022 11:21:19 +0200 -Subject: [PATCH 053/178] fix(LinstorVolumeManager): ensure we always use IPs +Subject: [PATCH 054/178] fix(LinstorVolumeManager): ensure we always use IPs in _get_controller_uri Otherwise if a hostname is returned, we can't use it if the XCP-ng pool @@ -26,5 +26,5 @@ index b4ee783..2d5c63e 100755 # Not found, maybe we are trying to create the SR... pass -- -2.45.2 +2.46.0 diff --git a/SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch b/SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch similarity index 99% rename from SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch rename to SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch index bd9798ac..176ac7b9 100644 --- a/SOURCES/0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch +++ b/SOURCES/0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch @@ -1,7 +1,7 @@ -From cf24400a72eca939c89f7896fe4235adab492b88 Mon Sep 17 00:00:00 2001 +From 28aba096541cca6fb8afcf8d0cb4789b8ef8575f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 6 Apr 2022 17:53:02 +0200 -Subject: [PATCH 054/178] feat(linstor-manager): add methods to add remove/host +Subject: [PATCH 055/178] feat(linstor-manager): add methods to add remove/host from LINSTOR SR Signed-off-by: Ronan Abhamon @@ -421,5 +421,5 @@ index 2d5c63e..6c0d5aa 100755 def create_sr( cls, group_name, node_names, ips, redundancy, -- -2.45.2 +2.46.0 diff --git a/SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch b/SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch similarity index 97% rename from SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch rename to SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch index 01157232..096b0ba0 100644 --- a/SOURCES/0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch +++ b/SOURCES/0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch @@ -1,7 +1,7 @@ -From 737bf6cafdcabf0e4e675e6440488a13df703f51 Mon Sep 17 00:00:00 2001 +From 20097cdf57ee556867918c67505fe017d56e20a8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 13 Apr 2022 15:56:42 +0200 -Subject: [PATCH 055/178] feat(LinstorVolumeManager): support SR creation with +Subject: [PATCH 056/178] feat(LinstorVolumeManager): support SR creation with diskless nodes Signed-off-by: Ronan Abhamon @@ -126,5 +126,5 @@ index 6c0d5aa..430e080 100755 node_name=node_name, rsc_name=DATABASE_VOLUME_NAME, -- -2.45.2 +2.46.0 diff --git a/SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch b/SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch similarity index 93% rename from SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch rename to SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch index 8aea78b4..98c61652 100644 --- a/SOURCES/0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch +++ b/SOURCES/0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch @@ -1,7 +1,7 @@ -From 8a4e120a3b9c03b8f44ebc5bc28c774e1fb13fea Mon Sep 17 00:00:00 2001 +From 95fd9bba2bffc7313f5d155779e14d3922974584 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 14 Apr 2022 10:30:23 +0200 -Subject: [PATCH 056/178] feat(LinstorSR): add a config var to disable HTTP/NBD +Subject: [PATCH 057/178] feat(LinstorSR): add a config var to disable HTTP/NBD servers Signed-off-by: Ronan Abhamon @@ -50,5 +50,5 @@ index 413c550..927e477 100755 ]: if not self.path or not util.pathexists(self.path): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch b/SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch similarity index 95% rename from SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch rename to SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch index 553c0a44..f86173ad 100644 --- a/SOURCES/0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch +++ b/SOURCES/0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch @@ -1,7 +1,7 @@ -From 68128105b3464925de8959b6b57c436f7fafd2c7 Mon Sep 17 00:00:00 2001 +From dc48c3878151d9c23db4ca8c5a6247da70797d8c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 14 Apr 2022 15:45:20 +0200 -Subject: [PATCH 057/178] feat(LinstorSr): ensure LVM group is activated during +Subject: [PATCH 058/178] feat(LinstorSr): ensure LVM group is activated during SR.attach/create Signed-off-by: Ronan Abhamon @@ -95,5 +95,5 @@ index 7e34ce6..91731b1 100755 # We don't want to enable and start minidrbdcluster daemon during # SR creation. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch b/SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch similarity index 98% rename from SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch rename to SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch index 478f5ac9..44250d42 100644 --- a/SOURCES/0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch +++ b/SOURCES/0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch @@ -1,7 +1,7 @@ -From b2e5c8fe9e77c7691f65af4b5d90cc4359064254 Mon Sep 17 00:00:00 2001 +From 705841677140a8163c1ff3df384002e1e03c2678 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 25 Apr 2022 14:47:51 +0200 -Subject: [PATCH 058/178] feat(linstor-manager): add method to create LinstorSR +Subject: [PATCH 059/178] feat(linstor-manager): add method to create LinstorSR + to list/destroy DRBD volumes Signed-off-by: Ronan Abhamon @@ -243,5 +243,5 @@ index 91731b1..7893ebc 100755 + 'destroyDrbdVolumes': destroy_drbd_volumes }) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch b/SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch similarity index 87% rename from SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch rename to SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch index 6fdf2046..96932fd4 100644 --- a/SOURCES/0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch +++ b/SOURCES/0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch @@ -1,7 +1,7 @@ -From 14e0b3c2bc3cbfccfa8356a953c51f38b20feb41 Mon Sep 17 00:00:00 2001 +From 136b46200c12aa90dd246559107e0f742ccb66a7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Apr 2022 11:20:08 +0200 -Subject: [PATCH 059/178] fix(LinstorSR): always set vdi_path in +Subject: [PATCH 060/178] fix(LinstorSR): always set vdi_path in generate_config If the volume of a generated config is not related to HTTP/NBD @@ -27,5 +27,5 @@ index e2d3d78..1855e3d 100755 # Axiom: DRBD device is present on at least one host. resp['vdi_path'] = '/dev/http-nbd/' + volume_name -- -2.45.2 +2.46.0 diff --git a/SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch b/SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch similarity index 89% rename from SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch rename to SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch index e8610274..de60de7c 100644 --- a/SOURCES/0060-fix-minidrbdcluster-supports-new-properties-like-for.patch +++ b/SOURCES/0061-fix-minidrbdcluster-supports-new-properties-like-for.patch @@ -1,7 +1,7 @@ -From 5ecce33563f1c19c3ac9b61b3a6656594e96dfee Mon Sep 17 00:00:00 2001 +From 49fad6ce14acee828ef7d5c90abbc1a4310b788c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 13 May 2022 14:35:57 +0200 -Subject: [PATCH 060/178] fix(minidrbdcluster): supports new properties like +Subject: [PATCH 061/178] fix(minidrbdcluster): supports new properties like `force-io-failures` Signed-off-by: Ronan Abhamon @@ -33,5 +33,5 @@ index a04b6c1..fb4de09 100755 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch b/SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch similarity index 95% rename from SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch rename to SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch index d67cdc2b..5b285872 100644 --- a/SOURCES/0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch +++ b/SOURCES/0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch @@ -1,7 +1,7 @@ -From 4d0a06570aced0a760f9dfdceec64fe5db257cd6 Mon Sep 17 00:00:00 2001 +From c72704cc8eeb8c7ee16b9ff919c012613e58e9b9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 18 May 2022 17:28:33 +0200 -Subject: [PATCH 061/178] fix(LinstorSR): enabled/disable minidrbcluster with +Subject: [PATCH 062/178] fix(LinstorSR): enabled/disable minidrbcluster with fixed order Ensure we disable minidrbdcluster during SR destruction on all hosts @@ -80,5 +80,5 @@ index 1855e3d..57280e3 100755 # -------------------------------------------------------------------------- # Metadata. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch b/SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch similarity index 90% rename from SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch rename to SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch index e42f1f48..cbbc3661 100644 --- a/SOURCES/0062-fix-linstor-manager-change-linstor-satellite-start-b.patch +++ b/SOURCES/0063-fix-linstor-manager-change-linstor-satellite-start-b.patch @@ -1,7 +1,7 @@ -From 94412eef0fcaf1b5ac5d0367e25b7ce54b33845c Mon Sep 17 00:00:00 2001 +From 753d654a5f81243b6c7a28880b5936ff0a4077c5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 31 May 2022 14:01:45 +0200 -Subject: [PATCH 062/178] fix(linstor-manager): change linstor satellite start +Subject: [PATCH 063/178] fix(linstor-manager): change linstor satellite start behavior Ensure we don't have an invalid cache used by a satellite: @@ -37,5 +37,5 @@ index 7893ebc..c6d622f 100755 def update_minidrbdcluster_service(start): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch b/SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch similarity index 96% rename from SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch rename to SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch index 62df6549..280d7a3d 100644 --- a/SOURCES/0063-Fix-is_open-call-for-LinstorSR.patch +++ b/SOURCES/0064-Fix-is_open-call-for-LinstorSR.patch @@ -1,7 +1,7 @@ -From 85411fa09ac82dcafe0ad600fcbfaa92d10380c5 Mon Sep 17 00:00:00 2001 +From 1a7b9177a0975ef6663607077797d3fe00b73bc6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Jun 2022 09:04:28 +0200 -Subject: [PATCH 063/178] Fix is_open call for LinstorSR +Subject: [PATCH 064/178] Fix is_open call for LinstorSR 1. Ensure LinstorSR driver is imported in `_is_open` definition to register it in the driver list. Otherwise this function always fails with a SRUnknownType exception. @@ -102,5 +102,5 @@ index 54ebcd3..4c12d90 100644 def fake_import(self, name, *args): print 'Asked to import {}'.format(name) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch b/SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch similarity index 92% rename from SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch rename to SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch index a9e55866..8b21e2fe 100644 --- a/SOURCES/0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch +++ b/SOURCES/0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch @@ -1,7 +1,7 @@ -From 6006799b8f99c1b0bcd303543145ea602196f55a Mon Sep 17 00:00:00 2001 +From d03d8fb5ef8790e9de1229200c8cd5e873990026 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 2 Jun 2022 09:28:32 +0200 -Subject: [PATCH 064/178] fix(linstorvhdutil): fix boolean params of `check` +Subject: [PATCH 065/178] fix(linstorvhdutil): fix boolean params of `check` call `ignoreMissingFooter` and `fast` must be string types to be used with XAPI plugin API. @@ -46,5 +46,5 @@ index 9ba0ac3..f3d9870 100644 @linstorhostcall(vhdutil.check, 'check') -- -2.45.2 +2.46.0 diff --git a/SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch b/SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch similarity index 98% rename from SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch rename to SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch index 351aab2c..3eee1817 100644 --- a/SOURCES/0065-feat-linstor-manager-robustify-exec_create_sr.patch +++ b/SOURCES/0066-feat-linstor-manager-robustify-exec_create_sr.patch @@ -1,7 +1,7 @@ -From 04e8aff781147e433b56f68626e60a48daa48d8d Mon Sep 17 00:00:00 2001 +From 78820c47841ddce844286d12a590bd04c8b7f065 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 30 Jun 2022 17:09:51 +0200 -Subject: [PATCH 065/178] feat(linstor-manager): robustify exec_create_sr +Subject: [PATCH 066/178] feat(linstor-manager): robustify exec_create_sr - Use lvm.py XCP-ng xapi plugins instead of lvm (old name) - Check arguments to create the SR @@ -202,5 +202,5 @@ index 63c0e3e..2930a9e 100755 util.SMlog('linstor-manager:create_sr error: {}'.format(e)) raise -- -2.45.2 +2.46.0 diff --git a/SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch b/SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch similarity index 84% rename from SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch rename to SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch index 229ab9ca..81296324 100644 --- a/SOURCES/0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch +++ b/SOURCES/0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch @@ -1,7 +1,7 @@ -From a410c0926c90f086dfd75c8f0800f8340bd17b6c Mon Sep 17 00:00:00 2001 +From a4922a1709c39af0a7c1a9808bbf7bc03300fcd4 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 8 Jul 2022 14:52:25 +0200 -Subject: [PATCH 066/178] fix(cleanup): print LINSTOR VDI UUID if error during +Subject: [PATCH 067/178] fix(cleanup): print LINSTOR VDI UUID if error during info loading (not SR UUID) Signed-off-by: Ronan Abhamon @@ -23,5 +23,5 @@ index 9e3a5b0..7eeeee7 100755 info = vhdutil.VHDInfo(vdi_uuid) info.error = 1 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch b/SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch similarity index 97% rename from SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch rename to SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch index d3e40ab6..16321499 100644 --- a/SOURCES/0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch +++ b/SOURCES/0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch @@ -1,7 +1,7 @@ -From 863142f5c55a0aa0d6c2a9d4f3df8b22d72ae830 Mon Sep 17 00:00:00 2001 +From 08c339d4c31048e5d979712dad5adb4cf82c95c7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 21 Jul 2022 11:39:20 +0200 -Subject: [PATCH 067/178] feat(cleanup): raise and dump DRBD openers in case of +Subject: [PATCH 068/178] feat(cleanup): raise and dump DRBD openers in case of bad coalesce Signed-off-by: Ronan Abhamon @@ -142,5 +142,5 @@ index 430e080..d17845b 100755 """ Give a volume dictionnary that contains names actually owned. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch b/SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch similarity index 97% rename from SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch rename to SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch index d0777784..64ec0f74 100644 --- a/SOURCES/0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch +++ b/SOURCES/0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch @@ -1,7 +1,7 @@ -From 0e339b0d445c78b6c7f5497d8ed1d3aefab91ff1 Mon Sep 17 00:00:00 2001 +From 0e6bde3144a0b8cf47aa5e569e6e42b39603bb00 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 22 Jul 2022 10:26:20 +0200 -Subject: [PATCH 068/178] feat(linstorvhdutil): trace DRBD openers in case of +Subject: [PATCH 069/178] feat(linstorvhdutil): trace DRBD openers in case of EROFS errors Signed-off-by: Ronan Abhamon @@ -131,5 +131,5 @@ index f3d9870..d6a21c2 100644 # -------------------------------------------------------------------------- # Helpers. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch b/SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch similarity index 96% rename from SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch rename to SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch index 497d07f2..be2bce35 100644 --- a/SOURCES/0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch +++ b/SOURCES/0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch @@ -1,7 +1,7 @@ -From 68aacc7508fac8113652c6670d2ac5f2ea936a70 Mon Sep 17 00:00:00 2001 +From 4ac2809b987876231912df71bdc6aed6fb02822a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 29 Jul 2022 17:25:48 +0200 -Subject: [PATCH 069/178] fix(linstorvolumemanager): compute correctly size in +Subject: [PATCH 070/178] fix(linstorvolumemanager): compute correctly size in allocated_volume_size Remove replication count in computation. @@ -94,5 +94,5 @@ index d17845b..3806cc9 100755 @property def metadata(self): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch b/SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch similarity index 98% rename from SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch rename to SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch index 0741ffc1..14044189 100644 --- a/SOURCES/0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch +++ b/SOURCES/0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch @@ -1,7 +1,7 @@ -From 18ac9ddc0672f43c3139baa13a4f761b7876589c Mon Sep 17 00:00:00 2001 +From 40e0621614ab4334c1edc21e88ae24d5e72df7d6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 9 Aug 2022 11:07:57 +0200 -Subject: [PATCH 070/178] feat(LinstorSR): use DRBD openers instead of lsof to +Subject: [PATCH 071/178] feat(LinstorSR): use DRBD openers instead of lsof to log in blktap2 Signed-off-by: Ronan Abhamon @@ -323,5 +323,5 @@ index 3806cc9..6f4c590 100755 + '`{}` is open: {}'.format(path, e) + ) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch b/SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch similarity index 94% rename from SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch rename to SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch index c3a1cc30..2ffc5bc7 100644 --- a/SOURCES/0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch +++ b/SOURCES/0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch @@ -1,7 +1,7 @@ -From 3f729f3f7dde9406ef215145a4f6eefa81aae1f8 Mon Sep 17 00:00:00 2001 +From 2bf415703e247e502c8e036ce9a3216888ceab37 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 25 Aug 2022 12:11:18 +0200 -Subject: [PATCH 071/178] feat(LinstorSR): support cProfile to trace calls when +Subject: [PATCH 072/178] feat(LinstorSR): support cProfile to trace calls when a command is executed Signed-off-by: Ronan Abhamon @@ -89,5 +89,5 @@ index 7c52703..fe8e13d 100755 + finally: + SMlog('* End profiling of {} ({}) *'.format(name, filename)) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch b/SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch similarity index 83% rename from SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch rename to SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch index 4fba9a40..823a1dc6 100644 --- a/SOURCES/0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch +++ b/SOURCES/0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch @@ -1,7 +1,7 @@ -From 59692503da25a54c146930e8d4d89b9630aedaa2 Mon Sep 17 00:00:00 2001 +From e2900bfd2689841a1230bfbbe9e5c34b735503ea Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Aug 2022 17:09:11 +0200 -Subject: [PATCH 072/178] fix(LinstorJournaler): reset namespace when `get` is +Subject: [PATCH 073/178] fix(LinstorJournaler): reset namespace when `get` is called Otherwise, we can be in the wrong namespace and the key to find will be inaccessible. @@ -22,5 +22,5 @@ index 3993f60..1e85ec9 100755 def get_all(self, type): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch b/SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch similarity index 99% rename from SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch rename to SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch index 8eb5817b..0a2040a9 100644 --- a/SOURCES/0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch +++ b/SOURCES/0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch @@ -1,7 +1,7 @@ -From bcfea8f64f43e8f8d074df3c191227d8410b0402 Mon Sep 17 00:00:00 2001 +From 640c28db2bd83893634fa8740abbbd1023cee0ab Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 25 Aug 2022 10:54:56 +0200 -Subject: [PATCH 073/178] fix(linstorvhdutil): fix coalesce with VM running +Subject: [PATCH 074/178] fix(linstorvhdutil): fix coalesce with VM running under specific scenario: When a VM is running, we can't coalesce without this patch with a long chain @@ -550,5 +550,5 @@ index 0a8fe91..d75edb1 100755 def getVHDInfo(path, extractUuidFunction, includeParent = True): """Get the VHD info. The parent info may optionally be omitted: vhd-util -- -2.45.2 +2.46.0 diff --git a/SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch b/SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch similarity index 93% rename from SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch rename to SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch index 761f5530..ed44f497 100644 --- a/SOURCES/0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch +++ b/SOURCES/0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch @@ -1,7 +1,7 @@ -From e98d435ba2b95672803cd15c5ba6cd89209743d0 Mon Sep 17 00:00:00 2001 +From af2068715b685b59877d80e2328c10c6dc14318b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Sep 2022 15:09:17 +0200 -Subject: [PATCH 074/178] fix(linstorvolumemanager): `_get_volumes_info` +Subject: [PATCH 075/178] fix(linstorvolumemanager): `_get_volumes_info` doesn't raise with offline host Ensure this method doesn't raise an exception when a host is offline. @@ -46,5 +46,5 @@ index 6f4c590..a1bc151 100755 for current in all_volume_info.values(): current.allocated_size *= 1024 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch b/SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch similarity index 90% rename from SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch rename to SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch index 72f6b15d..e2bc6a51 100644 --- a/SOURCES/0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch +++ b/SOURCES/0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch @@ -1,7 +1,7 @@ -From 462cc34d48bfafc96dd042ae7ee97c5801b436a5 Mon Sep 17 00:00:00 2001 +From 43ecef813014a86cd92c70e0411f725c24714fe9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Sep 2022 15:56:09 +0200 -Subject: [PATCH 075/178] fix(linstorvolumemanager): remove double prefix on kv +Subject: [PATCH 076/178] fix(linstorvolumemanager): remove double prefix on kv group name - Before this patch, when the kv store was created/accessed, a double "xcp-sr-" prefix was used. @@ -36,5 +36,5 @@ index a1bc151..3ee5d24 100755 def _build_sr_namespace(cls): return '/{}/'.format(cls.NAMESPACE_SR) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch b/SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch similarity index 92% rename from SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch rename to SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch index feec22b2..80f0d640 100644 --- a/SOURCES/0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch +++ b/SOURCES/0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch @@ -1,7 +1,7 @@ -From f0413a9d9d7616aac2fe7394cdb0dc50fdaeb835 Mon Sep 17 00:00:00 2001 +From 494ecc96c37cb01698c825c00f9ddb3e5c6f53c3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Sep 2022 17:54:57 +0200 -Subject: [PATCH 076/178] feat(LinstorSR): add linstor-kv-dump helper to print +Subject: [PATCH 077/178] feat(LinstorSR): add linstor-kv-dump helper to print kv store Signed-off-by: Ronan Abhamon @@ -12,10 +12,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/linstor-kv-dump diff --git a/Makefile b/Makefile -index af1011a..aa71f80 100755 +index 992d9ef..5cdecab 100755 --- a/Makefile +++ b/Makefile -@@ -240,6 +240,7 @@ install: precheck +@@ -235,6 +235,7 @@ install: precheck install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) @@ -68,5 +68,5 @@ index 0000000..93598d7 +if __name__ == '__main__': + main() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch b/SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch similarity index 89% rename from SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch rename to SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch index d2ee2bad..f67bf36d 100644 --- a/SOURCES/0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch +++ b/SOURCES/0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch @@ -1,7 +1,7 @@ -From bb7d53d85fd4a28470d48b6bb1e2d75d23b73389 Mon Sep 17 00:00:00 2001 +From 59c9be98c2eeeb37e15c76874ca62071dab4c164 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 14 Sep 2022 10:17:18 +0200 -Subject: [PATCH 077/178] fix(LinstorSR): disable VHD key hash usage to limit +Subject: [PATCH 078/178] fix(LinstorSR): disable VHD key hash usage to limit exec time Signed-off-by: Ronan Abhamon @@ -33,5 +33,5 @@ index 47ac3c8..374d6cb 100755 # https://github.com/PyCQA/pylint/pull/2926 vdi.sm_config_override['key_hash'] = \ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch b/SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch similarity index 95% rename from SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch rename to SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch index c6d31122..a894d010 100644 --- a/SOURCES/0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch +++ b/SOURCES/0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch @@ -1,7 +1,7 @@ -From 189b17a606d3f35bcc8bb8bf77f6e2ef71208a11 Mon Sep 17 00:00:00 2001 +From 730853aa446f399f3acecb0afa7783ea36ed5240 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Sep 2022 11:34:25 +0200 -Subject: [PATCH 078/178] fix(minidrbdcluster): ensure SIGINT is handled +Subject: [PATCH 079/178] fix(minidrbdcluster): ensure SIGINT is handled correctly This patch is here to make sure no LINSTOR controller survives when @@ -95,5 +95,5 @@ index 3de6ac4..1ddf91f 100644 StandardError=journal SyslogIdentifier=minidrbdcluster -- -2.45.2 +2.46.0 diff --git a/SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch b/SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch similarity index 97% rename from SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch rename to SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch index c1b1c6d6..5ea7569e 100644 --- a/SOURCES/0079-feat-minidrbdcluster-stop-resource-services-at-start.patch +++ b/SOURCES/0080-feat-minidrbdcluster-stop-resource-services-at-start.patch @@ -1,7 +1,7 @@ -From 53dec398287a12e016abbe243311479f6a0d3efe Mon Sep 17 00:00:00 2001 +From d8a3fcab1752746435c599664efd7f4789e2c58f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Sep 2022 11:49:34 +0200 -Subject: [PATCH 079/178] feat(minidrbdcluster): stop resource services at +Subject: [PATCH 080/178] feat(minidrbdcluster): stop resource services at startup - Ensure all services are stopped when minidrbcluster is started. @@ -131,5 +131,5 @@ index 4cdc59e..eae7cbf 100755 if __name__ == '__main__': main() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch b/SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch similarity index 98% rename from SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch rename to SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch index 871763bf..b84181d9 100644 --- a/SOURCES/0080-feat-linstor-manager-add-new-healthCheck-function-to.patch +++ b/SOURCES/0081-feat-linstor-manager-add-new-healthCheck-function-to.patch @@ -1,7 +1,7 @@ -From efa609510d724b3aacfe144517ad34fa2b854b8d Mon Sep 17 00:00:00 2001 +From ef9a22262f1cfb444bf01274bfbbf0b53607f341 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 23 Sep 2022 17:45:08 +0200 -Subject: [PATCH 080/178] feat(linstor-manager): add new `healthCheck` function +Subject: [PATCH 081/178] feat(linstor-manager): add new `healthCheck` function to monitor pool (#26) Print a JSON output to monitor state of LINSTOR SRs: @@ -357,5 +357,5 @@ index 3ee5d24..efe5d53 100755 def create_sr( cls, group_name, node_names, ips, redundancy, -- -2.45.2 +2.46.0 diff --git a/SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch b/SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch similarity index 91% rename from SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch rename to SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch index 8a5ed748..c98112c6 100644 --- a/SOURCES/0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch +++ b/SOURCES/0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch @@ -1,7 +1,7 @@ -From b477bf0c0779fbbf5cd600029a9b7bf6b73520a9 Mon Sep 17 00:00:00 2001 +From 42c75bb0a6f16360c87f0688ee38d93b3a66e2e2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 4 Oct 2022 11:01:33 +0200 -Subject: [PATCH 081/178] fix(LinstorSR): fix xha conf parsing => return host +Subject: [PATCH 082/178] fix(LinstorSR): fix xha conf parsing => return host ip, not the UUID Signed-off-by: Ronan Abhamon @@ -50,5 +50,5 @@ index 374d6cb..d32771f 100755 def activate_lvm_group(group_name): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch b/SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch similarity index 92% rename from SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch rename to SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch index 71f058c8..bb034c10 100644 --- a/SOURCES/0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch +++ b/SOURCES/0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch @@ -1,7 +1,7 @@ -From 9869614ead6245808ca8f0763a07a00ebe3ac6b8 Mon Sep 17 00:00:00 2001 +From 3847194acc3cf8769a71e85636d66f0eaacb0593 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 4 Oct 2022 18:48:09 +0200 -Subject: [PATCH 082/178] fix(LinstorSR): start correctly HA servers (HTTP/NBD) +Subject: [PATCH 083/178] fix(LinstorSR): start correctly HA servers (HTTP/NBD) after reboot Use a timeout call after a reboot to get a XAPI session because @@ -40,5 +40,5 @@ index d32771f..ae25385 100755 except Exception as e: _, ips = get_ips_from_xha_config_file() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch b/SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch similarity index 95% rename from SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch rename to SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch index e884ca5e..44554e42 100644 --- a/SOURCES/0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch +++ b/SOURCES/0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch @@ -1,7 +1,7 @@ -From 03c55a736769042775bd8da2ebc71377c04050a6 Mon Sep 17 00:00:00 2001 +From 1af86e89ed07f4b0bce6e032f37f500fb58d0cee Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 5 Oct 2022 10:45:50 +0200 -Subject: [PATCH 083/178] fix(linstorvolumemanager): use an array to store +Subject: [PATCH 084/178] fix(linstorvolumemanager): use an array to store diskful volumes info Otherwise the `is_diskful` attr only reflects the info of one host @@ -74,5 +74,5 @@ index efe5d53..e577f63 100755 for volume in resource.volumes: # We ignore diskless pools of the form "DfltDisklessStorPool". -- -2.45.2 +2.46.0 diff --git a/SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch b/SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch similarity index 87% rename from SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch rename to SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch index 228421b2..6263f207 100644 --- a/SOURCES/0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch +++ b/SOURCES/0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch @@ -1,7 +1,7 @@ -From f750cc76f61fb75711176c444c3a89b9a3cbcc4f Mon Sep 17 00:00:00 2001 +From 414bc1efcd2fd9f1b8b41c690bcee46c8d550552 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 6 Oct 2022 17:54:10 +0200 -Subject: [PATCH 084/178] feat(linstorvolumemanager): support snaps when a host +Subject: [PATCH 085/178] feat(linstorvolumemanager): support snaps when a host is offline - Don't create diskless volumes during clone, delay it. @@ -29,5 +29,5 @@ index e577f63..09aad42 100755 # 5. Create resources! def clean(): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch b/SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch similarity index 96% rename from SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch rename to SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch index 8ec147a2..ffe54782 100644 --- a/SOURCES/0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch +++ b/SOURCES/0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch @@ -1,7 +1,7 @@ -From 604dd18a16f87188bc6a6ca0a69c31cd68ac6f77 Mon Sep 17 00:00:00 2001 +From 32b338239370f6c3d0148723a3c2e6a61903daeb Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 7 Oct 2022 17:18:37 +0200 -Subject: [PATCH 085/178] fix(linstorvolumemanager): support offline hosts when +Subject: [PATCH 086/178] fix(linstorvolumemanager): support offline hosts when plugins are called - Robustify plugin calls @@ -111,5 +111,5 @@ index 09aad42..58c0238 100755 # ============================================================================== -- -2.45.2 +2.46.0 diff --git a/SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch b/SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch similarity index 89% rename from SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch rename to SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch index 12bb3762..79b7b925 100644 --- a/SOURCES/0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch +++ b/SOURCES/0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch @@ -1,7 +1,7 @@ -From 6f4af2ac0ddcff854e58ae8fb927035ad4a79ede Mon Sep 17 00:00:00 2001 +From 846da4170432a4be553ac1e98db146df069ce2ae Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 7 Oct 2022 17:45:26 +0200 -Subject: [PATCH 086/178] fix(linstorvolumemanager): define _base_group_name +Subject: [PATCH 087/178] fix(linstorvolumemanager): define _base_group_name member at SR creation Signed-off-by: Ronan Abhamon @@ -30,5 +30,5 @@ index 58c0238..d19effb 100755 instance._volumes = set() instance._storage_pools_time = 0 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch b/SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch similarity index 97% rename from SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch rename to SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch index b947cde9..4ec59442 100644 --- a/SOURCES/0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch +++ b/SOURCES/0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch @@ -1,7 +1,7 @@ -From f99e317510721cac568bae6b854b4622b8525999 Mon Sep 17 00:00:00 2001 +From 76b0beee9ffa96cc6eb687408a94fde1034ecab7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 10 Oct 2022 14:33:24 +0200 -Subject: [PATCH 087/178] feat(linstorvhdutil): modify logic of local vhdutil +Subject: [PATCH 088/178] feat(linstorvhdutil): modify logic of local vhdutil calls - Always log openers when we can't call vhdutil locally @@ -144,5 +144,5 @@ index 4d031e1..2687cad 100644 ) return util.retry(remote_call, 5, 2) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch b/SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch similarity index 94% rename from SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch rename to SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch index 3e4a3ceb..c7705e87 100644 --- a/SOURCES/0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch +++ b/SOURCES/0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch @@ -1,7 +1,7 @@ -From 0fe8a97bc5c810ca0d58248c59055c801728da26 Mon Sep 17 00:00:00 2001 +From 5d2f1d8bbc0c46b8ea1096188b73bcddd8e519ff Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 17 Oct 2022 18:14:16 +0200 -Subject: [PATCH 088/178] fix(linstorvolumemanager): robustify failed snapshots +Subject: [PATCH 089/178] fix(linstorvolumemanager): robustify failed snapshots - Ensure we can always rename a failed snap, so we must check if we have metadata in the KV-store. Otherwise an error is triggered @@ -49,5 +49,5 @@ index d19effb..44b247e 100755 dest_namespace = self._build_volume_namespace(dest_uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch b/SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch similarity index 84% rename from SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch rename to SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch index b04d4a18..3167e1d8 100644 --- a/SOURCES/0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch +++ b/SOURCES/0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch @@ -1,7 +1,7 @@ -From b0059113393273e375d95c0a70fee4e5fa9f97bd Mon Sep 17 00:00:00 2001 +From 612f6ccde1042223048bf4f7dec8810bb86d8575 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 8 Nov 2022 17:31:45 +0100 -Subject: [PATCH 089/178] fix(linstorvolumemanager): use a namespace for +Subject: [PATCH 090/178] fix(linstorvolumemanager): use a namespace for volumes - This change is not compatible with existing LINSTOR SR instances! @@ -25,5 +25,5 @@ index 44b247e..8c253d4 100755 # Regex to match properties. REG_PROP = '^([^/]+)/{}$' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch b/SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch similarity index 93% rename from SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch rename to SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch index dee26311..6ba7d151 100644 --- a/SOURCES/0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch +++ b/SOURCES/0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch @@ -1,7 +1,7 @@ -From e31e75852287028db29348575e4fcc116c96f768 Mon Sep 17 00:00:00 2001 +From 32b38dfdf74d01673c1e9ac177346145aa8a3518 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 14 Nov 2022 17:18:48 +0100 -Subject: [PATCH 090/178] feat(linstor-kv-dump): rename to linstor-kv-tool + +Subject: [PATCH 091/178] feat(linstor-kv-dump): rename to linstor-kv-tool + add remove volume helpers --- @@ -11,10 +11,10 @@ Subject: [PATCH 090/178] feat(linstor-kv-dump): rename to linstor-kv-tool + rename scripts/{linstor-kv-dump => linstor-kv-tool} (51%) diff --git a/Makefile b/Makefile -index aa71f80..42058c8 100755 +index 5cdecab..313f06c 100755 --- a/Makefile +++ b/Makefile -@@ -240,7 +240,7 @@ install: precheck +@@ -235,7 +235,7 @@ install: precheck install -m 755 drivers/fcoelib.py $(SM_STAGING)$(SM_DEST) mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) @@ -93,5 +93,5 @@ index 93598d7..128d899 100755 if __name__ == '__main__': main() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch b/SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch similarity index 95% rename from SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch rename to SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch index e75fe74f..2e323d93 100644 --- a/SOURCES/0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch +++ b/SOURCES/0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch @@ -1,7 +1,7 @@ -From 655e79b7e58d322cdb6ac46816939d26ffbbbd46 Mon Sep 17 00:00:00 2001 +From bcc899d36e498e15ec9e5860f1439fcc4be4622b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Nov 2022 12:12:12 +0100 -Subject: [PATCH 091/178] fix(LinstorSR): handle correctly localhost during +Subject: [PATCH 092/178] fix(LinstorSR): handle correctly localhost during start/stop of minidrbdcluster Otherwise another controller can be started during `xe sr-destroy` call. @@ -71,5 +71,5 @@ index b855807..ba28452 100755 # the controller host last. Why? Otherwise the linstor-controller # of other nodes can be started, and we don't want that. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch b/SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch similarity index 93% rename from SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch rename to SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch index 27ccd1eb..68a57710 100644 --- a/SOURCES/0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch +++ b/SOURCES/0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch @@ -1,7 +1,7 @@ -From a26ad7fd840e9fcd8a03f6cfc9da8f4ac4628013 Mon Sep 17 00:00:00 2001 +From 228634f7d8cc5fa78203272269e114a209821356 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Nov 2022 15:43:25 +0100 -Subject: [PATCH 092/178] fix(cleanup.py): call repair on another host when +Subject: [PATCH 093/178] fix(cleanup.py): call repair on another host when EROFS is returned (DRBD) Signed-off-by: Ronan Abhamon @@ -58,5 +58,5 @@ index 7329363..f6c4346 100755 abortFlag = IPCFlag(self.sr.uuid) for child in self.children: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch b/SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch similarity index 84% rename from SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch rename to SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch index 6505e587..dcf713e5 100644 --- a/SOURCES/0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch +++ b/SOURCES/0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch @@ -1,7 +1,7 @@ -From 545433b159c70e922529e9af199c9e3c5e756598 Mon Sep 17 00:00:00 2001 +From a17925aa496b1814038ff6f998461b533f90d077 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Nov 2022 15:46:02 +0100 -Subject: [PATCH 093/178] fix(LinstorSR): avoid introduction of DELETED volumes +Subject: [PATCH 094/178] fix(LinstorSR): avoid introduction of DELETED volumes Signed-off-by: Ronan Abhamon --- @@ -23,5 +23,5 @@ index ba28452..9e5b3cd 100755 'Trying to introduce VDI {} as it is present in ' 'LINSTOR and not in XAPI...' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch b/SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch similarity index 86% rename from SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch rename to SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch index cf635577..c6e5ab02 100644 --- a/SOURCES/0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch +++ b/SOURCES/0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch @@ -1,7 +1,7 @@ -From 95e513e7de43ef9e16996bdb309ac0823eb25e71 Mon Sep 17 00:00:00 2001 +From e6ef1f66479ae68d5b0809f7a2158106aa1b3eec Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 18 Nov 2022 10:40:58 +0100 -Subject: [PATCH 094/178] feat(linstor-kv-tool): remove-all-volumes supports +Subject: [PATCH 095/178] feat(linstor-kv-tool): remove-all-volumes supports journals now Not yet supported for remove-volume, not sure about the consequences @@ -26,5 +26,5 @@ index 128d899..c907027 100755 kv.namespace = key[:size] del kv[key[size + 1:]] -- -2.45.2 +2.46.0 diff --git a/SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch b/SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch similarity index 88% rename from SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch rename to SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch index ce9059fc..7dd66ef5 100644 --- a/SOURCES/0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch +++ b/SOURCES/0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch @@ -1,7 +1,7 @@ -From 282e1585023068f1fcdefa01ce2848169b562d22 Mon Sep 17 00:00:00 2001 +From 5a94eadf986c919cee83780a9e6cdce167a6701c Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 23 Nov 2022 15:26:51 +0100 -Subject: [PATCH 095/178] fix(linstorvhdutil): due to bad refactoring, check +Subject: [PATCH 096/178] fix(linstorvhdutil): due to bad refactoring, check call was broken Signed-off-by: Ronan Abhamon @@ -29,5 +29,5 @@ index 2687cad..a883ca4 100644 def get_vhd_info(self, vdi_uuid, include_parent=True): kwargs = {'includeParent': str(include_parent)} -- -2.45.2 +2.46.0 diff --git a/SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch b/SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch similarity index 95% rename from SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch rename to SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch index 1ed8c4f9..2f334aef 100644 --- a/SOURCES/0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch +++ b/SOURCES/0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch @@ -1,7 +1,7 @@ -From 6f90401e51c222f526f3f2d90828c9f918d56519 Mon Sep 17 00:00:00 2001 +From 8390021e0aedb7ef2979ff9ac9c21fe3367a4f23 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 23 Nov 2022 15:28:23 +0100 -Subject: [PATCH 096/178] feat(linstorvhdutil): ensure we use VHD parent to +Subject: [PATCH 097/178] feat(linstorvhdutil): ensure we use VHD parent to find host where to coalesce Signed-off-by: Ronan Abhamon @@ -65,5 +65,5 @@ index a883ca4..c2e9665 100644 raise xs_errors.XenError( 'VDIUnavailable', -- -2.45.2 +2.46.0 diff --git a/SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch b/SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch similarity index 98% rename from SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch rename to SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch index 2f684e79..bab657c9 100644 --- a/SOURCES/0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch +++ b/SOURCES/0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch @@ -1,7 +1,7 @@ -From d4d49f0c55b9d07e4f2315e4985800c8ae2f1a32 Mon Sep 17 00:00:00 2001 +From b1355b13bc58003fa01f29fb31516f6b1fcc67e8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Dec 2022 18:40:11 +0100 -Subject: [PATCH 097/178] feat(linstorvolumemanager): force DRBD demote after +Subject: [PATCH 098/178] feat(linstorvolumemanager): force DRBD demote after failed volume creation/clone Signed-off-by: Ronan Abhamon @@ -235,5 +235,5 @@ index 8c253d4..2e2feb2 100755 # Assume this call is atomic. properties.clear() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch b/SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch similarity index 97% rename from SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch rename to SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch index 415b25c5..54f0b592 100644 --- a/SOURCES/0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch +++ b/SOURCES/0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch @@ -1,7 +1,7 @@ -From 8b614c3baa05acbe822ace1a3b09676f8042a137 Mon Sep 17 00:00:00 2001 +From 33c9cbedb5e26d291dda3f020513db5154dac454 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Dec 2022 11:22:15 +0100 -Subject: [PATCH 098/178] fix(linstorvhdutil): ensure we retry creation in all +Subject: [PATCH 099/178] fix(linstorvhdutil): ensure we retry creation in all situations Without this patch, a basic resource creation is never restarted @@ -117,5 +117,5 @@ index 2e2feb2..81cce80 100755 except LinstorVolumeManagerError as e: if e.code != LinstorVolumeManagerError.ERR_VOLUME_EXISTS: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch b/SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch similarity index 98% rename from SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch rename to SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch index b4e6c305..13e0cad7 100644 --- a/SOURCES/0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch +++ b/SOURCES/0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch @@ -1,7 +1,7 @@ -From afb50b27131b0b7a22e0a92731831a1beb975024 Mon Sep 17 00:00:00 2001 +From e5dafb76bd0436d5d19d33e9d9ecdc9c958863b2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 7 Dec 2022 17:56:39 +0100 -Subject: [PATCH 099/178] fix(linstorvhdutil): don't retry local vhdutil call +Subject: [PATCH 100/178] fix(linstorvhdutil): don't retry local vhdutil call when EROFS is detected Signed-off-by: Ronan Abhamon @@ -154,5 +154,5 @@ index c2e9665..63d59ab 100644 # B. Execute the command on another host. # B.1. Get host list. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch b/SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch similarity index 86% rename from SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch rename to SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch index c544f8a2..53eb8dc9 100644 --- a/SOURCES/0100-feat-fork-log-daemon-ignore-SIGTERM.patch +++ b/SOURCES/0101-feat-fork-log-daemon-ignore-SIGTERM.patch @@ -1,7 +1,7 @@ -From 62142a4d7d2934b20e08fc8dc49876d5cb5eba5a Mon Sep 17 00:00:00 2001 +From 71e0f39881c539f3677089e103d1f7800fe4a99b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 15 Dec 2022 14:36:04 +0100 -Subject: [PATCH 100/178] feat(fork-log-daemon): ignore SIGTERM +Subject: [PATCH 101/178] feat(fork-log-daemon): ignore SIGTERM Without this patch, the output logs of the fork-log-daemon child are never displayed when SIGTERM is sent to the PGID. @@ -31,5 +31,5 @@ index eb0f0b0..665a60b 100755 while process.poll() is None: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch b/SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch similarity index 96% rename from SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch rename to SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch index 55cac3c6..638dc9fb 100644 --- a/SOURCES/0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch +++ b/SOURCES/0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch @@ -1,7 +1,7 @@ -From a5b4176e1894dc8f87b1ba1710d3fad936e9b4c1 Mon Sep 17 00:00:00 2001 +From 6eec8a19ce65fdcb3336367251901750df329027 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 16 Dec 2022 16:52:50 +0100 -Subject: [PATCH 101/178] feat(LinstorSR): wait for http-disk-server startup +Subject: [PATCH 102/178] feat(LinstorSR): wait for http-disk-server startup Avoid a race condition with NBD server. We must be sure the HTTP server is reachable before the NBD server execution, @@ -112,5 +112,5 @@ index 9e5b3cd..f336534 100755 @classmethod def _kill_persistent_server(self, type, volume_name, sig): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch b/SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch similarity index 97% rename from SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch rename to SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch index 17e95690..5fb2da5b 100644 --- a/SOURCES/0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch +++ b/SOURCES/0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch @@ -1,7 +1,7 @@ -From b4856d1ba2aa3611c4f3b2fec2eb2e8651f52722 Mon Sep 17 00:00:00 2001 +From ec1278ddf7ba15e35410b6991354ff46deb71ca5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 16 Jan 2023 17:58:51 +0100 -Subject: [PATCH 102/178] fix(LinstorSR): handle inflate + resize actions +Subject: [PATCH 103/178] fix(LinstorSR): handle inflate + resize actions correctly - Ensure LINSTOR set the expected new volume size when inflate is executed, @@ -130,5 +130,5 @@ index f336534..72ec9de 100755 # VDI is currently deflated, so keep it deflated. new_volume_size = old_volume_size -- -2.45.2 +2.46.0 diff --git a/SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch b/SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch similarity index 97% rename from SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch rename to SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch index c5465bb7..216eba6f 100644 --- a/SOURCES/0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch +++ b/SOURCES/0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch @@ -1,7 +1,7 @@ -From cd0a324a1a1652b5632c77a6f8757e45021ac8b5 Mon Sep 17 00:00:00 2001 +From 6524029ca094f5063a62a3d4ce42b0794f61fad1 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 17 Jan 2023 11:55:00 +0100 -Subject: [PATCH 103/178] fix(linstor-manager): add a static iptables rule for +Subject: [PATCH 104/178] fix(linstor-manager): add a static iptables rule for DRBD volumes Using the XAPI iptables firewall may drop DRBD packets when the connection @@ -121,5 +121,5 @@ index 5c4c5c9..6ee435c 100755 util.SMlog('Error while stopping services: {}'.format(e)) pass -- -2.45.2 +2.46.0 diff --git a/SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch b/SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch similarity index 97% rename from SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch rename to SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch index 5c06e6c6..657a0de5 100644 --- a/SOURCES/0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch +++ b/SOURCES/0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch @@ -1,7 +1,7 @@ -From 77fec3e18231511672dd0472d30bb2070e4cfc3f Mon Sep 17 00:00:00 2001 +From cc57e8036ee5cd993658fcf2bd2ac65ba36156b5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 3 Feb 2023 16:38:49 +0100 -Subject: [PATCH 104/178] feat(LinstorSR): sync with last http-nbd-transfer +Subject: [PATCH 105/178] feat(LinstorSR): sync with last http-nbd-transfer version - Increase auto promote timeout of heartbeat VDI to reduce CPU usage @@ -118,5 +118,5 @@ index 81cce80..e0f39e7 100755 """ Get the volume info of a particular volume. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch b/SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch similarity index 88% rename from SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch rename to SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch index 244334f6..c512ec5c 100644 --- a/SOURCES/0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch +++ b/SOURCES/0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch @@ -1,7 +1,7 @@ -From babbfe1b1aee6a23a8bc560e2e145a7c76e3a0ce Mon Sep 17 00:00:00 2001 +From 839eb7f719a3e3206b3d5d419b88a63c4d7a7a5d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 13 Feb 2023 17:24:16 +0100 -Subject: [PATCH 105/178] fix(LinstorSR): don't check VDI metadata while +Subject: [PATCH 106/178] fix(LinstorSR): don't check VDI metadata while listing VDIs if it's deleted Signed-off-by: Ronan Abhamon @@ -34,5 +34,5 @@ index 31f4505..41ece82 100755 'Trying to introduce VDI {} as it is present in ' 'LINSTOR and not in XAPI...' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch b/SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch similarity index 89% rename from SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch rename to SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch index 37734889..238cc1d9 100644 --- a/SOURCES/0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch +++ b/SOURCES/0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch @@ -1,7 +1,7 @@ -From 5a145c627171a9a8bc528b39af425b6a568f59f2 Mon Sep 17 00:00:00 2001 +From 5de99a76105212088f70b4a7a7daab4b1d5e3f49 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 13 Feb 2023 17:27:43 +0100 -Subject: [PATCH 106/178] fix(LinstorSR): don't check metadata when destroying +Subject: [PATCH 107/178] fix(LinstorSR): don't check metadata when destroying snap in undo_clone Remove useless check in the snap rollback helper when there is an error @@ -31,5 +31,5 @@ index 41ece82..94cf1b7 100755 try: self._linstor.destroy_volume(snap_uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch b/SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch similarity index 94% rename from SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch rename to SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch index ea966609..2ffb9c04 100644 --- a/SOURCES/0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch +++ b/SOURCES/0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch @@ -1,7 +1,7 @@ -From 54b428be28d1836220f2ba42081c01acc64350b0 Mon Sep 17 00:00:00 2001 +From 3aed3787570dae79cef8952cb87596aec8ff98df Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 15 Feb 2023 11:34:54 +0100 -Subject: [PATCH 107/178] fix(linstorvhdutil): handle correctly generic +Subject: [PATCH 108/178] fix(linstorvhdutil): handle correctly generic exceptions in _raise_openers_exception Signed-off-by: Ronan Abhamon @@ -59,5 +59,5 @@ index 63d59ab..05225e8 100644 def _call_vhd_util(self, local_method, remote_method, device_path, use_parent, *args, **kwargs): # Note: `use_parent` exists to know if the VHD parent is used by the local/remote method. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch b/SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch similarity index 93% rename from SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch rename to SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch index 7533296d..33898a09 100644 --- a/SOURCES/0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch +++ b/SOURCES/0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch @@ -1,7 +1,7 @@ -From 7655e04fca6a7b79a43515327e875e41cc95c018 Mon Sep 17 00:00:00 2001 +From 1f41b0a39ce73787bf51a226d8bc515fc664f122 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 16 Feb 2023 14:24:07 +0100 -Subject: [PATCH 108/178] fix(minidrbdcluster): robustify to unmount correctly +Subject: [PATCH 109/178] fix(minidrbdcluster): robustify to unmount correctly LINSTOR DB There is a small delay during which the database may not be unmounted @@ -17,10 +17,10 @@ Signed-off-by: Ronan Abhamon create mode 100755 scripts/safe-umount diff --git a/Makefile b/Makefile -index 42058c8..72d7be3 100755 +index 313f06c..1b7188e 100755 --- a/Makefile +++ b/Makefile -@@ -241,6 +241,7 @@ install: precheck +@@ -236,6 +236,7 @@ install: precheck mkdir -p $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/fork-log-daemon $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/linstor-kv-tool $(SM_STAGING)$(BIN_DEST) @@ -85,5 +85,5 @@ index 0000000..9c1dcc4 + args = parser.parse_args() + sys.exit(safe_umount(args.path)) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch b/SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch similarity index 91% rename from SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch rename to SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch index d47a4a66..838c5228 100644 --- a/SOURCES/0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch +++ b/SOURCES/0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch @@ -1,7 +1,7 @@ -From 52c4db7630977dc5ce1127e4ac14ee55a0edb0f5 Mon Sep 17 00:00:00 2001 +From cccde07e13727a1f03e47ed33f2487dfce1bdaed Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 20 Feb 2023 19:30:18 +0100 -Subject: [PATCH 109/178] fix(minidrbdcluster): handle correctly +Subject: [PATCH 110/178] fix(minidrbdcluster): handle correctly KeyboardInterrupt with systemd units It's necessary to always add systemd services in the running list before @@ -33,5 +33,5 @@ index eae7cbf..03d6b01 100755 if m: res_name, conn_name, role = m.groups() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch b/SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch similarity index 98% rename from SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch rename to SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch index e20ec452..d794d5ec 100644 --- a/SOURCES/0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch +++ b/SOURCES/0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch @@ -1,7 +1,7 @@ -From b07a2ef5f210e9f3dd8f4d8f4d8d71895ee99ab4 Mon Sep 17 00:00:00 2001 +From 6da63ee78f16326dc8699706d58d58fe3a5c4ec3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 24 Feb 2023 14:28:29 +0100 -Subject: [PATCH 110/178] feat(LinstorSR): use drbd-reactor instead of +Subject: [PATCH 111/178] feat(LinstorSR): use drbd-reactor instead of minidrbdcluster Signed-off-by: Ronan Abhamon @@ -19,10 +19,10 @@ Signed-off-by: Ronan Abhamon delete mode 100644 systemd/minidrbdcluster.service diff --git a/Makefile b/Makefile -index 72d7be3..bc3e97f 100755 +index 1b7188e..0ce6dfb 100755 --- a/Makefile +++ b/Makefile -@@ -100,7 +100,6 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ +@@ -99,7 +99,6 @@ MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ MODPROBE_DIR := /etc/modprobe.d/ EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/ LOGROTATE_DIR := /etc/logrotate.d/ @@ -30,7 +30,7 @@ index 72d7be3..bc3e97f 100755 SM_STAGING := $(DESTDIR) SM_STAMP := $(MY_OBJ_DIR)/.staging_stamp -@@ -156,7 +155,6 @@ install: precheck +@@ -155,7 +154,6 @@ install: precheck mkdir -p $(SM_STAGING)$(MPATH_CUSTOM_CONF_DIR) mkdir -p $(SM_STAGING)$(MODPROBE_DIR) mkdir -p $(SM_STAGING)$(LOGROTATE_DIR) @@ -38,7 +38,7 @@ index 72d7be3..bc3e97f 100755 mkdir -p $(SM_STAGING)$(DEBUG_DEST) mkdir -p $(SM_STAGING)$(BIN_DEST) mkdir -p $(SM_STAGING)$(MASTER_SCRIPT_DEST) -@@ -184,8 +182,6 @@ install: precheck +@@ -183,8 +181,6 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d/ install -m 644 etc/systemd/system/var-lib-linstor.service \ $(SM_STAGING)/$(SYSTEMD_CONF_DIR) @@ -47,7 +47,7 @@ index 72d7be3..bc3e97f 100755 install -m 644 etc/make-dummy-sr.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/xs-sm.service \ -@@ -204,8 +200,6 @@ install: precheck +@@ -199,8 +195,6 @@ install: precheck $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) install -m 644 systemd/linstor-monitor.service \ $(SM_STAGING)/$(SYSTEMD_SERVICE_DIR) @@ -56,7 +56,7 @@ index 72d7be3..bc3e97f 100755 for i in $(UDEV_RULES); do \ install -m 644 udev/$$i.rules \ $(SM_STAGING)$(UDEV_RULES_DIR); done -@@ -258,7 +252,6 @@ install: precheck +@@ -253,7 +247,6 @@ install: precheck install -m 755 scripts/xe-getlunidentifier $(SM_STAGING)$(BIN_DEST) install -m 755 scripts/make-dummy-sr $(SM_STAGING)$(LIBEXEC) install -m 755 scripts/storage-init $(SM_STAGING)$(LIBEXEC) @@ -617,5 +617,5 @@ index 1ddf91f..0000000 -[Install] -WantedBy=multi-user.target -- -2.45.2 +2.46.0 diff --git a/SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch b/SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch similarity index 97% rename from SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch rename to SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch index fa473655..ec370399 100644 --- a/SOURCES/0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch +++ b/SOURCES/0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch @@ -1,7 +1,7 @@ -From 68885c56099d7e6e623789b4d49c54faa5075e45 Mon Sep 17 00:00:00 2001 +From c27027a689f926d2a0235e1dc85d4891f0346815 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 1 Mar 2023 10:56:43 +0100 -Subject: [PATCH 111/178] fix(LinstorSR): ensure vhdutil calls are correctly +Subject: [PATCH 112/178] fix(LinstorSR): ensure vhdutil calls are correctly executed on pools with > 3 hosts Signed-off-by: Ronan Abhamon @@ -143,5 +143,5 @@ index 4662043..5ab83c4 100755 def invalidate_resource_cache(self): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch b/SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch similarity index 88% rename from SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch rename to SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch index d33df0e0..85544d0b 100644 --- a/SOURCES/0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch +++ b/SOURCES/0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch @@ -1,7 +1,7 @@ -From 8642904e23c8818458f6112d52df60cd5a351331 Mon Sep 17 00:00:00 2001 +From 6da70e1e569db84a6220d5c568b0e18547011dd3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 9 Mar 2023 17:06:59 +0100 -Subject: [PATCH 112/178] fix(LinstorSR): replace bad param in detach_thin impl +Subject: [PATCH 113/178] fix(LinstorSR): replace bad param in detach_thin impl To get the physical size, the volume UUID must be used, not the path. @@ -24,5 +24,5 @@ index 10e0f54..c42f07d 100755 volume_info = linstor.get_volume_info(vdi_uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch b/SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch similarity index 93% rename from SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch rename to SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch index 9705b3ad..96e68c9e 100644 --- a/SOURCES/0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch +++ b/SOURCES/0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch @@ -1,7 +1,7 @@ -From 358f096a8343367d50c161d48f08055e07c4836f Mon Sep 17 00:00:00 2001 +From 84f028a160d8cf7273dbe2c73f35e798b4ad0b9d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 10 Mar 2023 18:11:10 +0100 -Subject: [PATCH 113/178] fix(linstorvolumemanager): remove usage of realpath +Subject: [PATCH 114/178] fix(linstorvolumemanager): remove usage of realpath Because a diskless DRBD path not always exist, get_volume_name_from_device_path can fail. It's easy to reproduce using > 4 hosts and with a call to linstorvhdutil.get_vhd_info: @@ -52,5 +52,5 @@ index 5ab83c4..8befb33 100755 def update_volume_uuid(self, volume_uuid, new_volume_uuid, force=False): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch b/SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch similarity index 96% rename from SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch rename to SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch index 001961c4..40c0e1d4 100644 --- a/SOURCES/0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch +++ b/SOURCES/0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch @@ -1,7 +1,7 @@ -From 229fefbe7164db97136ea9cf1c3e8c2d4c19235c Mon Sep 17 00:00:00 2001 +From cc3f34ef376bcf1f5e036f830ffc3f68c64154c8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 16 Mar 2023 18:54:46 +0100 -Subject: [PATCH 114/178] fix(linstorvhdutil): avoid parent path resolution +Subject: [PATCH 115/178] fix(linstorvhdutil): avoid parent path resolution When many hosts are used (>= 4), we can fail to get VHD info (with parent option) because the local parent VDI @@ -107,5 +107,5 @@ index d75edb1..48337f8 100755 ret = ioretry(cmd) fields = ret.strip().split('\n') -- -2.45.2 +2.46.0 diff --git a/SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch b/SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch similarity index 91% rename from SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch rename to SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch index ea8cddb7..e0e7f35f 100644 --- a/SOURCES/0115-fix-LinstorSR-create-parent-path-during-attach.patch +++ b/SOURCES/0116-fix-LinstorSR-create-parent-path-during-attach.patch @@ -1,7 +1,7 @@ -From 7cf6a3b784d098a8a7b40fb7082a8dabbd029157 Mon Sep 17 00:00:00 2001 +From 2201c29474b54183acb4b529a773c94a3571ca61 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 17 Mar 2023 12:06:08 +0100 -Subject: [PATCH 115/178] fix(LinstorSR): create parent path during attach +Subject: [PATCH 116/178] fix(LinstorSR): create parent path during attach It's necessary to force DRBD diskless path creation when a VDI is attached. Otherwise the attach can fail on pool with @@ -37,5 +37,5 @@ index c42f07d..48feec7 100755 self.attached = True return VDI.VDI.attach(self, self.sr.uuid, self.uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch b/SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch similarity index 88% rename from SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch rename to SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch index 1902be13..660d720a 100644 --- a/SOURCES/0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch +++ b/SOURCES/0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch @@ -1,7 +1,7 @@ -From b95191cf0e28705a2f92b73d42d252d81ae6e158 Mon Sep 17 00:00:00 2001 +From 71bbec844018985c25dc2c84ad9c1624065a8ca7 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 3 Apr 2023 10:03:57 +0200 -Subject: [PATCH 116/178] fix(LinstorSR): retry if we can't build volume cache +Subject: [PATCH 117/178] fix(LinstorSR): retry if we can't build volume cache Otherwise after SR creation, the master PBD can be unplugged. See: https://xcp-ng.org/forum/post/60726 @@ -29,5 +29,5 @@ index 48feec7..324033a 100755 def _destroy_linstor_cache(self): self._all_volume_info_cache = None -- -2.45.2 +2.46.0 diff --git a/SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch b/SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch similarity index 94% rename from SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch rename to SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch index 22bed3b2..c8c92e80 100644 --- a/SOURCES/0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch +++ b/SOURCES/0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch @@ -1,7 +1,7 @@ -From df37baf1baf365a247931efb759320bfcef6bfed Mon Sep 17 00:00:00 2001 +From d67af12145aaf807bee1e16ea4647bbbafef3666 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 25 Apr 2023 10:46:00 +0200 -Subject: [PATCH 117/178] fix(linstorvolumemanager): reduce peer-slots param to +Subject: [PATCH 118/178] fix(linstorvolumemanager): reduce peer-slots param to 3 Because we use 3 backing disks at most, it's useless to increase the default linstor limit (8). @@ -53,5 +53,5 @@ index 91db3d8..6f20c02 100755 # Create real resources on the first nodes. resources = [] -- -2.45.2 +2.46.0 diff --git a/SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch b/SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch similarity index 86% rename from SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch rename to SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch index facd3da8..1988dba6 100644 --- a/SOURCES/0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch +++ b/SOURCES/0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch @@ -1,7 +1,7 @@ -From 2ba830e5083bcc1376344da20949368b0129d294 Mon Sep 17 00:00:00 2001 +From ec5a6609241a382f5734577f35194911ec8a1876 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 25 Apr 2023 11:20:55 +0200 -Subject: [PATCH 118/178] fix(LinstorSR): attach a valid XAPI session is_open +Subject: [PATCH 119/178] fix(LinstorSR): attach a valid XAPI session is_open is called Signed-off-by: Ronan Abhamon @@ -27,5 +27,5 @@ index bbef4f7..a197660 100755 tapdisk = blktap2.Tapdisk.find_by_path(vdi.path) util.SMlog("Tapdisk for %s: %s" % (vdi.path, tapdisk)) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch b/SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch similarity index 85% rename from SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch rename to SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch index d3ee16da..2ca015b7 100644 --- a/SOURCES/0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch +++ b/SOURCES/0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch @@ -1,7 +1,7 @@ -From 9e6203c5d245e14816f2cadd66fdeceb53595ade Mon Sep 17 00:00:00 2001 +From ec92e0b26035555a9492809c1cae1fed1425e01f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 28 Apr 2023 10:43:27 +0200 -Subject: [PATCH 119/178] fix(LinstorSR): ensure we always have a DRBD path to +Subject: [PATCH 120/178] fix(LinstorSR): ensure we always have a DRBD path to snap Signed-off-by: Ronan Abhamon @@ -24,5 +24,5 @@ index 324033a..8c0b007 100755 if not util.pathexists(volume_path): raise xs_errors.XenError( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch b/SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch similarity index 97% rename from SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch rename to SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch index 9c7a5500..9fbaf189 100644 --- a/SOURCES/0120-fix-LinstorSR-remove-hosts-ips-param.patch +++ b/SOURCES/0121-fix-LinstorSR-remove-hosts-ips-param.patch @@ -1,7 +1,7 @@ -From ce7503b8489735c12b3bb5eb48c4e8937c1c4765 Mon Sep 17 00:00:00 2001 +From 6afb9f195a5b3ce97d6f727337708ce536e19456 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 30 May 2023 11:19:13 +0200 -Subject: [PATCH 120/178] fix(LinstorSR): remove hosts/ips param +Subject: [PATCH 121/178] fix(LinstorSR): remove hosts/ips param --- drivers/LinstorSR.py | 47 +++++---------------------------- @@ -164,5 +164,5 @@ index 6f20c02..464ab2c 100755 # Try to create node. result = lin.node_create( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch b/SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch similarity index 96% rename from SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch rename to SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch index 2aabbbf4..6fad327d 100644 --- a/SOURCES/0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch +++ b/SOURCES/0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch @@ -1,7 +1,7 @@ -From 55e92941365b6b39a78209d2d775e510a7a3ba32 Mon Sep 17 00:00:00 2001 +From 46d03cba7a491c03335a4ea5549df187c5c72806 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 1 Jun 2023 17:40:37 +0200 -Subject: [PATCH 121/178] fix(LinstorSR): compute correctly SR size using pool +Subject: [PATCH 122/178] fix(LinstorSR): compute correctly SR size using pool count Signed-off-by: Ronan Abhamon @@ -89,5 +89,5 @@ index 464ab2c..ee637ae 100755 def metadata(self): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch b/SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch similarity index 91% rename from SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch rename to SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch index f52a31a4..6ae5e9a5 100644 --- a/SOURCES/0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch +++ b/SOURCES/0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch @@ -1,7 +1,7 @@ -From 36dc495fb24764c5e1b7f4de379efc5568b105f0 Mon Sep 17 00:00:00 2001 +From d3c6b68c18e910c1defbdfa815718e16e9323bca Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Jun 2023 11:50:54 +0200 -Subject: [PATCH 122/178] fix(blktap2): ensure we can import this module when +Subject: [PATCH 123/178] fix(blktap2): ensure we can import this module when LINSTOR is not installed Signed-off-by: Ronan Abhamon @@ -44,5 +44,5 @@ index 370f7fb..fd7c643 100755 raise try: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch b/SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch similarity index 96% rename from SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch rename to SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch index 161c400a..a5267eea 100644 --- a/SOURCES/0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch +++ b/SOURCES/0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch @@ -1,7 +1,7 @@ -From 9ac47f3a66ba8b232d0940cc84b63708df04fdea Mon Sep 17 00:00:00 2001 +From 99788730369ee3eb883d76b53b61a195f95c885d Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 21 Jun 2023 14:10:18 +0200 -Subject: [PATCH 123/178] fix(LinstorSR): ensure volume cache can be recreated +Subject: [PATCH 124/178] fix(LinstorSR): ensure volume cache can be recreated After SR creation we may fail to load volumes with this exception: "Failed to get usable size of..." and so we can't plug the master PBD. @@ -108,5 +108,5 @@ index f6c4356..0bccc16 100755 space_available = self._linstor.max_volume_size_allowed if (space_available < amount_needed): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch b/SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch similarity index 98% rename from SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch rename to SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch index 8e58a381..5ef43886 100644 --- a/SOURCES/0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch +++ b/SOURCES/0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch @@ -1,7 +1,7 @@ -From 6cc5256d1eb193eed6eee76b2b9b68445eaa78c7 Mon Sep 17 00:00:00 2001 +From c341a4047f34b35b128fd5555eeffe62b6a8977a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 20 Jul 2023 10:46:33 +0200 -Subject: [PATCH 124/178] fix(linstor-manager): remove dead/useless code in +Subject: [PATCH 125/178] fix(linstor-manager): remove dead/useless code in add/remove_host helpers Signed-off-by: Ronan Abhamon @@ -205,5 +205,5 @@ index 9e96aac..45201ee 100755 # 3. Stop services. try: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch b/SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch similarity index 93% rename from SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch rename to SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch index 33e4fa87..9bba4c29 100644 --- a/SOURCES/0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch +++ b/SOURCES/0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch @@ -1,7 +1,7 @@ -From 6b8eff2089024d5a675a34a978d95bde365c1296 Mon Sep 17 00:00:00 2001 +From b63d80afb41d5cc1d053a3eb9cb12fe9d7c5cfee Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 1 Aug 2023 15:16:17 +0200 -Subject: [PATCH 125/178] fix(LinstorSR): Ensure we always have a device path +Subject: [PATCH 126/178] fix(LinstorSR): Ensure we always have a device path during leaf-coalesce calls So we must not verify that we have a valid DRBD path in the load step, @@ -55,5 +55,5 @@ index f6c4346..19d03d9 100755 entries = self.journaler.get_all(VDI.JRN_LEAF) for uuid, parentUuid in entries.iteritems(): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch b/SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch similarity index 93% rename from SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch rename to SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch index 2cb55adb..06b634b8 100644 --- a/SOURCES/0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch +++ b/SOURCES/0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch @@ -1,7 +1,7 @@ -From f3a1c26b46601c5bbcaeda3ef494a7f59ce7c6c6 Mon Sep 17 00:00:00 2001 +From 859ddf7beed5f4c8967879a1815ba408b5990db1 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 16 Aug 2023 12:04:01 +0200 -Subject: [PATCH 126/178] fix(LinstorSR): always use lock.acquire() during +Subject: [PATCH 127/178] fix(LinstorSR): always use lock.acquire() during attach/detach We can't use a retry range on the lock because we can trigger a bad situation @@ -55,5 +55,5 @@ index 0bccc16..98919a4 100755 vdi_ref = session.xenapi.VDI.get_by_uuid(vdi_uuid) vbds = session.xenapi.VBD.get_all_records_where( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch b/SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch similarity index 86% rename from SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch rename to SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch index d9c2b6b2..cb75bacf 100644 --- a/SOURCES/0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch +++ b/SOURCES/0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch @@ -1,7 +1,7 @@ -From abda6f13ca112aa1a8f142e290377982f76f060a Mon Sep 17 00:00:00 2001 +From 02b497c783fab888e8127ab5d1dd8b58632d2995 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 17 Aug 2023 14:52:13 +0200 -Subject: [PATCH 127/178] fix(LinstorSR): mare sure hostnames are unique at SR +Subject: [PATCH 128/178] fix(LinstorSR): mare sure hostnames are unique at SR creation Signed-off-by: Ronan Abhamon @@ -27,5 +27,5 @@ index 98919a4..e512487 100755 # are activated. In the same time the drbd-reactor instances # must be stopped. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch b/SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch similarity index 86% rename from SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch rename to SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch index 9aa5f580..1512e878 100644 --- a/SOURCES/0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch +++ b/SOURCES/0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch @@ -1,7 +1,7 @@ -From a2dd4de7e8e512297a332c270070a62bc75aca55 Mon Sep 17 00:00:00 2001 +From 6dff0030453b2031f625518f4e4fc6ae8a168eb9 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 18 Aug 2023 11:06:56 +0200 -Subject: [PATCH 128/178] fix(LinstorSR): ensure we can attach non-special +Subject: [PATCH 129/178] fix(LinstorSR): ensure we can attach non-special static VDIs Signed-off-by: Ronan Abhamon @@ -24,5 +24,5 @@ index e512487..1708370 100755 controller_uri = get_controller_uri() if controller_uri: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch b/SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch similarity index 96% rename from SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch rename to SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch index b193d140..c18ee481 100644 --- a/SOURCES/0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch +++ b/SOURCES/0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch @@ -1,7 +1,7 @@ -From 3cf1041ce9802829651010063c3d8eebe969ba26 Mon Sep 17 00:00:00 2001 +From 0d58254293a08ee5f0b1c4b8529dc04a8ea161f2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 31 Aug 2023 18:00:27 +0200 -Subject: [PATCH 129/178] fix(LinstorSR): ensure we can detach when deflate +Subject: [PATCH 130/178] fix(LinstorSR): ensure we can detach when deflate call is not possible Signed-off-by: Ronan Abhamon @@ -81,5 +81,5 @@ index 1708370..a6ca884 100755 # Only inflate if the LINSTOR volume capacity is not enough. new_size = LinstorVolumeManager.round_up_volume_size(new_size) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch b/SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch similarity index 89% rename from SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch rename to SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch index e0b85073..4e77a648 100644 --- a/SOURCES/0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch +++ b/SOURCES/0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch @@ -1,7 +1,7 @@ -From 10f62cd78f1ce950b4f1527ab5baa227192a88ed Mon Sep 17 00:00:00 2001 +From 32ecbab86a91729a8b2d2f11830a8354d0a78a62 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 28 Sep 2023 16:00:02 +0200 -Subject: [PATCH 130/178] fix(LinstorSR): assume VDI is always a VHD when the +Subject: [PATCH 131/178] fix(LinstorSR): assume VDI is always a VHD when the info is missing during cleanup Signed-off-by: Ronan Abhamon @@ -30,5 +30,5 @@ index 19d03d9..5353e9a 100755 Util.log( ' [VDI {}: failed to load VDI info]: {}' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch b/SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch similarity index 97% rename from SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch rename to SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch index 58e63c11..6d03653a 100644 --- a/SOURCES/0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch +++ b/SOURCES/0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch @@ -1,7 +1,7 @@ -From 5c8c56aea83a2cd4e2ffe57ba54aaf21474f68be Mon Sep 17 00:00:00 2001 +From 70ce954b27d64a8e6b7584270f9191409eef4161 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 2 Oct 2023 16:48:49 +0200 -Subject: [PATCH 131/178] fix(LinstorSR): remove SR lock during thin +Subject: [PATCH 132/178] fix(LinstorSR): remove SR lock during thin attach/detach This lock is normally useless and can create a dead lock when thin mode is activated: @@ -148,5 +148,5 @@ index a6ca884..ed41e77 100755 def detach_thin(session, linstor, sr_uuid, vdi_uuid): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch b/SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch similarity index 94% rename from SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch rename to SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch index a84fc518..7443ba1b 100644 --- a/SOURCES/0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch +++ b/SOURCES/0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch @@ -1,7 +1,7 @@ -From af4c39361fa080e170eb2d9ae58cd839d2b7b550 Mon Sep 17 00:00:00 2001 +From c6079f164c87e87c519cd1eb1d9c79603bc19906 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 3 Oct 2023 18:42:42 +0200 -Subject: [PATCH 132/178] fix(LinstorSR): ensure database is mounted during +Subject: [PATCH 133/178] fix(LinstorSR): ensure database is mounted during scan Signed-off-by: Ronan Abhamon @@ -65,5 +65,5 @@ index ee637ae..f1f3bce 100755 def create_sr( cls, group_name, ips, redundancy, -- -2.45.2 +2.46.0 diff --git a/SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch b/SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch similarity index 88% rename from SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch rename to SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch index f89244da..b64f2a51 100644 --- a/SOURCES/0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch +++ b/SOURCES/0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch @@ -1,7 +1,7 @@ -From 8154937eec169d7d7e9d9f00ff401ea279e5741c Mon Sep 17 00:00:00 2001 +From 9f7664dbeb77485792a15db05e794e6f0c5edceb Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 4 Oct 2023 14:30:36 +0200 -Subject: [PATCH 133/178] fix(LinstorSR): restart drbd-reactor in case of +Subject: [PATCH 134/178] fix(LinstorSR): restart drbd-reactor in case of failure Otherwise we can have all hosts unusable after a massive reboot: @@ -16,10 +16,10 @@ Signed-off-by: Ronan Abhamon create mode 100644 etc/systemd/system/drbd-reactor.service.d/override.conf diff --git a/Makefile b/Makefile -index bc3e97f..7f7740c 100755 +index 0ce6dfb..088c2b7 100755 --- a/Makefile +++ b/Makefile -@@ -149,6 +149,7 @@ install: precheck +@@ -148,6 +148,7 @@ install: precheck mkdir -p $(SM_STAGING)$(UDEV_SCRIPTS_DIR) mkdir -p $(SM_STAGING)$(INIT_DIR) mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR) @@ -27,7 +27,7 @@ index bc3e97f..7f7740c 100755 mkdir -p $(SM_STAGING)$(SYSTEMD_CONF_DIR)/linstor-satellite.service.d mkdir -p $(SM_STAGING)$(SYSTEMD_SERVICE_DIR) mkdir -p $(SM_STAGING)$(MPATH_CONF_DIR) -@@ -178,6 +179,8 @@ install: precheck +@@ -177,6 +178,8 @@ install: precheck $(SM_STAGING)/$(SM_DEST) install -m 644 etc/logrotate.d/$(SMLOG_CONF) \ $(SM_STAGING)/$(LOGROTATE_DIR) @@ -49,5 +49,5 @@ index 0000000..2f99a46 +Restart=always +RestartSec=2 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch b/SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch similarity index 88% rename from SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch rename to SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch index 4ecab4e7..b4971a07 100644 --- a/SOURCES/0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch +++ b/SOURCES/0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch @@ -1,7 +1,7 @@ -From 17f5732413d7c5d95173ae36600a66f917981f1a Mon Sep 17 00:00:00 2001 +From bdd5c9af875ffc62d413a29ce70d2408b78a1304 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 9 Oct 2023 10:37:32 +0200 -Subject: [PATCH 134/178] fix(linstorvolumemanager): retry in case of failure +Subject: [PATCH 135/178] fix(linstorvolumemanager): retry in case of failure during mkfs call on database The device is not always ready after creation. @@ -29,5 +29,5 @@ index f1f3bce..23e80d9 100755 raise LinstorVolumeManagerError( 'Failed to execute {} on database volume: {}' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch b/SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch similarity index 97% rename from SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch rename to SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch index a265793f..dbe7ef2c 100644 --- a/SOURCES/0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch +++ b/SOURCES/0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch @@ -1,7 +1,7 @@ -From bef526786b135beef522a40b571044dbd0922e58 Mon Sep 17 00:00:00 2001 +From a6352f0f967b9f688240e3bd2928330fab772893 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 26 Sep 2023 11:48:38 +0200 -Subject: [PATCH 135/178] fix(linstorvolumemanager): avoid diskless creation +Subject: [PATCH 136/178] fix(linstorvolumemanager): avoid diskless creation when a new resource is added Like said in this discussion https://github.com/xcp-ng/sm/pull/34 : @@ -142,5 +142,5 @@ index 23e80d9..49ca83c 100755 assert volume_properties.namespace == \ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch b/SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch similarity index 96% rename from SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch rename to SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch index 207cd9c8..d6788193 100644 --- a/SOURCES/0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch +++ b/SOURCES/0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch @@ -1,7 +1,7 @@ -From efbfea0c312d112122346f3a1e6efea952d6f96d Mon Sep 17 00:00:00 2001 +From e543a48ebf3139d6423b5273777592bfe172a58c Mon Sep 17 00:00:00 2001 From: Rene Peinthor Date: Tue, 25 Jul 2023 11:19:39 +0200 -Subject: [PATCH 136/178] fix(LinstorSR): remove diskless after VDI.detach +Subject: [PATCH 137/178] fix(LinstorSR): remove diskless after VDI.detach calls Signed-off-by: Rene Peinthor @@ -87,5 +87,5 @@ index 49ca83c..0f6fbcf 100755 return errors = linstor.Linstor.filter_api_call_response_errors(result) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch b/SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch similarity index 97% rename from SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch rename to SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch index 3c03b7d8..607bb851 100644 --- a/SOURCES/0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch +++ b/SOURCES/0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch @@ -1,7 +1,7 @@ -From 427909f25d2ff571c5e0e165b20e3303883403a5 Mon Sep 17 00:00:00 2001 +From c3f1a7b62b9696cc6abb305a5164a75b49240de6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 11 Oct 2023 12:39:56 +0200 -Subject: [PATCH 137/178] fix(LinstorSR): robustify _load_vdi_info in +Subject: [PATCH 138/178] fix(LinstorSR): robustify _load_vdi_info in cleanup.py After a failed snapshot like that: @@ -95,5 +95,5 @@ index 5353e9a..376da3e 100755 # TODO: Maybe implement _liveLeafCoalesce/_prepareCoalesceLeaf/ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch b/SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch similarity index 87% rename from SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch rename to SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch index 9469f5db..e11b6690 100644 --- a/SOURCES/0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch +++ b/SOURCES/0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch @@ -1,7 +1,7 @@ -From 4fdaf148c813d3b1b380deabcf246f74b8993a59 Mon Sep 17 00:00:00 2001 +From f885dbd5d82b1af3ca70b38a0640580207d9bf5a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 23 Oct 2023 14:31:27 +0200 -Subject: [PATCH 138/178] fix(LinstorSR): ensure detach never fails on plugin +Subject: [PATCH 139/178] fix(LinstorSR): ensure detach never fails on plugin failure Signed-off-by: Ronan Abhamon @@ -28,5 +28,5 @@ index 7b9a8e5..d0fc421 100755 # Reload size attrs after inflate or deflate! self._load_this() -- -2.45.2 +2.46.0 diff --git a/SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch b/SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch similarity index 97% rename from SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch rename to SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch index 0b8da4b5..fd4e6097 100644 --- a/SOURCES/0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch +++ b/SOURCES/0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch @@ -1,7 +1,7 @@ -From 5981f334d3fa7fff186446d094b9b83a92d20cb1 Mon Sep 17 00:00:00 2001 +From 3633eecad17dc34a65fbb127f11ec90c5934d2d4 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 23 Oct 2023 15:52:23 +0200 -Subject: [PATCH 139/178] fix(LinstorSR): ensure we coalesce only volumes with +Subject: [PATCH 140/178] fix(LinstorSR): ensure we coalesce only volumes with a valid size --- @@ -136,5 +136,5 @@ index 8b6985d..5f3ae08 100644 try: return self._call_local_vhd_util(local_method, device_path, *args, **kwargs) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch b/SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch similarity index 98% rename from SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch rename to SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch index 8357e198..35f9c9df 100644 --- a/SOURCES/0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch +++ b/SOURCES/0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch @@ -1,7 +1,7 @@ -From b7a02cef58da7eb734cfa1c876593a43946300c1 Mon Sep 17 00:00:00 2001 +From 3be63d299ba706e86f1fbcac59d5173967860a2e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 24 Oct 2023 11:57:40 +0200 -Subject: [PATCH 140/178] fix(LinstorSR): don't try to repair persistent +Subject: [PATCH 141/178] fix(LinstorSR): don't try to repair persistent volumes in GC Use constants to simplify maintenance. @@ -195,5 +195,5 @@ index 0f6fbcf..47ca4e8 100755 DATABASE_PATH = '/var/lib/linstor' DATABASE_MKFS = 'mkfs.ext4' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch b/SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch similarity index 87% rename from SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch rename to SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch index 2cf86356..4b328cab 100644 --- a/SOURCES/0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch +++ b/SOURCES/0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch @@ -1,7 +1,7 @@ -From a600cd8fb9c29b709459b7446fc7fd0ac362bbdf Mon Sep 17 00:00:00 2001 +From 1230aa74fee21eabb70be27959d16a01b20dd747 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 14 Nov 2023 18:21:53 +0100 -Subject: [PATCH 141/178] fix(linstorvhdutil): format correctly message if +Subject: [PATCH 142/178] fix(linstorvhdutil): format correctly message if vhd-util cannot be run Signed-off-by: Ronan Abhamon @@ -24,5 +24,5 @@ index 5f3ae08..3ce7ab9 100644 ) return util.retry(remote_call, 5, 2) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch b/SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch similarity index 92% rename from SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch rename to SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch index 042f8da7..897cc47e 100644 --- a/SOURCES/0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch +++ b/SOURCES/0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch @@ -1,7 +1,7 @@ -From ed9e6189aa9e86c7c32ec88baa9b8023cfd250d6 Mon Sep 17 00:00:00 2001 +From 7bfaf3d9be6f56fec13b0f8536e8748fc053620a Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 24 Oct 2023 23:07:23 +0200 -Subject: [PATCH 142/178] fix(LinstorSR): wait during attach to open DRBD path +Subject: [PATCH 143/178] fix(LinstorSR): wait during attach to open DRBD path ENODATA and other errors like EROFS can be raised when a new DRBD path is created on the fly. So ensure to block before tapdisk starts. @@ -42,5 +42,5 @@ index d0ce079..3063abf 100755 self.attached = True -- -2.45.2 +2.46.0 diff --git a/SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch b/SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch similarity index 99% rename from SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch rename to SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch index be6150aa..9d280f4b 100644 --- a/SOURCES/0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch +++ b/SOURCES/0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch @@ -1,7 +1,7 @@ -From 8ff35099e65e28f4a7ae4883606efc8f2f0b72f8 Mon Sep 17 00:00:00 2001 +From cbbfa5a864ea184ecfed516cf0948a5b5075dfda Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 14 Nov 2023 18:08:26 +0100 -Subject: [PATCH 143/178] fix(LinstorSR): support different volume sizes in +Subject: [PATCH 144/178] fix(LinstorSR): support different volume sizes in cleanup.py Signed-off-by: Ronan Abhamon @@ -513,5 +513,5 @@ index 3ce7ab9..239a10a 100644 # Helpers. # -------------------------------------------------------------------------- -- -2.45.2 +2.46.0 diff --git a/SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch b/SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch similarity index 83% rename from SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch rename to SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch index 9b6b36cf..7deb5b59 100644 --- a/SOURCES/0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch +++ b/SOURCES/0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch @@ -1,7 +1,7 @@ -From 66cb40e1203a06cb1561f28225ba53a449bae79f Mon Sep 17 00:00:00 2001 +From 1b324ce8a21ca4bf18125e43885683084a5a8c08 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 20 Nov 2023 10:52:27 +0100 -Subject: [PATCH 144/178] fix(LinstorSR): remove useless IPS_XHA_CACHE var +Subject: [PATCH 145/178] fix(LinstorSR): remove useless IPS_XHA_CACHE var Signed-off-by: Ronan Abhamon --- @@ -27,5 +27,5 @@ index 6802f49..c570925 100755 host_id = None try: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch b/SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch similarity index 98% rename from SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch rename to SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch index fc04ca32..16ced1c8 100644 --- a/SOURCES/0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch +++ b/SOURCES/0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch @@ -1,7 +1,7 @@ -From 0941f0f67e86099523d389dfd3caffc09f848444 Mon Sep 17 00:00:00 2001 +From 4a7d088083167e073cf0149f3ad54aa0c31869c3 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 21 Nov 2023 13:50:24 +0100 -Subject: [PATCH 145/178] fix(LinstorSR): ensure we can deflate on any host +Subject: [PATCH 146/178] fix(LinstorSR): ensure we can deflate on any host after a journal rollback Signed-off-by: Ronan Abhamon @@ -314,5 +314,5 @@ index 239a10a..23d8b6a 100644 + opterr='Failed to zero out VHD footer {}'.format(path) + ) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch b/SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch similarity index 97% rename from SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch rename to SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch index ace6197a..0e5ceb7d 100644 --- a/SOURCES/0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch +++ b/SOURCES/0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch @@ -1,7 +1,7 @@ -From 7aa1cd3e4e2539f424ec193fe599c51da9d63a0e Mon Sep 17 00:00:00 2001 +From 6fdfda1d9cc245c0227c7db49115f1ae689ae242 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 27 Nov 2023 12:15:43 +0100 -Subject: [PATCH 146/178] fix(LinstorSR): ensure we always use real DRBD/VHD +Subject: [PATCH 147/178] fix(LinstorSR): ensure we always use real DRBD/VHD sizes in inflate/deflate GC calls --- @@ -145,5 +145,5 @@ index 3c2810c..8635f48 100755 entries = self.journaler.get_all(VDI.JRN_LEAF) for uuid, parentUuid in entries.iteritems(): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch b/SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch similarity index 93% rename from SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch rename to SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch index 40cda6ee..e8b2693a 100644 --- a/SOURCES/0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch +++ b/SOURCES/0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch @@ -1,7 +1,7 @@ -From f440e05248e5201289b5c7dfc25f3a4867912317 Mon Sep 17 00:00:00 2001 +From 620ca1abd996743be6096300df42230c23c35d9d Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Mon, 27 Nov 2023 14:23:57 +0100 -Subject: [PATCH 147/178] feat(linstor-kv-tool): If no controller uri option is +Subject: [PATCH 148/178] feat(linstor-kv-tool): If no controller uri option is provided fetch it (#48) Signed-off-by: BenjiReis @@ -52,5 +52,5 @@ index c907027..b845ec2 100755 if __name__ == '__main__': -- -2.45.2 +2.46.0 diff --git a/SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch b/SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch similarity index 98% rename from SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch rename to SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch index 68763842..5881c5d0 100644 --- a/SOURCES/0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch +++ b/SOURCES/0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch @@ -1,7 +1,7 @@ -From 163521a5851d6cf808acd8e68e8b6905a9487300 Mon Sep 17 00:00:00 2001 +From 0ae964a043bf01824b38c23aef7c2360519fe38f Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Wed, 29 Nov 2023 15:45:32 +0100 -Subject: [PATCH 148/178] fix(linstorvolumemanager): robustify SR destroy (#46) +Subject: [PATCH 149/178] fix(linstorvolumemanager): robustify SR destroy (#46) Signed-off-by: Ronan Abhamon Co-authored-by: BenjiReis @@ -206,5 +206,5 @@ index 47ca4e8..d27c84e 100755 def _get_filtered_properties(properties): return dict(properties.items()) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch b/SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch similarity index 96% rename from SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch rename to SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch index 46d4d959..e60aaed3 100644 --- a/SOURCES/0149-feat-linstor-manager-extend-API-with-createNodeInter.patch +++ b/SOURCES/0150-feat-linstor-manager-extend-API-with-createNodeInter.patch @@ -1,7 +1,7 @@ -From 695baec632e137b6fbab34b826f4c3224fddf2b3 Mon Sep 17 00:00:00 2001 +From da9afe424c2ad652e7278af658c7b4b4c7d5d0e7 Mon Sep 17 00:00:00 2001 From: BenjiReis Date: Wed, 29 Nov 2023 16:54:30 +0100 -Subject: [PATCH 149/178] feat(linstor-manager): extend API with +Subject: [PATCH 150/178] feat(linstor-manager): extend API with createNodeInterface and setNodePreferredInterface (#47) Signed-off-by: BenjiReis @@ -104,5 +104,5 @@ index d27c84e..fef34d3 100755 """ Get all nodes + statuses, used or not by the pool. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch b/SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch similarity index 88% rename from SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch rename to SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch index 6eab74ea..44ab7fcf 100644 --- a/SOURCES/0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch +++ b/SOURCES/0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch @@ -1,7 +1,7 @@ -From 2eccb722153fe6c903839c0fe5ed329533c4c1c3 Mon Sep 17 00:00:00 2001 +From 13f341c188dae35cc64dbcaf6197c47e23dd4bd2 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 1 Dec 2023 11:55:12 +0100 -Subject: [PATCH 150/178] fix(LinstorSR): support VDI.resize on thick volumes +Subject: [PATCH 151/178] fix(LinstorSR): support VDI.resize on thick volumes --- drivers/LinstorSR.py | 3 +++ @@ -27,5 +27,5 @@ index 1d1b51a..a524338 100755 space_needed = new_volume_size - old_volume_size -- -2.45.2 +2.46.0 diff --git a/SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch b/SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch similarity index 88% rename from SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch rename to SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch index 3d431f17..082c66bb 100644 --- a/SOURCES/0151-fix-linstorvolumemanager-format-correctly-exception-.patch +++ b/SOURCES/0152-fix-linstorvolumemanager-format-correctly-exception-.patch @@ -1,7 +1,7 @@ -From af598434fde6668d79bbab53810f316e63d502a1 Mon Sep 17 00:00:00 2001 +From fc7ee546007b745d8bf5fd96bb039b782e57908b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 4 Dec 2023 16:36:55 +0100 -Subject: [PATCH 151/178] fix(linstorvolumemanager): format correctly exception +Subject: [PATCH 152/178] fix(linstorvolumemanager): format correctly exception during db mount Signed-off-by: Ronan Abhamon @@ -26,5 +26,5 @@ index fef34d3..a41314e 100755 ) except Exception as e: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch b/SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch similarity index 87% rename from SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch rename to SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch index b9eccd56..afd13740 100644 --- a/SOURCES/0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch +++ b/SOURCES/0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch @@ -1,7 +1,7 @@ -From dc34dd73b75ccfc06e85382114ea23da77834801 Mon Sep 17 00:00:00 2001 +From 3199098e8780e80ed57ee610c0f82f07d10be6c5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 4 Dec 2023 18:57:08 +0100 -Subject: [PATCH 152/178] fix(LinstorSR): ensure we can skip coalesces if +Subject: [PATCH 153/178] fix(LinstorSR): ensure we can skip coalesces if device path can't be fetched Signed-off-by: Ronan Abhamon @@ -28,5 +28,5 @@ index 8635f48..8c16f68 100755 def _setHidden(self, hidden=True): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch b/SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch similarity index 98% rename from SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch rename to SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch index 32ec1d29..d5288f56 100644 --- a/SOURCES/0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch +++ b/SOURCES/0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch @@ -1,7 +1,7 @@ -From 334eddd740c2d9891f7671799f9c8f55a51c1a8a Mon Sep 17 00:00:00 2001 +From fd6a07a09507abbfd51564bea77415cef56472e8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Dec 2023 14:49:33 +0100 -Subject: [PATCH 153/178] feat(linstor-manager): add methods to +Subject: [PATCH 154/178] feat(linstor-manager): add methods to modify/destroy/list net interfaces Signed-off-by: Ronan Abhamon @@ -251,5 +251,5 @@ index a41314e..32d1533 100755 def get_nodes_info(self): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch b/SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch similarity index 80% rename from SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch rename to SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch index 5c2940a7..2b7589da 100644 --- a/SOURCES/0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch +++ b/SOURCES/0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch @@ -1,7 +1,7 @@ -From 1f5d49121421691a9dabbbb4e0d44025e3abde27 Mon Sep 17 00:00:00 2001 +From ab68cd45f930d47f051911a7bdb7ca8aad7d09fb Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 12 Jan 2024 10:28:20 +0100 -Subject: [PATCH 154/178] fix(LinstorSR): force a defined volume prefix if we +Subject: [PATCH 155/178] fix(LinstorSR): force a defined volume prefix if we can't import libs Signed-off-by: Ronan Abhamon @@ -23,5 +23,5 @@ index a524338..a73ae5a 100755 from lock import Lock -- -2.45.2 +2.46.0 diff --git a/SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch b/SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch similarity index 86% rename from SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch rename to SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch index 00c6ef0e..eeb64e04 100644 --- a/SOURCES/0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch +++ b/SOURCES/0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch @@ -1,7 +1,7 @@ -From 4ddcc31d0695b66e6135c2fe9d671d3059bfe720 Mon Sep 17 00:00:00 2001 +From b83d372cdf4f424289f542ecfe71744c2d186859 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Jan 2024 10:24:01 +0100 -Subject: [PATCH 155/178] fix(LinstorSR): explicit error message when a group +Subject: [PATCH 156/178] fix(LinstorSR): explicit error message when a group is not unique during SR creation Signed-off-by: Ronan Abhamon @@ -25,5 +25,5 @@ index a73ae5a..fed1de2 100755 if srs: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch b/SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch similarity index 94% rename from SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch rename to SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch index cf27340c..93c9fa9d 100644 --- a/SOURCES/0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch +++ b/SOURCES/0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch @@ -1,7 +1,7 @@ -From 8656be850cc50c29a8d9cfd17c9e9258c7809467 Mon Sep 17 00:00:00 2001 +From ce96408a3dda9b8d321e2f12723d28043a251237 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Jan 2024 11:18:11 +0100 -Subject: [PATCH 156/178] fix(LinstorSR): make sure VDI.delete doesn't throw +Subject: [PATCH 157/178] fix(LinstorSR): make sure VDI.delete doesn't throw under specific conditions If we can update the volume state in the KV-store, there is no reason to raise @@ -66,5 +66,5 @@ index 32d1533..97e5372 100755 def lock_volume(self, volume_uuid, locked=True): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch b/SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch similarity index 88% rename from SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch rename to SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch index 02666a64..e6f978d8 100644 --- a/SOURCES/0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch +++ b/SOURCES/0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch @@ -1,7 +1,7 @@ -From 35d2cfa162cb00a67d444a3ba8427842954523fe Mon Sep 17 00:00:00 2001 +From 30a3692573e79f371c2cf2b79c19b7cc02bc693f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 19 Jan 2024 14:39:17 +0100 -Subject: [PATCH 157/178] fix(LinstorSR): add drbd in the blacklist of +Subject: [PATCH 158/178] fix(LinstorSR): add drbd in the blacklist of multipath.conf If DRBD is installed for the first time, and if the multipathd @@ -30,5 +30,5 @@ index c854b57..309bf2a 100644 # Leave this section in place even if empty blacklist_exceptions { -- -2.45.2 +2.46.0 diff --git a/SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch b/SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch similarity index 97% rename from SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch rename to SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch index 08c852f1..16175a9c 100644 --- a/SOURCES/0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch +++ b/SOURCES/0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch @@ -1,7 +1,7 @@ -From c14781d38cd6d00fbb0ac9511a9e5a4440698b6d Mon Sep 17 00:00:00 2001 +From 4edb24b82089ace930eb68beb69a6ab57714b04e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 22 Jan 2024 11:25:25 +0100 -Subject: [PATCH 158/178] fix(linstorvolumemanager): create cloned volumes on +Subject: [PATCH 159/178] fix(linstorvolumemanager): create cloned volumes on host selected by LINSTOR Signed-off-by: Ronan Abhamon @@ -122,5 +122,5 @@ index 97e5372..5de86a1 100755 def remove_resourceless_volumes(self): """ -- -2.45.2 +2.46.0 diff --git a/SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch b/SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch similarity index 87% rename from SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch rename to SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch index a6353268..8167586f 100644 --- a/SOURCES/0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch +++ b/SOURCES/0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch @@ -1,7 +1,7 @@ -From 7edbc090f1dcfa2bcc63e669af81e14c11addc05 Mon Sep 17 00:00:00 2001 +From 09a32aefb00ff510ee3197dba69f1dfe1c40c81b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Jan 2024 15:29:21 +0100 -Subject: [PATCH 159/178] fix(linstorvolumemanager): don't align volumes on LVM +Subject: [PATCH 160/178] fix(linstorvolumemanager): don't align volumes on LVM sector size It's the goal of the LINSTOR stack to align properly on the LVM layer. @@ -28,5 +28,5 @@ index 5de86a1..7410fd7 100755 # List of volume properties. PROP_METADATA = 'metadata' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch b/SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch similarity index 87% rename from SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch rename to SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch index 574164cb..21b5065e 100644 --- a/SOURCES/0160-fix-linstorvolumemanager-assert-with-message-after-l.patch +++ b/SOURCES/0161-fix-linstorvolumemanager-assert-with-message-after-l.patch @@ -1,7 +1,7 @@ -From 181e82b231f0abdb51594ec9c362c90dde80b31c Mon Sep 17 00:00:00 2001 +From bd36d8cc1077b88bf5257a91f270f84cf5261e64 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 18:01:22 +0100 -Subject: [PATCH 160/178] fix(linstorvolumemanager): assert with message after +Subject: [PATCH 161/178] fix(linstorvolumemanager): assert with message after log in update_volume_uuid Signed-off-by: Ronan Abhamon @@ -29,5 +29,5 @@ index 7410fd7..5f2e06e 100755 self._ensure_volume_exists(volume_uuid) self.ensure_volume_is_not_locked(volume_uuid) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch b/SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch similarity index 93% rename from SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch rename to SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch index 381f010e..bd602cd2 100644 --- a/SOURCES/0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch +++ b/SOURCES/0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch @@ -1,7 +1,7 @@ -From 0481bcd2232e87b4458ffaabeff3c9f40d4362f4 Mon Sep 17 00:00:00 2001 +From af5c06ba9a7d679ce82ed7a2dc0df96301a4994b Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 5 Feb 2024 23:13:06 +0100 -Subject: [PATCH 161/178] fix(linstorvolumemanager): retry resize if volume is +Subject: [PATCH 162/178] fix(linstorvolumemanager): retry resize if volume is not up to date Signed-off-by: Ronan Abhamon @@ -54,5 +54,5 @@ index 5f2e06e..79ac84a 100755 'Could not resize volume `{}` from SR `{}`: {}' .format(volume_uuid, self._group_name, error_str) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch b/SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch similarity index 96% rename from SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch rename to SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch index 00596163..527fd5c3 100644 --- a/SOURCES/0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch +++ b/SOURCES/0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch @@ -1,7 +1,7 @@ -From eae3f5a79684319a75f65514d5b6c65e73ea4aee Mon Sep 17 00:00:00 2001 +From a3859a63b34c6e888c07ea4e5ec070ad94fd0aa8 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Feb 2024 00:10:32 +0100 -Subject: [PATCH 162/178] fix(LinstorSR): create DRBD diskless if necessary for +Subject: [PATCH 163/178] fix(LinstorSR): create DRBD diskless if necessary for each VHD parent It's necessary to have all parents during snapshot to create a new VHD child. @@ -97,5 +97,5 @@ index 1e09e9b..53afbef 100755 -- -2.45.2 +2.46.0 diff --git a/SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch b/SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch similarity index 89% rename from SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch rename to SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch index e8fffafc..8b345540 100644 --- a/SOURCES/0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch +++ b/SOURCES/0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch @@ -1,7 +1,7 @@ -From 71f177ba5e1ddc71bd9acaad301849b62d719642 Mon Sep 17 00:00:00 2001 +From e21d3bc7b517bb790517e494f9e2eed18e9f3290 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Feb 2024 00:14:11 +0100 -Subject: [PATCH 163/178] fix(LinstorSR): fix bad call to vhdutil.inflate + bad +Subject: [PATCH 164/178] fix(LinstorSR): fix bad call to vhdutil.inflate + bad exception Signed-off-by: Ronan Abhamon @@ -32,5 +32,5 @@ index 53afbef..de10f42 100755 try: self.sr._handle_interrupted_clone( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch b/SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch similarity index 84% rename from SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch rename to SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch index 678f9e75..4f561983 100644 --- a/SOURCES/0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch +++ b/SOURCES/0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch @@ -1,7 +1,7 @@ -From 1340ce2e1ab70d2077294304a7de626cedef1302 Mon Sep 17 00:00:00 2001 +From adea9c192b43f438da3732188ed0ad05751179e6 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 12 Feb 2024 20:54:06 +0100 -Subject: [PATCH 164/178] fix(LinstorSR): activate VG if attach from config is +Subject: [PATCH 165/178] fix(LinstorSR): activate VG if attach from config is asked Signed-off-by: Ronan Abhamon @@ -23,5 +23,5 @@ index de10f42..b6b1529 100755 if not self._has_session: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch b/SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch similarity index 99% rename from SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch rename to SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch index 436cdfbc..54748071 100644 --- a/SOURCES/0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch +++ b/SOURCES/0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch @@ -1,7 +1,7 @@ -From e3a1524d69685f7c48e3efc16cdfb69ae722d7cc Mon Sep 17 00:00:00 2001 +From 3227a0c30b0a58e4431cb80ab1b188b89a004a41 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 19 Mar 2024 23:09:54 +0100 -Subject: [PATCH 165/178] feat(LinstorSR): use a specific resource group for DB +Subject: [PATCH 166/178] feat(LinstorSR): use a specific resource group for DB and HA Signed-off-by: Ronan Abhamon @@ -517,5 +517,5 @@ index 79ac84a..4118a28 100755 raise LinstorVolumeManagerError( 'Failed to create volume `{}` from SR `{}`: {}'.format( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch b/SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch similarity index 95% rename from SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch rename to SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch index a7b01928..26020c58 100644 --- a/SOURCES/0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch +++ b/SOURCES/0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch @@ -1,7 +1,7 @@ -From 3d704956a9624303b4258e9e9954396bdeb1a0c5 Mon Sep 17 00:00:00 2001 +From 99997af6173a0bd6ed59a0242657f162245aef91 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 11:22:18 +0200 -Subject: [PATCH 166/178] feat(linstor-manager): add +Subject: [PATCH 167/178] feat(linstor-manager): add `getNodePreferredInterface` helper Signed-off-by: Ronan Abhamon @@ -72,5 +72,5 @@ index 4118a28..46c3283 100755 """ Set the preferred interface to use on a node. -- -2.45.2 +2.46.0 diff --git a/SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch b/SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch similarity index 87% rename from SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch rename to SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch index c8c2cb8c..9c0e4051 100644 --- a/SOURCES/0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch +++ b/SOURCES/0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch @@ -1,7 +1,7 @@ -From db37c5c68d38416de88a64c4cc1b70fd6971f8fb Mon Sep 17 00:00:00 2001 +From 5491fbc0f245095e62f83b78e3afcd76745cbe5e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 11:26:00 +0200 -Subject: [PATCH 167/178] fix(linstorvolumemanager): blocks deletion of default +Subject: [PATCH 168/178] fix(linstorvolumemanager): blocks deletion of default network interface Signed-off-by: Ronan Abhamon @@ -27,5 +27,5 @@ index 46c3283..02059d8 100755 errors = self._filter_errors(result) if errors: -- -2.45.2 +2.46.0 diff --git a/SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch b/SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch similarity index 96% rename from SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch rename to SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch index e75b291d..c9f83f6e 100644 --- a/SOURCES/0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch +++ b/SOURCES/0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch @@ -1,7 +1,7 @@ -From 91794049e90cbfa6997c27e1aa81dac3f460d0f3 Mon Sep 17 00:00:00 2001 +From 21788b7143fd9add8681f1a909c4eca1b18d2919 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 15 Apr 2024 17:56:47 +0200 -Subject: [PATCH 168/178] feat(linstorvolumemanager): change logic of +Subject: [PATCH 169/178] feat(linstorvolumemanager): change logic of `get_resources_info`: - Add a nested level "nodes" for each resource - Add a "uuid" attr on resources - Rename LINSTOR "uuid" to "linstor-uuid" - Optimize code @@ -100,5 +100,5 @@ index 02059d8..25c226a 100755 def get_database_path(self): -- -2.45.2 +2.46.0 diff --git a/SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch b/SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch similarity index 98% rename from SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch rename to SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch index 9a6a4266..06601a9e 100644 --- a/SOURCES/0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch +++ b/SOURCES/0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch @@ -1,7 +1,7 @@ -From a160b11630ccea5ce2d4799c98cc4fa3949d7ab7 Mon Sep 17 00:00:00 2001 +From d325b4d57656cb4e57225898dbe09c19d3a05737 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 18 Apr 2024 13:57:37 +0200 -Subject: [PATCH 169/178] feat(linstor-manager): add error codes to healthCheck +Subject: [PATCH 170/178] feat(linstor-manager): add error codes to healthCheck helper Signed-off-by: Ronan Abhamon @@ -247,5 +247,5 @@ index 25c226a..94d5c51 100755 'free-size': size, 'capacity': capacity -- -2.45.2 +2.46.0 diff --git a/SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch b/SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch similarity index 90% rename from SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch rename to SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch index f64f511e..46d89e73 100644 --- a/SOURCES/0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch +++ b/SOURCES/0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch @@ -1,7 +1,7 @@ -From 20a4fa3fc5932216a30a7b0e6e8fad292ae73859 Mon Sep 17 00:00:00 2001 +From d690c2a413af2e41bb81f55d32b646a7c48476ec Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Apr 2024 15:10:49 +0200 -Subject: [PATCH 170/178] fix(LinstorSR): fix bad exception reference during +Subject: [PATCH 171/178] fix(LinstorSR): fix bad exception reference during snapshot Signed-off-by: Ronan Abhamon @@ -35,5 +35,5 @@ index 3421f79..3bd31e9 100755 raise xs_errors.XenError('VDIClone', opterr=str(e)) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0172-fix-LVHDoISCSISR-disable-restart-of-ISCSI-daemon.patch b/SOURCES/0172-fix-LVHDoISCSISR-disable-restart-of-ISCSI-daemon.patch deleted file mode 100644 index 880f6131..00000000 --- a/SOURCES/0172-fix-LVHDoISCSISR-disable-restart-of-ISCSI-daemon.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 09a03ec264af5ca874380c89aa9efaf6d6fe1b7e Mon Sep 17 00:00:00 2001 -From: Ronan Abhamon -Date: Fri, 26 Apr 2024 14:20:04 +0200 -Subject: [PATCH 172/178] fix(LVHDoISCSISR): disable restart of ISCSI daemon - -Signed-off-by: Ronan Abhamon ---- - drivers/LVHDoISCSISR.py | 2 ++ - tests/test_LVHDoISCSISR.py | 51 -------------------------------------- - 2 files changed, 2 insertions(+), 51 deletions(-) - -diff --git a/drivers/LVHDoISCSISR.py b/drivers/LVHDoISCSISR.py -index 1fa6f6f..da2c9ed 100755 ---- a/drivers/LVHDoISCSISR.py -+++ b/drivers/LVHDoISCSISR.py -@@ -553,6 +553,8 @@ class LVHDoISCSISR(LVHDSR.LVHDSR): - return out - - def check_sr(self, sr_uuid): -+ # Disable to prevent daemon restart. -+ return - """Hook to check SR health""" - pbdref = util.find_my_pbd(self.session, self.host_ref, self.sr_ref) - if pbdref: -diff --git a/tests/test_LVHDoISCSISR.py b/tests/test_LVHDoISCSISR.py -index ba668d0..c876ed8 100644 ---- a/tests/test_LVHDoISCSISR.py -+++ b/tests/test_LVHDoISCSISR.py -@@ -167,15 +167,6 @@ class TestLVHDoISCSISR(ISCSITestCase): - - super(TestLVHDoISCSISR, self).setUp() - -- @property -- def mock_baseiscsi(self): -- assert len(self.base_srs) == 1 -- single_sr = None -- for sr in self.base_srs: -- single_sr = sr -- -- return single_sr -- - def baseiscsi(self, srcmd, sr_uuid): - new_baseiscsi = mock.create_autospec(BaseISCSISR) - local_iqn = srcmd.dconf['localIQN'] -@@ -199,48 +190,6 @@ class TestLVHDoISCSISR(ISCSITestCase): - self.subject = LVHDoISCSISR.LVHDoISCSISR( - sr_cmd, self.sr_uuid) - -- def test_check_sr_pbd_not_found(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = None -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_util.find_my_pbd.assert_called_with( -- self.mock_session, 'test_host', 'sr_ref') -- -- def test_check_sr_correct_sessions_count(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = 'my_pbd' -- self.mock_session.xenapi.PBD.get_other_config.return_value = { -- 'iscsi_sessions': 2 -- } -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_session.xenapi.PBD.get_other_config.assert_called_with('my_pbd') -- -- def test_check_sr_not_enough_sessions(self): -- # Arrange -- self.mock_util.find_my_pbd.return_value = 'my_pbd' -- self.mock_session.xenapi.PBD.get_other_config.return_value = { -- 'iscsi_sessions': 1 -- } -- self.create_test_sr(self.create_sr_command()) -- -- # Act -- self.subject.check_sr(TEST_SR_UUID) -- -- # Assert -- self.mock_baseiscsi.attach.assert_called_with( -- TEST_SR_UUID -- ) -- - def test_sr_attach_multi_session(self): - # Arrange - self.mock_util.find_my_pbd.return_value = 'my_pbd' --- -2.45.2 - diff --git a/SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch b/SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch similarity index 97% rename from SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch rename to SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch index 3df67920..bbb9cd47 100644 --- a/SOURCES/0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch +++ b/SOURCES/0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch @@ -1,7 +1,7 @@ -From d701a62618ab66606731ce6db0424849ed8cdf9f Mon Sep 17 00:00:00 2001 +From e1343b31312142eced90f45ea0ade39a07e5a447 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 24 Apr 2024 17:29:26 +0200 -Subject: [PATCH 171/178] fix(tapdisk-pause): ensure LINSTOR VHD chain is +Subject: [PATCH 172/178] fix(tapdisk-pause): ensure LINSTOR VHD chain is available Signed-off-by: Ronan Abhamon @@ -155,5 +155,5 @@ index e0bca7b..c316cdf 100755 if realpath != device_path: util.SMlog( -- -2.45.2 +2.46.0 diff --git a/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch b/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch index a1fed1cd..4f39ecc1 100644 --- a/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch +++ b/SOURCES/0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch @@ -1,4 +1,4 @@ -From fa482bd8394f3ebd72f87aa1bae76b03c14ca120 Mon Sep 17 00:00:00 2001 +From bee9bb828530924b8596135b70bb38092ef5cf8f Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 6 May 2024 18:15:00 +0200 Subject: [PATCH 173/178] fix(linstorvhdutil): retry check on another machine @@ -72,5 +72,5 @@ index 17b7790..fd2bc8b 100644 return distutils.util.strtobool(response) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch b/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch index fccb363a..9b5e01dc 100644 --- a/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch +++ b/SOURCES/0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch @@ -1,4 +1,4 @@ -From cbd05b772d0510be31296bfc09cda7389dc796fd Mon Sep 17 00:00:00 2001 +From 3aba57e6ea4f6826b5164b97971099d8196c8d3e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 6 May 2024 21:35:36 +0200 Subject: [PATCH 174/178] fix(LinstorSR): explicit errors when database path is @@ -45,5 +45,5 @@ index 94d5c51..948d45d 100755 ) -- -2.45.2 +2.46.0 diff --git a/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch b/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch index a1482987..9bbe3984 100644 --- a/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch +++ b/SOURCES/0175-fix-LinstorSR-Misc-fixes-on-destroy.patch @@ -1,4 +1,4 @@ -From 318460ff8dfccafc928dfc12de211b2336da3386 Mon Sep 17 00:00:00 2001 +From e65ad0c6669174d90ab356f171d5aa121da8eca1 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Tue, 30 Apr 2024 15:38:34 +0200 Subject: [PATCH 175/178] fix(LinstorSR): Misc fixes on destroy @@ -132,5 +132,5 @@ index 948d45d..103f91b 100755 util.SMlog( 'Ignoring failure after LINSTOR SR destruction: {}' -- -2.45.2 +2.46.0 diff --git a/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch b/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch index cb8f32a9..61a99441 100644 --- a/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch +++ b/SOURCES/0176-fix-LinstorSR-open-non-leaf-volumes-in-RO-mode-creat.patch @@ -1,4 +1,4 @@ -From 8c6fe4981a647aa087a91d76ecc9fe5d4f94b082 Mon Sep 17 00:00:00 2001 +From 8901bc318ee16f7eba20dc6ad2ea735610f73c41 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 20 Jun 2024 22:37:40 +0200 Subject: [PATCH 176/178] fix(LinstorSR): open non-leaf volumes in RO mode @@ -81,5 +81,5 @@ index fd2bc8b..7f8efa1 100644 return leaf_vdi_path -- -2.45.2 +2.46.0 diff --git a/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch b/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch index 5fcbd761..65e5df1f 100644 --- a/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch +++ b/SOURCES/0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch @@ -1,4 +1,4 @@ -From 56fd6bfd862670262c52d2722ac506c276a12d56 Mon Sep 17 00:00:00 2001 +From 8434a428d51849320db4b42e528501d283d495ac Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 26 Jul 2024 11:32:20 +0200 Subject: [PATCH 177/178] fix(LinstorSR): ensure `_is_master` is always set @@ -154,5 +154,5 @@ index 2127057..fdcad17 100755 # or diskful available to init HA. # It also avoid this error in xensource.log -- -2.45.2 +2.46.0 diff --git a/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch b/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch index 0fbf0fb6..b5f83e7a 100644 --- a/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch +++ b/SOURCES/0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch @@ -1,4 +1,4 @@ -From 35038d57307463634f18aab89c0c5716184ba9ee Mon Sep 17 00:00:00 2001 +From 9207abe1f2e1ff1795cdba1a0aeb76574412a583 Mon Sep 17 00:00:00 2001 From: Damien Thenot Date: Fri, 26 Jul 2024 14:13:05 +0200 Subject: [PATCH 178/178] fix(linstor): check if resource is tiebreaker (#62) @@ -31,5 +31,5 @@ index 103f91b..8bfd1c1 100755 node_name=node_name, rsc_name=volume_name ) -- -2.45.2 +2.46.0 diff --git a/SOURCES/stormi.patch b/SOURCES/stormi.patch deleted file mode 100644 index 9e5afd53..00000000 --- a/SOURCES/stormi.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/Makefile b/Makefile -index e96e64e..3e06e51 100755 ---- a/Makefile -+++ b/Makefile -@@ -63,6 +63,7 @@ SM_LIBS += sr_health_check - UDEV_RULES = 65-multipath 55-xs-mpath-scsidev 57-usb 58-xapi - MPATH_DAEMON = sm-multipath - MPATH_CONF = multipath.conf -+MPATH_CUSTOM_CONF = custom.conf - SMLOG_CONF = SMlog - - SM_XML := XE_SR_ERRORCODES -@@ -78,6 +79,7 @@ UDEV_SCRIPTS_DIR := /etc/udev/scripts/ - SYSTEMD_SERVICE_DIR := /usr/lib/systemd/system/ - INIT_DIR := /etc/rc.d/init.d/ - MPATH_CONF_DIR := /etc/multipath.xenserver/ -+MPATH_CUSTOM_CONF_DIR := /etc/multipath/conf.d/ - MODPROBE_DIR := /etc/modprobe.d/ - EXTENSION_SCRIPT_DEST := /etc/xapi.d/extensions/ - LOGROTATE_DIR := /etc/logrotate.d/ -@@ -130,6 +132,7 @@ install: precheck - mkdir -p $(SM_STAGING)$(INIT_DIR) - mkdir -p $(SM_STAGING)$(SYSTEMD_SERVICE_DIR) - mkdir -p $(SM_STAGING)$(MPATH_CONF_DIR) -+ mkdir -p $(SM_STAGING)$(MPATH_CUSTOM_CONF_DIR) - mkdir -p $(SM_STAGING)$(MODPROBE_DIR) - mkdir -p $(SM_STAGING)$(LOGROTATE_DIR) - mkdir -p $(SM_STAGING)$(DEBUG_DEST) -@@ -147,6 +150,8 @@ install: precheck - $(SM_STAGING)$(SM_DEST)/plugins/ - install -m 644 multipath/$(MPATH_CONF) \ - $(SM_STAGING)/$(MPATH_CONF_DIR) -+ install -m 644 multipath/$(MPATH_CUSTOM_CONF) \ -+ $(SM_STAGING)/$(MPATH_CUSTOM_CONF_DIR) - install -m 755 multipath/sm-multipath \ - $(SM_STAGING)/$(INIT_DIR) - install -m 755 multipath/multipath-root-setup \ diff --git a/SPECS/sm.spec b/SPECS/sm.spec index 3a4909db..debd1f04 100644 --- a/SPECS/sm.spec +++ b/SPECS/sm.spec @@ -11,7 +11,7 @@ Summary: sm - XCP storage managers Name: sm Version: 2.30.8 -Release: %{?xsrel}.1.0.linstor.4%{?dist} +Release: %{?xsrel}.2.0.linstor.1%{?dist} Group: System/Hypervisor License: LGPL URL: https://github.com/xapi-project/sm @@ -119,155 +119,155 @@ Patch1020: 0020-Backport-NFS4-only-support.patch Patch1021: 0021-Backport-probe-for-NFS4-when-rpcinfo-does-not-includ.patch Patch1022: 0022-feat-LargeBlock-backport-of-largeblocksr-51-55.patch Patch1023: 0023-feat-LVHDSR-add-a-way-to-modify-config-of-LVMs-56.patch -Patch1024: 0024-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch -Patch1025: 0025-timeout_call-returns-the-result-of-user-function-now.patch -Patch1026: 0026-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch -Patch1027: 0027-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch -Patch1028: 0028-feat-LinstorSR-Improve-LINSTOR-performance.patch -Patch1029: 0029-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch -Patch1030: 0030-feat-LinstorSR-display-a-correctly-readable-size-for.patch -Patch1031: 0031-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch -Patch1032: 0032-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch -Patch1033: 0033-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch -Patch1034: 0034-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch -Patch1035: 0035-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch -Patch1036: 0036-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch -Patch1037: 0037-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch -Patch1038: 0038-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch -Patch1039: 0039-feat-LinstorSR-add-optional-ips-parameter.patch -Patch1040: 0040-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch -Patch1041: 0041-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch -Patch1042: 0042-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch -Patch1043: 0043-fix-LinstorSR-prevent-starting-controller-during-fai.patch -Patch1044: 0044-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch -Patch1045: 0045-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch -Patch1046: 0046-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch -Patch1047: 0047-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch -Patch1048: 0048-feat-LinstorSR-explain-on-which-host-plugins-command.patch -Patch1049: 0049-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch -Patch1050: 0050-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch -Patch1051: 0051-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch -Patch1052: 0052-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch -Patch1053: 0053-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch -Patch1054: 0054-feat-linstor-manager-add-methods-to-add-remove-host-.patch -Patch1055: 0055-feat-LinstorVolumeManager-support-SR-creation-with-d.patch -Patch1056: 0056-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch -Patch1057: 0057-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch -Patch1058: 0058-feat-linstor-manager-add-method-to-create-LinstorSR-.patch -Patch1059: 0059-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch -Patch1060: 0060-fix-minidrbdcluster-supports-new-properties-like-for.patch -Patch1061: 0061-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch -Patch1062: 0062-fix-linstor-manager-change-linstor-satellite-start-b.patch -Patch1063: 0063-Fix-is_open-call-for-LinstorSR.patch -Patch1064: 0064-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch -Patch1065: 0065-feat-linstor-manager-robustify-exec_create_sr.patch -Patch1066: 0066-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch -Patch1067: 0067-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch -Patch1068: 0068-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch -Patch1069: 0069-fix-linstorvolumemanager-compute-correctly-size-in-a.patch -Patch1070: 0070-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch -Patch1071: 0071-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch -Patch1072: 0072-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch -Patch1073: 0073-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch -Patch1074: 0074-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch -Patch1075: 0075-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch -Patch1076: 0076-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch -Patch1077: 0077-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch -Patch1078: 0078-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch -Patch1079: 0079-feat-minidrbdcluster-stop-resource-services-at-start.patch -Patch1080: 0080-feat-linstor-manager-add-new-healthCheck-function-to.patch -Patch1081: 0081-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch -Patch1082: 0082-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch -Patch1083: 0083-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch -Patch1084: 0084-feat-linstorvolumemanager-support-snaps-when-a-host-.patch -Patch1085: 0085-fix-linstorvolumemanager-support-offline-hosts-when-.patch -Patch1086: 0086-fix-linstorvolumemanager-define-_base_group_name-mem.patch -Patch1087: 0087-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch -Patch1088: 0088-fix-linstorvolumemanager-robustify-failed-snapshots.patch -Patch1089: 0089-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch -Patch1090: 0090-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch -Patch1091: 0091-fix-LinstorSR-handle-correctly-localhost-during-star.patch -Patch1092: 0092-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch -Patch1093: 0093-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch -Patch1094: 0094-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch -Patch1095: 0095-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch -Patch1096: 0096-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch -Patch1097: 0097-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch -Patch1098: 0098-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch -Patch1099: 0099-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch -Patch1100: 0100-feat-fork-log-daemon-ignore-SIGTERM.patch -Patch1101: 0101-feat-LinstorSR-wait-for-http-disk-server-startup.patch -Patch1102: 0102-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch -Patch1103: 0103-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch -Patch1104: 0104-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch -Patch1105: 0105-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch -Patch1106: 0106-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch -Patch1107: 0107-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch -Patch1108: 0108-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch -Patch1109: 0109-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch -Patch1110: 0110-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch -Patch1111: 0111-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch -Patch1112: 0112-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch -Patch1113: 0113-fix-linstorvolumemanager-remove-usage-of-realpath.patch -Patch1114: 0114-fix-linstorvhdutil-avoid-parent-path-resolution.patch -Patch1115: 0115-fix-LinstorSR-create-parent-path-during-attach.patch -Patch1116: 0116-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch -Patch1117: 0117-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch -Patch1118: 0118-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch -Patch1119: 0119-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch -Patch1120: 0120-fix-LinstorSR-remove-hosts-ips-param.patch -Patch1121: 0121-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch -Patch1122: 0122-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch -Patch1123: 0123-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch -Patch1124: 0124-fix-linstor-manager-remove-dead-useless-code-in-add-.patch -Patch1125: 0125-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch -Patch1126: 0126-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch -Patch1127: 0127-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch -Patch1128: 0128-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch -Patch1129: 0129-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch -Patch1130: 0130-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch -Patch1131: 0131-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch -Patch1132: 0132-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch -Patch1133: 0133-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch -Patch1134: 0134-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch -Patch1135: 0135-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch -Patch1136: 0136-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch -Patch1137: 0137-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch -Patch1138: 0138-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch -Patch1139: 0139-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch -Patch1140: 0140-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch -Patch1141: 0141-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch -Patch1142: 0142-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch -Patch1143: 0143-fix-LinstorSR-support-different-volume-sizes-in-clea.patch -Patch1144: 0144-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch -Patch1145: 0145-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch -Patch1146: 0146-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch -Patch1147: 0147-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch -Patch1148: 0148-fix-linstorvolumemanager-robustify-SR-destroy-46.patch -Patch1149: 0149-feat-linstor-manager-extend-API-with-createNodeInter.patch -Patch1150: 0150-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch -Patch1151: 0151-fix-linstorvolumemanager-format-correctly-exception-.patch -Patch1152: 0152-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch -Patch1153: 0153-feat-linstor-manager-add-methods-to-modify-destroy-l.patch -Patch1154: 0154-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch -Patch1155: 0155-fix-LinstorSR-explicit-error-message-when-a-group-is.patch -Patch1156: 0156-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch -Patch1157: 0157-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch -Patch1158: 0158-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch -Patch1159: 0159-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch -Patch1160: 0160-fix-linstorvolumemanager-assert-with-message-after-l.patch -Patch1161: 0161-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch -Patch1162: 0162-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch -Patch1163: 0163-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch -Patch1164: 0164-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch -Patch1165: 0165-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch -Patch1166: 0166-feat-linstor-manager-add-getNodePreferredInterface-h.patch -Patch1167: 0167-fix-linstorvolumemanager-blocks-deletion-of-default-.patch -Patch1168: 0168-feat-linstorvolumemanager-change-logic-of-get_resour.patch -Patch1169: 0169-feat-linstor-manager-add-error-codes-to-healthCheck-.patch -Patch1170: 0170-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch -Patch1171: 0171-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch -Patch1172: 0172-fix-LVHDoISCSISR-disable-restart-of-ISCSI-daemon.patch +Patch1024: 0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch +Patch1025: 0025-Fix-timeout_call-alarm-must-be-reset-in-case-of-succ.patch +Patch1026: 0026-timeout_call-returns-the-result-of-user-function-now.patch +Patch1027: 0027-Always-remove-the-pause-tag-from-VDIs-in-case-of-fai.patch +Patch1028: 0028-fix-LinstorSR-repair-volumes-only-if-an-exclusive-co.patch +Patch1029: 0029-feat-LinstorSR-Improve-LINSTOR-performance.patch +Patch1030: 0030-feat-LinstorSR-robustify-scan-to-avoid-losing-VDIs-i.patch +Patch1031: 0031-feat-LinstorSR-display-a-correctly-readable-size-for.patch +Patch1032: 0032-feat-linstor-monitord-scan-all-LINSTOR-SRs-every-12-.patch +Patch1033: 0033-fix-LinstorSR-call-correctly-method-in-_locked_load-.patch +Patch1034: 0034-feat-LinstorSR-integrate-minidrbdcluster-daemon.patch +Patch1035: 0035-feat-LinstorSR-ensure-heartbeat-and-redo_log-VDIs-ar.patch +Patch1036: 0036-feat-LinstorSR-protect-sr-commands-to-avoid-forgetti.patch +Patch1037: 0037-fix-LinstorJournaler-ensure-uri-is-not-None-during-l.patch +Patch1038: 0038-feat-LinstorSR-add-an-option-to-disable-auto-quorum-.patch +Patch1039: 0039-fix-LinstorVolumeManager-add-a-workaround-to-create-.patch +Patch1040: 0040-feat-LinstorSR-add-optional-ips-parameter.patch +Patch1041: 0041-feat-LinstorSR-add-a-helper-log_drbd_erofs-to-trace-.patch +Patch1042: 0042-fix-LinstorSR-try-to-restart-the-services-again-if-t.patch +Patch1043: 0043-fix-LinstorSR-robustify-linstor-manager-to-never-inc.patch +Patch1044: 0044-fix-LinstorSR-prevent-starting-controller-during-fai.patch +Patch1045: 0045-feat-LinstorVolumeManager-increase-peer-slots-limit-.patch +Patch1046: 0046-feat-LinstorVolumeManager-add-a-fallback-to-find-con.patch +Patch1047: 0047-fix-var-lib-linstor.mount-ensure-we-always-mount-dat.patch +Patch1048: 0048-feat-LinstorVolumeManager-add-a-fallback-to-find-nod.patch +Patch1049: 0049-feat-LinstorSR-explain-on-which-host-plugins-command.patch +Patch1050: 0050-fix-LinstorSR-create-diskless-path-if-necessary-duri.patch +Patch1051: 0051-feat-LinstorSR-use-HTTP-NBD-instead-of-DRBD-directly.patch +Patch1052: 0052-fix-LinstorSR-find-controller-when-XAPI-unreachable-.patch +Patch1053: 0053-fix-LinstorSR-use-IPs-instead-of-hostnames-in-NBD-se.patch +Patch1054: 0054-fix-LinstorVolumeManager-ensure-we-always-use-IPs-in.patch +Patch1055: 0055-feat-linstor-manager-add-methods-to-add-remove-host-.patch +Patch1056: 0056-feat-LinstorVolumeManager-support-SR-creation-with-d.patch +Patch1057: 0057-feat-LinstorSR-add-a-config-var-to-disable-HTTP-NBD-.patch +Patch1058: 0058-feat-LinstorSr-ensure-LVM-group-is-activated-during-.patch +Patch1059: 0059-feat-linstor-manager-add-method-to-create-LinstorSR-.patch +Patch1060: 0060-fix-LinstorSR-always-set-vdi_path-in-generate_config.patch +Patch1061: 0061-fix-minidrbdcluster-supports-new-properties-like-for.patch +Patch1062: 0062-fix-LinstorSR-enabled-disable-minidrbcluster-with-fi.patch +Patch1063: 0063-fix-linstor-manager-change-linstor-satellite-start-b.patch +Patch1064: 0064-Fix-is_open-call-for-LinstorSR.patch +Patch1065: 0065-fix-linstorvhdutil-fix-boolean-params-of-check-call.patch +Patch1066: 0066-feat-linstor-manager-robustify-exec_create_sr.patch +Patch1067: 0067-fix-cleanup-print-LINSTOR-VDI-UUID-if-error-during-i.patch +Patch1068: 0068-feat-cleanup-raise-and-dump-DRBD-openers-in-case-of-.patch +Patch1069: 0069-feat-linstorvhdutil-trace-DRBD-openers-in-case-of-ER.patch +Patch1070: 0070-fix-linstorvolumemanager-compute-correctly-size-in-a.patch +Patch1071: 0071-feat-LinstorSR-use-DRBD-openers-instead-of-lsof-to-l.patch +Patch1072: 0072-feat-LinstorSR-support-cProfile-to-trace-calls-when-.patch +Patch1073: 0073-fix-LinstorJournaler-reset-namespace-when-get-is-cal.patch +Patch1074: 0074-fix-linstorvhdutil-fix-coalesce-with-VM-running-unde.patch +Patch1075: 0075-fix-linstorvolumemanager-_get_volumes_info-doesn-t-r.patch +Patch1076: 0076-fix-linstorvolumemanager-remove-double-prefix-on-kv-.patch +Patch1077: 0077-feat-LinstorSR-add-linstor-kv-dump-helper-to-print-k.patch +Patch1078: 0078-fix-LinstorSR-disable-VHD-key-hash-usage-to-limit-ex.patch +Patch1079: 0079-fix-minidrbdcluster-ensure-SIGINT-is-handled-correct.patch +Patch1080: 0080-feat-minidrbdcluster-stop-resource-services-at-start.patch +Patch1081: 0081-feat-linstor-manager-add-new-healthCheck-function-to.patch +Patch1082: 0082-fix-LinstorSR-fix-xha-conf-parsing-return-host-ip-no.patch +Patch1083: 0083-fix-LinstorSR-start-correctly-HA-servers-HTTP-NBD-af.patch +Patch1084: 0084-fix-linstorvolumemanager-use-an-array-to-store-diskf.patch +Patch1085: 0085-feat-linstorvolumemanager-support-snaps-when-a-host-.patch +Patch1086: 0086-fix-linstorvolumemanager-support-offline-hosts-when-.patch +Patch1087: 0087-fix-linstorvolumemanager-define-_base_group_name-mem.patch +Patch1088: 0088-feat-linstorvhdutil-modify-logic-of-local-vhdutil-ca.patch +Patch1089: 0089-fix-linstorvolumemanager-robustify-failed-snapshots.patch +Patch1090: 0090-fix-linstorvolumemanager-use-a-namespace-for-volumes.patch +Patch1091: 0091-feat-linstor-kv-dump-rename-to-linstor-kv-tool-add-r.patch +Patch1092: 0092-fix-LinstorSR-handle-correctly-localhost-during-star.patch +Patch1093: 0093-fix-cleanup.py-call-repair-on-another-host-when-EROF.patch +Patch1094: 0094-fix-LinstorSR-avoid-introduction-of-DELETED-volumes.patch +Patch1095: 0095-feat-linstor-kv-tool-remove-all-volumes-supports-jou.patch +Patch1096: 0096-fix-linstorvhdutil-due-to-bad-refactoring-check-call.patch +Patch1097: 0097-feat-linstorvhdutil-ensure-we-use-VHD-parent-to-find.patch +Patch1098: 0098-feat-linstorvolumemanager-force-DRBD-demote-after-fa.patch +Patch1099: 0099-fix-linstorvhdutil-ensure-we-retry-creation-in-all-s.patch +Patch1100: 0100-fix-linstorvhdutil-don-t-retry-local-vhdutil-call-wh.patch +Patch1101: 0101-feat-fork-log-daemon-ignore-SIGTERM.patch +Patch1102: 0102-feat-LinstorSR-wait-for-http-disk-server-startup.patch +Patch1103: 0103-fix-LinstorSR-handle-inflate-resize-actions-correctl.patch +Patch1104: 0104-fix-linstor-manager-add-a-static-iptables-rule-for-D.patch +Patch1105: 0105-feat-LinstorSR-sync-with-last-http-nbd-transfer-vers.patch +Patch1106: 0106-fix-LinstorSR-don-t-check-VDI-metadata-while-listing.patch +Patch1107: 0107-fix-LinstorSR-don-t-check-metadata-when-destroying-s.patch +Patch1108: 0108-fix-linstorvhdutil-handle-correctly-generic-exceptio.patch +Patch1109: 0109-fix-minidrbdcluster-robustify-to-unmount-correctly-L.patch +Patch1110: 0110-fix-minidrbdcluster-handle-correctly-KeyboardInterru.patch +Patch1111: 0111-feat-LinstorSR-use-drbd-reactor-instead-of-minidrbdc.patch +Patch1112: 0112-fix-LinstorSR-ensure-vhdutil-calls-are-correctly-exe.patch +Patch1113: 0113-fix-LinstorSR-replace-bad-param-in-detach_thin-impl.patch +Patch1114: 0114-fix-linstorvolumemanager-remove-usage-of-realpath.patch +Patch1115: 0115-fix-linstorvhdutil-avoid-parent-path-resolution.patch +Patch1116: 0116-fix-LinstorSR-create-parent-path-during-attach.patch +Patch1117: 0117-fix-LinstorSR-retry-if-we-can-t-build-volume-cache.patch +Patch1118: 0118-fix-linstorvolumemanager-reduce-peer-slots-param-to-.patch +Patch1119: 0119-fix-LinstorSR-attach-a-valid-XAPI-session-is_open-is.patch +Patch1120: 0120-fix-LinstorSR-ensure-we-always-have-a-DRBD-path-to-s.patch +Patch1121: 0121-fix-LinstorSR-remove-hosts-ips-param.patch +Patch1122: 0122-fix-LinstorSR-compute-correctly-SR-size-using-pool-c.patch +Patch1123: 0123-fix-blktap2-ensure-we-can-import-this-module-when-LI.patch +Patch1124: 0124-fix-LinstorSR-ensure-volume-cache-can-be-recreated.patch +Patch1125: 0125-fix-linstor-manager-remove-dead-useless-code-in-add-.patch +Patch1126: 0126-fix-LinstorSR-Ensure-we-always-have-a-device-path-du.patch +Patch1127: 0127-fix-LinstorSR-always-use-lock.acquire-during-attach-.patch +Patch1128: 0128-fix-LinstorSR-mare-sure-hostnames-are-unique-at-SR-c.patch +Patch1129: 0129-fix-LinstorSR-ensure-we-can-attach-non-special-stati.patch +Patch1130: 0130-fix-LinstorSR-ensure-we-can-detach-when-deflate-call.patch +Patch1131: 0131-fix-LinstorSR-assume-VDI-is-always-a-VHD-when-the-in.patch +Patch1132: 0132-fix-LinstorSR-remove-SR-lock-during-thin-attach-deta.patch +Patch1133: 0133-fix-LinstorSR-ensure-database-is-mounted-during-scan.patch +Patch1134: 0134-fix-LinstorSR-restart-drbd-reactor-in-case-of-failur.patch +Patch1135: 0135-fix-linstorvolumemanager-retry-in-case-of-failure-du.patch +Patch1136: 0136-fix-linstorvolumemanager-avoid-diskless-creation-whe.patch +Patch1137: 0137-fix-LinstorSR-remove-diskless-after-VDI.detach-calls.patch +Patch1138: 0138-fix-LinstorSR-robustify-_load_vdi_info-in-cleanup.py.patch +Patch1139: 0139-fix-LinstorSR-ensure-detach-never-fails-on-plugin-fa.patch +Patch1140: 0140-fix-LinstorSR-ensure-we-coalesce-only-volumes-with-a.patch +Patch1141: 0141-fix-LinstorSR-don-t-try-to-repair-persistent-volumes.patch +Patch1142: 0142-fix-linstorvhdutil-format-correctly-message-if-vhd-u.patch +Patch1143: 0143-fix-LinstorSR-wait-during-attach-to-open-DRBD-path.patch +Patch1144: 0144-fix-LinstorSR-support-different-volume-sizes-in-clea.patch +Patch1145: 0145-fix-LinstorSR-remove-useless-IPS_XHA_CACHE-var.patch +Patch1146: 0146-fix-LinstorSR-ensure-we-can-deflate-on-any-host-afte.patch +Patch1147: 0147-fix-LinstorSR-ensure-we-always-use-real-DRBD-VHD-siz.patch +Patch1148: 0148-feat-linstor-kv-tool-If-no-controller-uri-option-is-.patch +Patch1149: 0149-fix-linstorvolumemanager-robustify-SR-destroy-46.patch +Patch1150: 0150-feat-linstor-manager-extend-API-with-createNodeInter.patch +Patch1151: 0151-fix-LinstorSR-support-VDI.resize-on-thick-volumes.patch +Patch1152: 0152-fix-linstorvolumemanager-format-correctly-exception-.patch +Patch1153: 0153-fix-LinstorSR-ensure-we-can-skip-coalesces-if-device.patch +Patch1154: 0154-feat-linstor-manager-add-methods-to-modify-destroy-l.patch +Patch1155: 0155-fix-LinstorSR-force-a-defined-volume-prefix-if-we-ca.patch +Patch1156: 0156-fix-LinstorSR-explicit-error-message-when-a-group-is.patch +Patch1157: 0157-fix-LinstorSR-make-sure-VDI.delete-doesn-t-throw-und.patch +Patch1158: 0158-fix-LinstorSR-add-drbd-in-the-blacklist-of-multipath.patch +Patch1159: 0159-fix-linstorvolumemanager-create-cloned-volumes-on-ho.patch +Patch1160: 0160-fix-linstorvolumemanager-don-t-align-volumes-on-LVM-.patch +Patch1161: 0161-fix-linstorvolumemanager-assert-with-message-after-l.patch +Patch1162: 0162-fix-linstorvolumemanager-retry-resize-if-volume-is-n.patch +Patch1163: 0163-fix-LinstorSR-create-DRBD-diskless-if-necessary-for-.patch +Patch1164: 0164-fix-LinstorSR-fix-bad-call-to-vhdutil.inflate-bad-ex.patch +Patch1165: 0165-fix-LinstorSR-activate-VG-if-attach-from-config-is-a.patch +Patch1166: 0166-feat-LinstorSR-use-a-specific-resource-group-for-DB-.patch +Patch1167: 0167-feat-linstor-manager-add-getNodePreferredInterface-h.patch +Patch1168: 0168-fix-linstorvolumemanager-blocks-deletion-of-default-.patch +Patch1169: 0169-feat-linstorvolumemanager-change-logic-of-get_resour.patch +Patch1170: 0170-feat-linstor-manager-add-error-codes-to-healthCheck-.patch +Patch1171: 0171-fix-LinstorSR-fix-bad-exception-reference-during-sna.patch +Patch1172: 0172-fix-tapdisk-pause-ensure-LINSTOR-VHD-chain-is-availa.patch Patch1173: 0173-fix-linstorvhdutil-retry-check-on-another-machine-in.patch Patch1174: 0174-fix-LinstorSR-explicit-errors-when-database-path-is-.patch Patch1175: 0175-fix-LinstorSR-Misc-fixes-on-destroy.patch @@ -302,8 +302,6 @@ rm -rf $RPM_BUILD_ROOT %systemd_post storage-init.service %systemd_post usb-scan.socket %systemd_post mpathcount.socket -%systemd_post sr_health_check.timer -%systemd_post sr_health_check.service # On upgrade, migrate from the old statefile to the new statefile so that # storage is not reinitialized. @@ -321,9 +319,6 @@ if [ -e /etc/multipath.conf -a ! -h /etc/multipath.conf ]; then fi update-alternatives --install /etc/multipath.conf multipath.conf /etc/multipath.xenserver/multipath.conf 90 -systemctl enable sr_health_check.timer -systemctl start sr_health_check.timer - # XCP-ng: enable linstor-monitor by default. # However it won't start without linstor-controller.service systemctl enable linstor-monitor.service @@ -344,8 +339,6 @@ fi %systemd_preun storage-init.service %systemd_preun usb-scan.socket %systemd_preun mpathcount.socket -%systemd_preun sr_health_check.timer -%systemd_preun sr_health_check.service # Remove sm-multipath on upgrade or uninstall, to ensure it goes [ ! -x /sbin/chkconfig ] || chkconfig --del sm-multipath || : # only remove in case of erase (but not at upgrade) @@ -363,8 +356,6 @@ exit 0 %systemd_postun sm-mpath-root.service %systemd_postun xs-sm.service %systemd_postun storage-init.service -%systemd_postun sr_health_check.timer -%systemd_postun sr_health_check.service if [ $1 -eq 0 ]; then [ ! -d /etc/lvm/master ] || rm -Rf /etc/lvm/master || exit $? cp -f /etc/lvm/lvm.conf.orig /etc/lvm/lvm.conf || exit $? @@ -610,9 +601,6 @@ cp -r htmlcov %{buildroot}/htmlcov /opt/xensource/sm/cbtutil.pyc /opt/xensource/sm/cbtutil.pyo /opt/xensource/sm/multipath-root-setup -/opt/xensource/sm/sr_health_check.py -/opt/xensource/sm/sr_health_check.pyc -/opt/xensource/sm/sr_health_check.pyo %dir /opt/xensource/sm/plugins /opt/xensource/sm/plugins/__init__.py* /sbin/mpathutil @@ -625,8 +613,6 @@ cp -r htmlcov %{buildroot}/htmlcov %{_unitdir}/mpathcount.service %{_unitdir}/mpathcount.socket %{_unitdir}/storage-init.service -%{_unitdir}/sr_health_check.timer -%{_unitdir}/sr_health_check.service %config /etc/udev/rules.d/65-multipath.rules %config /etc/udev/rules.d/55-xs-mpath-scsidev.rules %config /etc/udev/rules.d/58-xapi.rules @@ -690,6 +676,12 @@ cp -r htmlcov %{buildroot}/htmlcov %{_unitdir}/linstor-monitor.service %changelog +* Tue Aug 06 2024 Damien Thenot - 2.30.8-12.2.0.linstor.1 +- Sync patches with latest 2.30.8-8.2 +- *** 8.2 release changelog *** +- * Thu Jun 27 2024 Benjamin Reis - 2.30.8-12.2 +- - Add 0024-Revert-CA-379329-check-for-missing-iSCSI-sessions-an.patch + * Fri Jul 26 2024 Ronan Abhamon 2.30.8-12.1.0.linstor.4 - Add 0177-fix-LinstorSR-ensure-_is_master-is-always-set.patch - Add 0178-fix-linstor-check-if-resource-is-tiebreaker-62.patch