- Filesystem: add support for Amazon EFS (Elastic File System)
- vdo-vol: dont fail probe action when the underlying device doesnt exist Resolves: rhbz#2142002 Resolves: rhbz#2142050
This commit is contained in:
parent
5b302e805c
commit
be0b51ac48
175
bz2142002-Filesystem-add-support-for-Amazon-EFS.patch
Normal file
175
bz2142002-Filesystem-add-support-for-Amazon-EFS.patch
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
From cab190c737fdf58268aa5c009f6089b754862b22 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
Date: Tue, 1 Feb 2022 16:32:50 -0800
|
||||||
|
Subject: [PATCH 1/3] Filesystem: Fix OpenBSD check in fstype_supported()
|
||||||
|
|
||||||
|
fstype_supported() is supposed to skip the /proc/filesystems check if
|
||||||
|
the OS is OpenBSD. Instead, it skips the check if the OS is **not**
|
||||||
|
OpenBSD. That means the function has been a no-op for all other distros.
|
||||||
|
|
||||||
|
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
---
|
||||||
|
heartbeat/Filesystem | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/Filesystem b/heartbeat/Filesystem
|
||||||
|
index 010c1dcfc..8b4792152 100755
|
||||||
|
--- a/heartbeat/Filesystem
|
||||||
|
+++ b/heartbeat/Filesystem
|
||||||
|
@@ -440,7 +440,7 @@ fstype_supported()
|
||||||
|
local support="$FSTYPE"
|
||||||
|
local rc
|
||||||
|
|
||||||
|
- if [ "X${HOSTOS}" != "XOpenBSD" ];then
|
||||||
|
+ if [ "X${HOSTOS}" = "XOpenBSD" ];then
|
||||||
|
# skip checking /proc/filesystems for obsd
|
||||||
|
return $OCF_SUCCESS
|
||||||
|
fi
|
||||||
|
|
||||||
|
From 5d38b87daa9cfffa89a193df131d6ebd87cd05aa Mon Sep 17 00:00:00 2001
|
||||||
|
From: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
Date: Tue, 1 Feb 2022 18:26:32 -0800
|
||||||
|
Subject: [PATCH 2/3] Filesystem: Improve fstype_supported logs for fuse
|
||||||
|
|
||||||
|
Make it more clear when we have to use a different name to check for
|
||||||
|
support of a particular filesystem. Currently only used for fuse-type
|
||||||
|
filesystems.
|
||||||
|
|
||||||
|
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
---
|
||||||
|
heartbeat/Filesystem | 13 ++++++++++---
|
||||||
|
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/Filesystem b/heartbeat/Filesystem
|
||||||
|
index 8b4792152..4d84846c1 100755
|
||||||
|
--- a/heartbeat/Filesystem
|
||||||
|
+++ b/heartbeat/Filesystem
|
||||||
|
@@ -455,6 +455,10 @@ fstype_supported()
|
||||||
|
fuse.*|glusterfs|rozofs) support="fuse";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
+ if [ "$support" != "$FSTYPE" ]; then
|
||||||
|
+ ocf_log info "Checking support for $FSTYPE as \"$support\""
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
grep -w "$support"'$' /proc/filesystems >/dev/null
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
# found the fs type
|
||||||
|
@@ -465,7 +469,7 @@ fstype_supported()
|
||||||
|
# check the if the filesystem support exists again.
|
||||||
|
$MODPROBE $support >/dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
- ocf_exit_reason "Couldn't find filesystem $FSTYPE in /proc/filesystems and failed to load kernel module"
|
||||||
|
+ ocf_exit_reason "Couldn't find filesystem $support in /proc/filesystems and failed to load kernel module"
|
||||||
|
return $OCF_ERR_INSTALLED
|
||||||
|
fi
|
||||||
|
|
||||||
|
@@ -478,11 +482,11 @@ fstype_supported()
|
||||||
|
# yes. found the filesystem after doing the modprobe
|
||||||
|
return $OCF_SUCCESS
|
||||||
|
fi
|
||||||
|
- ocf_log debug "Unable to find support for $FSTYPE in /proc/filesystems after modprobe, trying again"
|
||||||
|
+ ocf_log debug "Unable to find support for $support in /proc/filesystems after modprobe, trying again"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
- ocf_exit_reason "Couldn't find filesystem $FSTYPE in /proc/filesystems"
|
||||||
|
+ ocf_exit_reason "Couldn't find filesystem $support in /proc/filesystems"
|
||||||
|
return $OCF_ERR_INSTALLED
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -837,6 +841,9 @@ Filesystem_monitor()
|
||||||
|
# VALIDATE_ALL: Are the instance parameters valid?
|
||||||
|
# FIXME!! The only part that's useful is the return code.
|
||||||
|
# This code always returns $OCF_SUCCESS (!)
|
||||||
|
+# FIXME!! Needs some tuning to match fstype_supported() (e.g., for
|
||||||
|
+# fuse). Can we just call fstype_supported() with a flag like
|
||||||
|
+# "no_modprobe" instead?
|
||||||
|
#
|
||||||
|
Filesystem_validate_all()
|
||||||
|
{
|
||||||
|
|
||||||
|
From e2174244067b02d798e0f12437f0f499c80f91fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
Date: Tue, 1 Feb 2022 18:55:47 -0800
|
||||||
|
Subject: [PATCH 3/3] Filesystem: Add support for Amazon EFS mount helper
|
||||||
|
|
||||||
|
mount.efs, the mount helper for Amazon Elastic File System (EFS)
|
||||||
|
provided by amazon-efs-utils [1], is a wrapper for mount.nfs4. It offers
|
||||||
|
a number of AWS-specific mount options and some security improvements
|
||||||
|
like encryption of data in transit.
|
||||||
|
|
||||||
|
This commit adds support by treating an fstype=efs like fstype=nfs4 for
|
||||||
|
the most part.
|
||||||
|
|
||||||
|
Resolves: RHBZ#2049319
|
||||||
|
|
||||||
|
[1] https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html
|
||||||
|
|
||||||
|
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
|
||||||
|
---
|
||||||
|
heartbeat/Filesystem | 14 ++++++++------
|
||||||
|
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/Filesystem b/heartbeat/Filesystem
|
||||||
|
index 4d84846c1..1a90d6a42 100755
|
||||||
|
--- a/heartbeat/Filesystem
|
||||||
|
+++ b/heartbeat/Filesystem
|
||||||
|
@@ -341,7 +341,7 @@ determine_blockdevice() {
|
||||||
|
# Get the current real device name, if possible.
|
||||||
|
# (specified devname could be -L or -U...)
|
||||||
|
case "$FSTYPE" in
|
||||||
|
- nfs4|nfs|smbfs|cifs|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|none|lustre)
|
||||||
|
+ nfs4|nfs|efs|smbfs|cifs|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|none|lustre)
|
||||||
|
: ;;
|
||||||
|
*)
|
||||||
|
match_string="${TAB}${CANONICALIZED_MOUNTPOINT}${TAB}"
|
||||||
|
@@ -423,7 +423,7 @@ is_fsck_needed() {
|
||||||
|
no) false;;
|
||||||
|
""|auto)
|
||||||
|
case "$FSTYPE" in
|
||||||
|
- ext4|ext4dev|ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs4|nfs|cifs|smbfs|ocfs2|gfs2|none|lustre|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs)
|
||||||
|
+ ext4|ext4dev|ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs4|nfs|efs|cifs|smbfs|ocfs2|gfs2|none|lustre|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs)
|
||||||
|
false;;
|
||||||
|
*)
|
||||||
|
true;;
|
||||||
|
@@ -450,9 +450,11 @@ fstype_supported()
|
||||||
|
return $OCF_SUCCESS
|
||||||
|
fi
|
||||||
|
|
||||||
|
- # support fuse-filesystems (e.g. GlusterFS)
|
||||||
|
+ # support fuse-filesystems (e.g. GlusterFS) and Amazon Elastic File
|
||||||
|
+ # System (EFS)
|
||||||
|
case "$FSTYPE" in
|
||||||
|
fuse.*|glusterfs|rozofs) support="fuse";;
|
||||||
|
+ efs) support="nfs4";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$support" != "$FSTYPE" ]; then
|
||||||
|
@@ -701,7 +703,7 @@ Filesystem_stop()
|
||||||
|
|
||||||
|
# For networked filesystems, there's merit in trying -f:
|
||||||
|
case "$FSTYPE" in
|
||||||
|
- nfs4|nfs|cifs|smbfs) umount_force="-f" ;;
|
||||||
|
+ nfs4|nfs|efs|cifs|smbfs) umount_force="-f" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Umount all sub-filesystems mounted under $MOUNTPOINT/ too.
|
||||||
|
@@ -892,7 +894,7 @@ set_blockdevice_var() {
|
||||||
|
|
||||||
|
# these are definitely not block devices
|
||||||
|
case "$FSTYPE" in
|
||||||
|
- nfs4|nfs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|lustre) return;;
|
||||||
|
+ nfs4|nfs|efs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|lustre) return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if $(is_option "loop"); then
|
||||||
|
@@ -1013,7 +1015,7 @@ is_option "ro" &&
|
||||||
|
CLUSTERSAFE=2
|
||||||
|
|
||||||
|
case "$FSTYPE" in
|
||||||
|
-nfs4|nfs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs|lustre)
|
||||||
|
+nfs4|nfs|efs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs|lustre)
|
||||||
|
CLUSTERSAFE=1 # this is kind of safe too
|
||||||
|
;;
|
||||||
|
# add here CLUSTERSAFE=0 for all filesystems which are not
|
27
bz2142050-vdo-vol-dont-fail-probe-action.patch
Normal file
27
bz2142050-vdo-vol-dont-fail-probe-action.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 739e6ce9096facd6d37dffd524c79c961e3fae38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Fri, 11 Nov 2022 14:17:39 +0100
|
||||||
|
Subject: [PATCH] vdo-vol: dont fail probe action when the underlying device
|
||||||
|
doesnt exist
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/vdo-vol | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/vdo-vol b/heartbeat/vdo-vol
|
||||||
|
index 94822cb82..29bd7b8fd 100755
|
||||||
|
--- a/heartbeat/vdo-vol
|
||||||
|
+++ b/heartbeat/vdo-vol
|
||||||
|
@@ -148,6 +148,12 @@ vdo_monitor(){
|
||||||
|
MODE=$(vdostats --verbose ${OCF_RESKEY_volume} | grep "operating mode" | awk '{print $NF}')
|
||||||
|
|
||||||
|
case "$status" in
|
||||||
|
+ *"ERROR - vdodumpconfig: Failed to make FileLayer from"*)
|
||||||
|
+ if ocf_is_probe; then
|
||||||
|
+ return $OCF_NOT_RUNNING
|
||||||
|
+ fi
|
||||||
|
+ return $OCF_ERR_GENERIC
|
||||||
|
+ ;;
|
||||||
|
*"Device mapper status: not available"*)
|
||||||
|
return $OCF_NOT_RUNNING
|
||||||
|
;;
|
@ -45,7 +45,7 @@
|
|||||||
Name: resource-agents
|
Name: resource-agents
|
||||||
Summary: Open Source HA Reusable Cluster Resource Scripts
|
Summary: Open Source HA Reusable Cluster Resource Scripts
|
||||||
Version: 4.10.0
|
Version: 4.10.0
|
||||||
Release: 25%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
Release: 26%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
||||||
License: GPLv2+ and LGPLv2+
|
License: GPLv2+ and LGPLv2+
|
||||||
URL: https://github.com/ClusterLabs/resource-agents
|
URL: https://github.com/ClusterLabs/resource-agents
|
||||||
Source0: %{upstream_prefix}-%{upstream_version}.tar.gz
|
Source0: %{upstream_prefix}-%{upstream_version}.tar.gz
|
||||||
@ -85,6 +85,8 @@ Patch32: bz2109161-storage_mon-4-fix-possible-false-negatives.patch
|
|||||||
Patch33: bz2102126-LVM-activate-fix-return-codes.patch
|
Patch33: bz2102126-LVM-activate-fix-return-codes.patch
|
||||||
Patch34: bz2111147-azure-events-az-new-ra.patch
|
Patch34: bz2111147-azure-events-az-new-ra.patch
|
||||||
Patch35: bz2134411-IPsrcaddr-proto-metric-scope-default-route-fixes.patch
|
Patch35: bz2134411-IPsrcaddr-proto-metric-scope-default-route-fixes.patch
|
||||||
|
Patch36: bz2142050-vdo-vol-dont-fail-probe-action.patch
|
||||||
|
Patch37: bz2142002-Filesystem-add-support-for-Amazon-EFS.patch
|
||||||
|
|
||||||
# bundled ha-cloud-support libs
|
# bundled ha-cloud-support libs
|
||||||
Patch500: ha-cloud-support-aws.patch
|
Patch500: ha-cloud-support-aws.patch
|
||||||
@ -244,6 +246,8 @@ exit 1
|
|||||||
%patch33 -p1
|
%patch33 -p1
|
||||||
%patch34 -p1
|
%patch34 -p1
|
||||||
%patch35 -p1
|
%patch35 -p1
|
||||||
|
%patch36 -p1
|
||||||
|
%patch37 -p1
|
||||||
|
|
||||||
# bundled ha-cloud-support libs
|
# bundled ha-cloud-support libs
|
||||||
%patch500 -p1
|
%patch500 -p1
|
||||||
@ -565,6 +569,14 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents
|
|||||||
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 14 2022 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-26
|
||||||
|
- Filesystem: add support for Amazon EFS (Elastic File System)
|
||||||
|
- vdo-vol: dont fail probe action when the underlying device doesnt
|
||||||
|
exist
|
||||||
|
|
||||||
|
Resolves: rhbz#2142002
|
||||||
|
Resolves: rhbz#2142050
|
||||||
|
|
||||||
* Fri Oct 14 2022 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-25
|
* Fri Oct 14 2022 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-25
|
||||||
- IPsrcaddr: proto, metric, scope and default route fixes
|
- IPsrcaddr: proto, metric, scope and default route fixes
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user