From 6a1e619d46d7ff04b610eb9f6e20ed41ac23b0ab Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Thu, 19 Aug 2021 09:37:57 +0200 Subject: [PATCH] tools: add nfsconvert for RHEL-based distros --- .gitignore | 1 + configure.ac | 5 + heartbeat/nfsserver-redhat.sh | 6 + tools/Makefile.am | 5 + tools/nfsconvert.in | 324 ++++++++++++++++++++++++++++++++++ 5 files changed, 341 insertions(+) create mode 100644 tools/nfsconvert.in diff --git a/.gitignore b/.gitignore index f7277bf04e..ec30a3bb00 100644 --- a/.gitignore +++ b/.gitignore @@ -99,6 +99,7 @@ ldirectord/init.d/ldirectord.debian.default ldirectord/systemd/ldirectord.service systemd/resource-agents.conf tools/findif +tools/nfsconvert tools/ocf-tester tools/send_arp tools/storage_mon diff --git a/configure.ac b/configure.ac index c125df98f6..058c0f1da7 100644 --- a/configure.ac +++ b/configure.ac @@ -787,11 +787,15 @@ case $host_os in *Linux*|*linux*) sendarp_linux=1;; esac +redhat_based=0 +AC_CHECK_FILE(/etc/redhat-release, [redhat_based=1]) + AC_SUBST(LIBNETLIBS) AC_SUBST(LIBNETDEFINES) AM_CONDITIONAL(SENDARP_LINUX, test $sendarp_linux = 1 ) AM_CONDITIONAL(USE_LIBNET, test "x$libnet_version" != "xnone" ) +AM_CONDITIONAL(NFSCONVERT, test $redhat_based = 1 ) dnl ************************************************************************ dnl * Check for netinet/icmp6.h to enable the IPv6addr resource agent @@ -932,6 +936,7 @@ heartbeat/Makefile \ systemd/Makefile \ systemd/resource-agents.conf \ tools/Makefile \ + tools/nfsconvert \ tools/ocf-tester \ tools/ocft/Makefile \ tools/ocft/ocft \ diff --git a/heartbeat/nfsserver-redhat.sh b/heartbeat/nfsserver-redhat.sh index 73a70c186c..aec0966050 100644 --- a/heartbeat/nfsserver-redhat.sh +++ b/heartbeat/nfsserver-redhat.sh @@ -1,6 +1,7 @@ NFS_SYSCONFIG="/etc/sysconfig/nfs" NFS_SYSCONFIG_LOCAL_BACKUP="/etc/sysconfig/nfs.ha.bu" NFS_SYSCONFIG_AUTOGEN_TAG="AUTOGENERATED by $0 high availability resource-agent" +NFSCONVERT="$HA_BIN/nfsconvert" nfsserver_redhat_meta_data() { cat< 0 or not os.path.exists(backupfile): + try: + os.replace(SYSCONF_NFS, backupfile) + except OSError as err: + eprint("Error moving old config %s: %s" % (SYSCONF_NFS, err)) + raise + +# Main routine +try: + map_values() +except Exception as e: + eprint(e) + eprint("Conversion failed. Please correct the error and try again.") + exit(1)