Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1497989

Summary: Gluster 3.12.1 Packages require manual systemctl daemon reload after install
Product: [Community] GlusterFS Reporter: Niels de Vos <ndevos>
Component: packagingAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: unspecified    
Version: 3.12CC: anoopcs, bugs, kkeithle, mailinglists, ndevos, pasik
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.12.15 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1495384 Environment:
Last Closed: 2018-10-23 14:21:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1495384    
Bug Blocks:    

Description Niels de Vos 2017-10-03 09:55:26 UTC
+++ This bug was initially created as a clone of Bug #1495384 +++

Description of problem:

I was testing the 3.12.1 packages for the CentOS Gluster SIG and noticed that there were warnings during the install that glusterd.service changed on disk and a systemctl daemon-reload was required.
I believe this should be performed as part of the package install rather than something the end user (or automation) is required to run manually post-install.

Version-Release number of selected component (if applicable):

gluster312-1.0-1.el7

How reproducible:

Every install of the 3.12.1-1 packages.

Steps to Reproduce:

As below, however the packages should now be available in the main storage SIG repo (or it's RHEL equivalent) (http://mirror.centos.org/centos/7/storage/x86_64/gluster-3.12/).

Actual results:

A manual systemctl daemon-reload was required post-install.

Expected results:

The installer to issue a daemon-reload to systemctl during install.


Additional info:


root@int-gluster-01:/var/tmp  # yum install centos-release-gluster312-1.0-1.el7.centos.noarch.rpm
Loaded plugins: fastestmirror, protectbase, rpm-warm-cache, versionlock
Examining centos-release-gluster312-1.0-1.el7.centos.noarch.rpm: centos-release-gluster312-1.0-1.el7.centos.noarch
Marking centos-release-gluster312-1.0-1.el7.centos.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package centos-release-gluster312.noarch 0:1.0-1.el7.centos will be installed
--> Processing Dependency: centos-release-storage-common for package: centos-release-gluster312-1.0-1.el7.centos.noarch
Loading mirror speeds from cached hostfile
 * epel: epel.mirror.digitalpacific.com.au
0 packages excluded due to repository protections
--> Running transaction check
---> Package centos-release-storage-common.noarch 0:1-2.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================
 Package                                  Arch              Version                       Repository                                                     Size
==============================================================================================================================================================
Installing:
 centos-release-gluster312                noarch            1.0-1.el7.centos              /centos-release-gluster312-1.0-1.el7.centos.noarch            588
Installing for dependencies:
 centos-release-storage-common            noarch            1-2.el7.centos                extras                                                        4.5 k

Transaction Summary
==============================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total size: 5.1 k
Total download size: 4.5 k
Installed size: 1.6 k
Is this ok [y/d/N]: y
Downloading packages:
centos-release-storage-common-1-2.el7.centos.noarch.rpm                                                                                | 4.5 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : centos-release-storage-common-1-2.el7.centos.noarch                                                                                        1/2
  Installing : centos-release-gluster312-1.0-1.el7.centos.noarch                                                                                          2/2
  Verifying  : centos-release-storage-common-1-2.el7.centos.noarch                                                                                        1/2
  Verifying  : centos-release-gluster312-1.0-1.el7.centos.noarch                                                                                          2/2

Installed:
  centos-release-gluster312.noarch 0:1.0-1.el7.centos

Dependency Installed:
  centos-release-storage-common.noarch 0:1-2.el7.centos

Complete!


root@int-gluster-01:/var/tmp  # yum --enablerepo=centos-gluster312-test update glusterfs-fuse
Loaded plugins: fastestmirror, protectbase, rpm-warm-cache, versionlock
centos-gluster312                                                                                                                      | 2.9 kB  00:00:00
centos-gluster312-test                                                                                                                 | 2.9 kB  00:00:00
(1/2): centos-gluster312/7/x86_64/primary_db                                                                                           |  26 kB  00:00:00
(2/2): centos-gluster312-test/7/x86_64/primary_db                                                                                      |  50 kB  00:00:01
Loading mirror speeds from cached hostfile
 * epel: epel.mirror.digitalpacific.com.au
0 packages excluded due to repository protections
Resolving Dependencies
--> Running transaction check
---> Package glusterfs-fuse.x86_64 0:3.12.0-1.el7 will be updated
--> Processing Dependency: glusterfs-fuse = 3.12.0-1.el7 for package: glusterfs-server-3.12.0-1.el7.x86_64
---> Package glusterfs-fuse.x86_64 0:3.12.1-1.el7 will be an update
--> Processing Dependency: glusterfs-client-xlators = 3.12.1-1.el7 for package: glusterfs-fuse-3.12.1-1.el7.x86_64
--> Processing Dependency: glusterfs = 3.12.1-1.el7 for package: glusterfs-fuse-3.12.1-1.el7.x86_64
--> Running transaction check
---> Package glusterfs.x86_64 0:3.12.0-1.el7 will be updated
--> Processing Dependency: glusterfs = 3.12.0-1.el7 for package: glusterfs-api-3.12.0-1.el7.x86_64
---> Package glusterfs.x86_64 0:3.12.1-1.el7 will be an update
--> Processing Dependency: glusterfs-libs = 3.12.1-1.el7 for package: glusterfs-3.12.1-1.el7.x86_64
---> Package glusterfs-client-xlators.x86_64 0:3.12.0-1.el7 will be updated
---> Package glusterfs-client-xlators.x86_64 0:3.12.1-1.el7 will be an update
---> Package glusterfs-server.x86_64 0:3.12.0-1.el7 will be updated
---> Package glusterfs-server.x86_64 0:3.12.1-1.el7 will be an update
--> Processing Dependency: glusterfs-cli = 3.12.1-1.el7 for package: glusterfs-server-3.12.1-1.el7.x86_64
--> Running transaction check
---> Package glusterfs-api.x86_64 0:3.12.0-1.el7 will be updated
---> Package glusterfs-api.x86_64 0:3.12.1-1.el7 will be an update
---> Package glusterfs-cli.x86_64 0:3.12.0-1.el7 will be updated
---> Package glusterfs-cli.x86_64 0:3.12.1-1.el7 will be an update
---> Package glusterfs-libs.x86_64 0:3.12.0-1.el7 will be updated
---> Package glusterfs-libs.x86_64 0:3.12.1-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================
 Package                                      Arch                       Version                             Repository                                  Size
==============================================================================================================================================================
Updating:
 glusterfs-fuse                               x86_64                     3.12.1-1.el7                        centos-gluster312-test                     139 k
Updating for dependencies:
 glusterfs                                    x86_64                     3.12.1-1.el7                        centos-gluster312-test                     557 k
 glusterfs-api                                x86_64                     3.12.1-1.el7                        centos-gluster312-test                      96 k
 glusterfs-cli                                x86_64                     3.12.1-1.el7                        centos-gluster312-test                     195 k
 glusterfs-client-xlators                     x86_64                     3.12.1-1.el7                        centos-gluster312-test                     852 k
 glusterfs-libs                               x86_64                     3.12.1-1.el7                        centos-gluster312-test                     398 k
 glusterfs-server                             x86_64                     3.12.1-1.el7                        centos-gluster312-test                     1.2 M

Transaction Summary
==============================================================================================================================================================
Upgrade  1 Package (+6 Dependent packages)

Total download size: 3.4 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for centos-gluster312-test
(1/7): glusterfs-api-3.12.1-1.el7.x86_64.rpm                                                                                           |  96 kB  00:00:04
(2/7): glusterfs-3.12.1-1.el7.x86_64.rpm                                                                                               | 557 kB  00:00:04
(3/7): glusterfs-cli-3.12.1-1.el7.x86_64.rpm                                                                                           | 195 kB  00:00:01
(4/7): glusterfs-client-xlators-3.12.1-1.el7.x86_64.rpm                                                                                | 852 kB  00:00:01
(5/7): glusterfs-fuse-3.12.1-1.el7.x86_64.rpm                                                                                          | 139 kB  00:00:01
(6/7): glusterfs-libs-3.12.1-1.el7.x86_64.rpm                                                                                          | 398 kB  00:00:01
(7/7): glusterfs-server-3.12.1-1.el7.x86_64.rpm                                                                                        | 1.2 MB  00:00:01
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                         392 kB/s | 3.4 MB  00:00:08
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : glusterfs-libs-3.12.1-1.el7.x86_64                                                                                                        1/14
  Updating   : glusterfs-client-xlators-3.12.1-1.el7.x86_64                                                                                              2/14
  Updating   : glusterfs-3.12.1-1.el7.x86_64                                                                                                             3/14
  Updating   : glusterfs-fuse-3.12.1-1.el7.x86_64                                                                                                        4/14
  Updating   : glusterfs-api-3.12.1-1.el7.x86_64                                                                                                         5/14
  Updating   : glusterfs-cli-3.12.1-1.el7.x86_64                                                                                                         6/14
  Updating   : glusterfs-server-3.12.1-1.el7.x86_64                                                                                                      7/14
warning: /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-02.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol saved as /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-02.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol.rpmsave
warning: /var/lib/glusterd/vols/my-volume-01/my-volume-01.tcp-fuse.vol saved as /var/lib/glusterd/vols/my-volume-01/my-volume-01.tcp-fuse.vol.rpmsave
warning: /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-01.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol saved as /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-01.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol.rpmsave
warning: /var/lib/glusterd/vols/my-volume-01/trusted-my-volume-01.tcp-fuse.vol saved as /var/lib/glusterd/vols/my-volume-01/trusted-my-volume-01.tcp-fuse.vol.rpmsave
warning: /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-03.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol saved as /var/lib/glusterd/vols/my-volume-01/my-volume-01.int-gluster-03.rstd.int.ix.org.au.mnt-gluster-storage-my-volume-01.vol.rpmsave

###### Above warnings repeated for every volume ######


Warning: glusterd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Warning: glusterd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
  Cleanup    : glusterfs-server-3.12.0-1.el7.x86_64                                                                                                      8/14
  Cleanup    : glusterfs-api-3.12.0-1.el7.x86_64                                                                                                         9/14
  Cleanup    : glusterfs-fuse-3.12.0-1.el7.x86_64                                                                                                       10/14
  Cleanup    : glusterfs-3.12.0-1.el7.x86_64                                                                                                            11/14
  Cleanup    : glusterfs-client-xlators-3.12.0-1.el7.x86_64                                                                                             12/14
  Cleanup    : glusterfs-cli-3.12.0-1.el7.x86_64                                                                                                        13/14
  Cleanup    : glusterfs-libs-3.12.0-1.el7.x86_64                                                                                                       14/14
  Verifying  : glusterfs-client-xlators-3.12.1-1.el7.x86_64                                                                                              1/14
  Verifying  : glusterfs-fuse-3.12.1-1.el7.x86_64                                                                                                        2/14
  Verifying  : glusterfs-libs-3.12.1-1.el7.x86_64                                                                                                        3/14
  Verifying  : glusterfs-api-3.12.1-1.el7.x86_64                                                                                                         4/14
  Verifying  : glusterfs-cli-3.12.1-1.el7.x86_64                                                                                                         5/14
  Verifying  : glusterfs-3.12.1-1.el7.x86_64                                                                                                             6/14
  Verifying  : glusterfs-server-3.12.1-1.el7.x86_64                                                                                                      7/14
  Verifying  : glusterfs-3.12.0-1.el7.x86_64                                                                                                             8/14
  Verifying  : glusterfs-server-3.12.0-1.el7.x86_64                                                                                                      9/14
  Verifying  : glusterfs-libs-3.12.0-1.el7.x86_64                                                                                                       10/14
  Verifying  : glusterfs-client-xlators-3.12.0-1.el7.x86_64                                                                                             11/14
  Verifying  : glusterfs-cli-3.12.0-1.el7.x86_64                                                                                                        12/14
  Verifying  : glusterfs-fuse-3.12.0-1.el7.x86_64                                                                                                       13/14
  Verifying  : glusterfs-api-3.12.0-1.el7.x86_64                                                                                                        14/14

Updated:
  glusterfs-fuse.x86_64 0:3.12.1-1.el7

Dependency Updated:
  glusterfs.x86_64 0:3.12.1-1.el7                           glusterfs-api.x86_64 0:3.12.1-1.el7             glusterfs-cli.x86_64 0:3.12.1-1.el7
  glusterfs-client-xlators.x86_64 0:3.12.1-1.el7            glusterfs-libs.x86_64 0:3.12.1-1.el7            glusterfs-server.x86_64 0:3.12.1-1.el7

Complete!


root@int-gluster-01:/var/tmp  # rpm -qa | grep gluster
centos-release-gluster312-1.0-1.el7.centos.noarch
glusterfs-fuse-3.12.1-1.el7.x86_64
gluster-nagios-addons-1.1.0-0.el7.centos.x86_64
glusterfs-libs-3.12.1-1.el7.x86_64
glusterfs-3.12.1-1.el7.x86_64
glusterfs-api-3.12.1-1.el7.x86_64
glusterfs-server-3.12.1-1.el7.x86_64
gluster-nagios-common-1.1.0-0.el7.centos.noarch
glusterfs-client-xlators-3.12.1-1.el7.x86_64
glusterfs-cli-3.12.1-1.el7.x86_64


root@int-gluster-01:/var/tmp  # yum info glusterfs
Loaded plugins: fastestmirror, protectbase, rpm-warm-cache, versionlock
Loading mirror speeds from cached hostfile
 * epel: epel.mirror.digitalpacific.com.au
0 packages excluded due to repository protections
Installed Packages
Name        : glusterfs
Arch        : x86_64
Version     : 3.12.1
Release     : 1.el7
Size        : 1.9 M
Repo        : installed
From repo   : centos-gluster312-test
Summary     : Distributed File System
URL         : http://gluster.readthedocs.io/en/latest/
License     : GPLv2 or LGPLv3+
Description : GlusterFS is a distributed file-system capable of scaling to several
            : petabytes. It aggregates various storage bricks over Infiniband RDMA
            : or TCP/IP interconnect into one large parallel network file
            : system. GlusterFS is one of the most sophisticated file systems in
            : terms of features and extensibility.  It borrows a powerful concept
            : called Translators from GNU Hurd kernel. Much of the code in GlusterFS
            : is in user space and easily manageable.
            :
            : This package includes the glusterfs binary, the glusterfsd daemon and the
            : libglusterfs and glusterfs translator modules common to both GlusterFS server
            : and client framework.


root@int-gluster-01:/var/tmp  # systemctl status glusterfsd
● glusterfsd.service - GlusterFS brick processes (stopping only)
   Loaded: loaded (/usr/lib/systemd/system/glusterfsd.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/glusterfsd.service.d
           └─require-mount-mntgluster-storage.conf
   Active: inactive (dead)
root@int-gluster-01:/var/tmp 3 # systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/glusterd.service.d
           └─require-mount-mntgluster-storage.conf
   Active: active (running) since Mon 2017-09-25 10:30:46 AEST; 3min 35s ago
  Process: 26527 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 26528 (glusterd)
   CGroup: /system.slice/glusterd.service
           ├─20325 /usr/sbin/glusterfsd -s int-gluster-01.rstd.int.ix.org.au --volfile-id simpleapp_storage.int-gluster-01.rstd.int.ix.org.au.mnt-gluster-s...
           ├─26528 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level WARNING
           └─26568 /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/log/glusterfs/glu...

Sep 25 10:30:45 int-gluster-01 systemd[1]: Starting GlusterFS, a clustered file-system server...
Sep 25 10:30:46 int-gluster-01 systemd[1]: Started GlusterFS, a clustered file-system server.
Warning: glusterd.service changed on disk. Run 'systemctl daemon-reload' to reload units.

root@int-gluster-01:/var/tmp  # systemctl daemon-reload

root@int-gluster-01:/var/tmp  # systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/glusterd.service.d
           └─require-mount-mntgluster-storage.conf
   Active: active (running) since Mon 2017-09-25 10:30:46 AEST; 3min 43s ago
 Main PID: 26528 (glusterd)
   CGroup: /system.slice/glusterd.service
           ├─20325 /usr/sbin/glusterfsd -s int-gluster-01.rstd.int.ix.org.au --volfile-id simpleapp_storage.int-gluster-01.rstd.int.ix.org.au.mnt-gluster-s...
           ├─26528 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level WARNING
           └─26568 /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/log/glusterfs/glu...

Sep 25 10:30:45 int-gluster-01 systemd[1]: Starting GlusterFS, a clustered file-system server...
Sep 25 10:30:46 int-gluster-01 systemd[1]: Started GlusterFS, a clustered file-system server.

root@int-gluster-01:/var/tmp  # systemctl restart glusterd

root@int-gluster-01:/var/tmp  # systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/glusterd.service.d
           └─require-mount-mntgluster-storage.conf
   Active: active (running) since Mon 2017-09-25 10:34:35 AEST; 1s ago
  Process: 27187 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 27188 (glusterd)
   CGroup: /system.slice/glusterd.service
           ├─20325 /usr/sbin/glusterfsd -s int-gluster-01.rstd.int.ix.org.au --volfile-id simpleapp_storage.int-gluster-01.rstd.int.ix.org.au.mnt-gluster-s...
           ├─26568 /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/log/glusterfs/glu...
           └─27188 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level WARNING

Sep 25 10:34:34 int-gluster-01 systemd[1]: Starting GlusterFS, a clustered file-system server...
Sep 25 10:34:35 int-gluster-01 systemd[1]: Started GlusterFS, a clustered file-system server.

--- Additional comment from Niels de Vos on 2017-09-26 10:11:24 CEST ---

I think we should use the scriptlets provided by systemd:

  https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Systemd

--- Additional comment from Worker Ant on 2017-10-02 16:51:16 CEST ---

REVIEW: https://review.gluster.org/18418 (packaging: manual systemctl daemon reload required after install) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle)

--- Additional comment from Worker Ant on 2017-10-03 11:53:54 CEST ---

COMMIT: https://review.gluster.org/18418 committed in master by Niels de Vos (ndevos) 
------
commit faf5939307cafe262ee2135621e1d3e173087e06
Author: Kaleb S. KEITHLEY <kkeithle>
Date:   Mon Oct 2 10:44:59 2017 -0400

    packaging: manual systemctl daemon reload required after install
    
    Use the %systemd_{post,preun,postun_with_restart} macros provided
    
    I tried both install and update from 3.10.x and did not receive
    any warnings about needing daemon reload
    
    Reported-by: Sam McLeod <rhbugs.net>
    
    Change-Id: Ibb33a748fc4226864019765b59d1a154b7297bae
    BUG: 1495384
    Signed-off-by: Kaleb S. KEITHLEY <kkeithle>

Comment 1 Worker Ant 2017-10-03 11:18:57 UTC
REVIEW: https://review.gluster.org/18422 (packaging: manual systemctl daemon reload required after install) posted (#1) for review on release-3.12 by Kaleb KEITHLEY (kkeithle)

Comment 2 Worker Ant 2017-10-16 12:02:40 UTC
REVIEW: https://review.gluster.org/18422 (packaging: manual systemctl daemon reload required after install) posted (#2) for review on release-3.12 by Kaleb KEITHLEY (kkeithle)

Comment 3 Worker Ant 2018-10-10 05:21:57 UTC
COMMIT: https://review.gluster.org/18422 committed in release-3.12 by "jiffin tony Thottan" <jthottan> with a commit message- packaging: manual systemctl daemon reload required after install

Use the %systemd_{post,preun,postun_with_restart} macros provided

Reported-by: Sam McLeod <rhbugs.net>

Changes from the following patches from master branch are included:
* https://review.gluster.org/#/c/18418
* https://review.gluster.org/#/c/18432

Change-Id: Ibb33a748fc4226864019765b59d1a154b7297bae
BUG: 1497989
Signed-off-by: Kaleb S. KEITHLEY <kkeithle>

Comment 4 Shyamsundar 2018-10-23 14:21:35 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.12.15, please open a new bug report.

glusterfs-3.12.15 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] https://lists.gluster.org/pipermail/announce/2018-October/000114.html
[2] https://www.gluster.org/pipermail/gluster-users/