21ab4e
From d05d7a6fcba51747ac2c08216ed0e86f4db0aee0 Mon Sep 17 00:00:00 2001
21ab4e
From: Milind Changire <mchangir@redhat.com>
21ab4e
Date: Tue, 10 Oct 2017 09:58:24 +0530
21ab4e
Subject: [PATCH 624/624] build: launch glusterd upgrade after all new bits are
21ab4e
 installed
21ab4e
21ab4e
Problem:
21ab4e
glusterd upgrade mode needs new bits from glusterfs-rdma which
21ab4e
optional and causes the dependency graph to break since it is
21ab4e
not tied into glusterfs-server requirements
21ab4e
21ab4e
Solution:
21ab4e
Run glusterd upgrade mode after all new bits are installed
21ab4e
i.e. in %posttrans server section
21ab4e
21ab4e
Label: DOWNSTREAM ONLY
21ab4e
21ab4e
Change-Id: I356e02d0bf0eaaef43c20ce07b388262f63093a4
21ab4e
BUG: 1499251
21ab4e
Signed-off-by: Milind Changire <mchangir@redhat.com>
21ab4e
Reviewed-on: https://code.engineering.redhat.com/gerrit/120094
21ab4e
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
21ab4e
Tested-by: RHGS Build Bot <nigelb@redhat.com>
21ab4e
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
21ab4e
---
21ab4e
 glusterfs.spec.in | 53 ++++++++++++++++++++++++++++++++---------------------
21ab4e
 1 file changed, 32 insertions(+), 21 deletions(-)
21ab4e
21ab4e
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
21ab4e
index 3e816ae..55747b7 100644
21ab4e
--- a/glusterfs.spec.in
21ab4e
+++ b/glusterfs.spec.in
21ab4e
@@ -919,27 +919,6 @@ if $(systemctl is-active firewalld 1>/dev/null 2>&1;; then
21ab4e
 fi
21ab4e
 %endif
21ab4e
 
21ab4e
-pidof -c -o %PPID -x glusterd &> /dev/null
21ab4e
-if [ $? -eq 0 ]; then
21ab4e
-    kill -9 `pgrep -f gsyncd.py` &> /dev/null
21ab4e
-
21ab4e
-    killall --wait glusterd &> /dev/null
21ab4e
-    glusterd --xlator-option *.upgrade=on -N
21ab4e
-
21ab4e
-    #Cleaning leftover glusterd socket file which is created by glusterd in
21ab4e
-    #rpm_script_t context.
21ab4e
-    rm -rf /var/run/glusterd.socket
21ab4e
-
21ab4e
-    # glusterd _was_ running, we killed it, it exited after *.upgrade=on,
21ab4e
-    # so start it again
21ab4e
-    %_init_start glusterd
21ab4e
-else
21ab4e
-    glusterd --xlator-option *.upgrade=on -N
21ab4e
-
21ab4e
-    #Cleaning leftover glusterd socket file which is created by glusterd in
21ab4e
-    #rpm_script_t context.
21ab4e
-    rm -rf /var/run/glusterd.socket
21ab4e
-fi
21ab4e
 %endif
21ab4e
 
21ab4e
 ##-----------------------------------------------------------------------------
21ab4e
@@ -2099,9 +2078,41 @@ os.remove(tmpname)
21ab4e
 if not (ok == 0) then
21ab4e
    error("Detected running glusterfs processes", ok)
21ab4e
 end
21ab4e
+
21ab4e
+%posttrans server
21ab4e
+pidof -c -o %PPID -x glusterd &> /dev/null
21ab4e
+if [ $? -eq 0 ]; then
21ab4e
+    kill -9 `pgrep -f gsyncd.py` &> /dev/null
21ab4e
+
21ab4e
+    killall --wait -SIGTERM glusterd &> /dev/null
21ab4e
+
21ab4e
+    if [ "$?" != "0" ]; then
21ab4e
+        echo "killall failed while killing glusterd"
21ab4e
+    fi
21ab4e
+
21ab4e
+    glusterd --xlator-option *.upgrade=on -N
21ab4e
+
21ab4e
+    #Cleaning leftover glusterd socket file which is created by glusterd in
21ab4e
+    #rpm_script_t context.
21ab4e
+    rm -rf /var/run/glusterd.socket
21ab4e
+
21ab4e
+    # glusterd _was_ running, we killed it, it exited after *.upgrade=on,
21ab4e
+    # so start it again
21ab4e
+    %_init_start glusterd
21ab4e
+else
21ab4e
+    glusterd --xlator-option *.upgrade=on -N
21ab4e
+
21ab4e
+    #Cleaning leftover glusterd socket file which is created by glusterd in
21ab4e
+    #rpm_script_t context.
21ab4e
+    rm -rf /var/run/glusterd.socket
21ab4e
+fi
21ab4e
+
21ab4e
 %endif
21ab4e
 
21ab4e
 %changelog
21ab4e
+* Tue Oct 10 2017 Milind Changire <mchangir@redhat.com>
21ab4e
+- DOWNSTREAM ONLY patch - launch glusterd in upgrade mode after all new bits have been installed
21ab4e
+
21ab4e
 * Fri Aug 04 2017 Kaleb S. KEITHLEY <kkeithle@rehat.com>
21ab4e
 - /var/lib/glusterd/options made config(noreplace) to avoid losing shared state info
21ab4e
 
21ab4e
-- 
21ab4e
1.8.3.1
21ab4e