|
|
21ab4e |
From c2be72f55be489156b9fbc2250cd27cb32995790 Mon Sep 17 00:00:00 2001
|
|
|
21ab4e |
From: Hendrik Visage <hvjunk@gmail.com>
|
|
|
21ab4e |
Date: Fri, 19 May 2017 12:21:37 +0530
|
|
|
21ab4e |
Subject: [PATCH 523/525] scripts/shared_storage : systemd helper scripts to
|
|
|
21ab4e |
mount shared storage post reboot
|
|
|
21ab4e |
|
|
|
21ab4e |
Upstream reference :
|
|
|
21ab4e |
>Reported-by: Hendrik Visage <hvjunk@gmail.com>
|
|
|
21ab4e |
>Change-Id: Ibcff56b00f45c8af54c1ae04974267c2180f5f63
|
|
|
21ab4e |
>BUG: 1452527
|
|
|
21ab4e |
>Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
|
|
|
21ab4e |
>Reviewed-on: https://review.gluster.org/17339
|
|
|
21ab4e |
>Smoke: Gluster Build System <jenkins@build.gluster.org>
|
|
|
21ab4e |
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
|
|
|
21ab4e |
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
|
|
|
21ab4e |
>Reviewed-by: Niels de Vos <ndevos@redhat.com>
|
|
|
21ab4e |
>Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
|
|
|
21ab4e |
|
|
|
21ab4e |
Change-Id: Ibcff56b00f45c8af54c1ae04974267c2180f5f63
|
|
|
21ab4e |
BUG: 1335090
|
|
|
21ab4e |
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
|
|
|
21ab4e |
Reviewed-on: https://code.engineering.redhat.com/gerrit/109602
|
|
|
21ab4e |
Reviewed-by: Milind Changire <mchangir@redhat.com>
|
|
|
21ab4e |
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
21ab4e |
---
|
|
|
21ab4e |
configure.ac | 1 +
|
|
|
21ab4e |
extras/Makefile.am | 5 +++-
|
|
|
21ab4e |
extras/mount-shared-storage.sh | 37 ++++++++++++++++++++++++
|
|
|
21ab4e |
extras/systemd/Makefile.am | 6 ++--
|
|
|
21ab4e |
extras/systemd/glusterfssharedstorage.service.in | 12 ++++++++
|
|
|
21ab4e |
glusterfs.spec.in | 10 +++++++
|
|
|
21ab4e |
6 files changed, 67 insertions(+), 4 deletions(-)
|
|
|
21ab4e |
create mode 100755 extras/mount-shared-storage.sh
|
|
|
21ab4e |
create mode 100644 extras/systemd/glusterfssharedstorage.service.in
|
|
|
21ab4e |
|
|
|
21ab4e |
diff --git a/configure.ac b/configure.ac
|
|
|
21ab4e |
index 22272d4..f532ea1 100644
|
|
|
21ab4e |
--- a/configure.ac
|
|
|
21ab4e |
+++ b/configure.ac
|
|
|
21ab4e |
@@ -212,6 +212,7 @@ AC_CONFIG_FILES([Makefile
|
|
|
21ab4e |
extras/systemd/Makefile
|
|
|
21ab4e |
extras/systemd/glusterd.service
|
|
|
21ab4e |
extras/systemd/glustereventsd.service
|
|
|
21ab4e |
+ extras/systemd/glusterfssharedstorage.service
|
|
|
21ab4e |
extras/run-gluster.tmpfiles
|
|
|
21ab4e |
extras/benchmarking/Makefile
|
|
|
21ab4e |
extras/hook-scripts/Makefile
|
|
|
21ab4e |
diff --git a/extras/Makefile.am b/extras/Makefile.am
|
|
|
21ab4e |
index 96b1b2b..5a340da 100644
|
|
|
21ab4e |
--- a/extras/Makefile.am
|
|
|
21ab4e |
+++ b/extras/Makefile.am
|
|
|
21ab4e |
@@ -1,5 +1,8 @@
|
|
|
21ab4e |
addonexecdir = $(libexecdir)/glusterfs
|
|
|
21ab4e |
addonexec_SCRIPTS = peer_add_secret_pub
|
|
|
21ab4e |
+if USE_SYSTEMD
|
|
|
21ab4e |
+addonexec_SCRIPTS += mount-shared-storage.sh
|
|
|
21ab4e |
+endif
|
|
|
21ab4e |
|
|
|
21ab4e |
EditorModedir = $(docdir)
|
|
|
21ab4e |
EditorMode_DATA = glusterfs-mode.el glusterfs.vim
|
|
|
21ab4e |
@@ -22,7 +25,7 @@ EXTRA_DIST = $(conf_DATA) specgen.scm glusterfs-mode.el glusterfs.vim \
|
|
|
21ab4e |
disk_usage_sync.sh clear_xattrs.sh glusterd-sysconfig glusterd.vol \
|
|
|
21ab4e |
post-upgrade-script-for-quota.sh pre-upgrade-script-for-quota.sh \
|
|
|
21ab4e |
command-completion/gluster.bash command-completion/Makefile \
|
|
|
21ab4e |
- command-completion/README stop-all-gluster-processes.sh
|
|
|
21ab4e |
+ command-completion/README stop-all-gluster-processes.sh mount-shared-storage.sh
|
|
|
21ab4e |
|
|
|
21ab4e |
install-data-local:
|
|
|
21ab4e |
if [ -n "$(tmpfilesdir)" ]; then \
|
|
|
21ab4e |
diff --git a/extras/mount-shared-storage.sh b/extras/mount-shared-storage.sh
|
|
|
21ab4e |
new file mode 100755
|
|
|
21ab4e |
index 0000000..038a59a
|
|
|
21ab4e |
--- /dev/null
|
|
|
21ab4e |
+++ b/extras/mount-shared-storage.sh
|
|
|
21ab4e |
@@ -0,0 +1,37 @@
|
|
|
21ab4e |
+#!/bin/bash
|
|
|
21ab4e |
+#Post reboot there is a chance in which mounting of shared storage will fail
|
|
|
21ab4e |
+#This will impact starting of features like NFS-Ganesha. So this script will
|
|
|
21ab4e |
+#try to mount the shared storage if it fails
|
|
|
21ab4e |
+#TODO : Do it for other glusterfs clients in /etc/fstab
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+ms="var-run-gluster-shared_storage.mount"
|
|
|
21ab4e |
+volume="gluster_shared_storage"
|
|
|
21ab4e |
+failed=$(systemctl --failed | grep -c $ms)
|
|
|
21ab4e |
+if [ $failed -eq 1 ]
|
|
|
21ab4e |
+then
|
|
|
21ab4e |
+ if systemctl restart $ms
|
|
|
21ab4e |
+ then
|
|
|
21ab4e |
+ #Restart worked just wait for sometime to make it reflect
|
|
|
21ab4e |
+ sleep 5
|
|
|
21ab4e |
+ else
|
|
|
21ab4e |
+ #Restart failed, no point in further continuing
|
|
|
21ab4e |
+ exit 1
|
|
|
21ab4e |
+ fi
|
|
|
21ab4e |
+fi
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+# If we've reached this point, there wasn't a failed mountpoint
|
|
|
21ab4e |
+# BUT we need to check for whether this haven't been called before the attempts
|
|
|
21ab4e |
+# to the filesystem mounts, thus we need to check whether there is a glusterfs
|
|
|
21ab4e |
+# in fstab and aren't mountedmount
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+#In the logs I've seen ~4-5secs between the initial mount/start and the unmount
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+gfc=$(sed -e 's/#.$//'
|
|
|
21ab4e |
+gfm=$(grep -i $volume /proc/mounts | wc -l)
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+if [ $gfm -lt $gfc ]
|
|
|
21ab4e |
+then
|
|
|
21ab4e |
+ exit 1
|
|
|
21ab4e |
+fi
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+exit 0
|
|
|
21ab4e |
diff --git a/extras/systemd/Makefile.am b/extras/systemd/Makefile.am
|
|
|
21ab4e |
index 5b9b117..3988b40 100644
|
|
|
21ab4e |
--- a/extras/systemd/Makefile.am
|
|
|
21ab4e |
+++ b/extras/systemd/Makefile.am
|
|
|
21ab4e |
@@ -1,9 +1,9 @@
|
|
|
21ab4e |
-CLEANFILES = glusterd.service glustereventsd.service
|
|
|
21ab4e |
-EXTRA_DIST = glusterd.service.in glustereventsd.service.in
|
|
|
21ab4e |
+CLEANFILES = glusterd.service glustereventsd.service glusterfssharedstorage.service
|
|
|
21ab4e |
+EXTRA_DIST = glusterd.service.in glustereventsd.service.in glusterfssharedstorage.service.in
|
|
|
21ab4e |
|
|
|
21ab4e |
if USE_SYSTEMD
|
|
|
21ab4e |
# systemddir is already defined through configure.ac
|
|
|
21ab4e |
-systemd_DATA = glusterd.service
|
|
|
21ab4e |
+systemd_DATA = glusterd.service glusterfssharedstorage.service
|
|
|
21ab4e |
|
|
|
21ab4e |
if BUILD_EVENTS
|
|
|
21ab4e |
systemd_DATA += glustereventsd.service
|
|
|
21ab4e |
diff --git a/extras/systemd/glusterfssharedstorage.service.in b/extras/systemd/glusterfssharedstorage.service.in
|
|
|
21ab4e |
new file mode 100644
|
|
|
21ab4e |
index 0000000..3bceba8
|
|
|
21ab4e |
--- /dev/null
|
|
|
21ab4e |
+++ b/extras/systemd/glusterfssharedstorage.service.in
|
|
|
21ab4e |
@@ -0,0 +1,12 @@
|
|
|
21ab4e |
+[Unit]
|
|
|
21ab4e |
+Description=Mount glusterfs sharedstorage
|
|
|
21ab4e |
+Requires=glusterd.service remote-fs-pre.target local-fs.target
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+[Service]
|
|
|
21ab4e |
+ExecStart=@GLUSTERFS_LIBEXECDIR@/mount-shared-storage.sh
|
|
|
21ab4e |
+Restart=on-failure
|
|
|
21ab4e |
+RestartSec=3
|
|
|
21ab4e |
+RestartForceExitStatus=1
|
|
|
21ab4e |
+
|
|
|
21ab4e |
+[Install]
|
|
|
21ab4e |
+WantedBy=multi-user.target
|
|
|
21ab4e |
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
|
|
|
21ab4e |
index 1ce2d41..0d33e2b 100644
|
|
|
21ab4e |
--- a/glusterfs.spec.in
|
|
|
21ab4e |
+++ b/glusterfs.spec.in
|
|
|
21ab4e |
@@ -132,6 +132,7 @@
|
|
|
21ab4e |
%global _init_glusterd %{_unitdir}/glusterd.service
|
|
|
21ab4e |
%global _init_glusterfsd %{_unitdir}/glusterfsd.service
|
|
|
21ab4e |
%global _init_glustereventsd %{_unitdir}/glustereventsd.service
|
|
|
21ab4e |
+%global _init_glusterfssharedstorage %{_unitdir}/glusterfssharedstorage.service
|
|
|
21ab4e |
%else
|
|
|
21ab4e |
%global _init_enable() /sbin/chkconfig --add %1 ;
|
|
|
21ab4e |
%global _init_disable() /sbin/chkconfig --del %1 ;
|
|
|
21ab4e |
@@ -1330,6 +1331,9 @@ exit 0
|
|
|
21ab4e |
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
21ab4e |
%_init_glusterfsd
|
|
|
21ab4e |
%endif
|
|
|
21ab4e |
+%if ( 0%{?_with_systemd:1} )
|
|
|
21ab4e |
+%_init_glusterfssharedstorage
|
|
|
21ab4e |
+%endif
|
|
|
21ab4e |
|
|
|
21ab4e |
# binaries
|
|
|
21ab4e |
%{_sbindir}/glusterd
|
|
|
21ab4e |
@@ -1431,6 +1435,9 @@ exit 0
|
|
|
21ab4e |
|
|
|
21ab4e |
# Extra utility script
|
|
|
21ab4e |
%{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh
|
|
|
21ab4e |
+%if ( 0%{?_with_systemd:1} )
|
|
|
21ab4e |
+%{_libexecdir}/glusterfs/mount-shared-storage.sh
|
|
|
21ab4e |
+%endif
|
|
|
21ab4e |
|
|
|
21ab4e |
# Incrementalapi
|
|
|
21ab4e |
%{_libexecdir}/glusterfs/glusterfind
|
|
|
21ab4e |
@@ -2065,6 +2072,9 @@ end
|
|
|
21ab4e |
%endif
|
|
|
21ab4e |
|
|
|
21ab4e |
%changelog
|
|
|
21ab4e |
+* Fri Jun 20 2017 Jiffin Tony Thottan <jthottan@redhat.com>
|
|
|
21ab4e |
+- Add glusterfssharedstorage.service systemd file
|
|
|
21ab4e |
+
|
|
|
21ab4e |
* Tue Jun 13 2017 Poornima G <pgurusid@redhat.com>
|
|
|
21ab4e |
- Install /var/lib/glusterd/groups/nl-cache by default
|
|
|
21ab4e |
|
|
|
21ab4e |
--
|
|
|
21ab4e |
1.8.3.1
|
|
|
21ab4e |
|