Bug 1282915
Summary: | glusterfs does not register with rpcbind on restart | |||
---|---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Mike <devops> | |
Component: | packaging | Assignee: | Kaushal <kaushal> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | ||
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | mainline | CC: | amukherj, kaushal, nh2-redhatbugzilla, nlevinki, vbellur | |
Target Milestone: | --- | Keywords: | ZStream | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | glusterfs-3.8rc2 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1283142 1283144 1283542 1285958 (view as bug list) | Environment: | ||
Last Closed: | 2016-06-16 13:44:42 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: | ||||
Bug Blocks: | 1283142, 1283144, 1283542, 1285958 |
Description
Mike
2015-11-17 19:29:37 UTC
Thanks for reporting this. Turns out we've misunderstood the meaning of the `After` option. According to the systemd.unit(5) man page, the `After` option only sets up ordering. If unit foo.service has the option `After=bar.service`, the option only ensures that if both foo and bar are started together, foo is started after bar. It doesn't ensure that starting only foo starts bar. The `Requires` option only sets up the requirement, but doesn't set up ordering. If foo.service `Requires` bar.service, it is only guaranteed that starting foo will also start bar, but not necessarily in order. The man page suggests that if a unit requires that another unit be started before itself, then both `After` and `Requires` must be used. I've submitted a change for review that fixes this at http://review.gluster.org/12605 COMMIT: http://review.gluster.org/12605 committed in master by Atin Mukherjee (amukherj) ------ commit 23440a73bc348bbc3bb43ec397f0639ee45865fc Author: Kaushal M <kaushal> Date: Wed Nov 18 11:21:13 2015 +0530 glusterd.service: Ensure rpcbind is started before glusterd Having the rpcbind.service under the `After` option only ensures that glusterd.service is started after rpcbind.service if both are enabled/started at the same time. It doesn't ensure that starting glusterd.service will start rpcbind.service. The systemd.unit(5) man page suggests to use both the `Requires` and `After` options to ensure that rpcbind is started before glusterd, whenever glusterd is started. BUG: 1282915 Change-Id: Iee69965486be08711299aba235f7b00c3e2fe7e9 Signed-off-by: Kaushal M <kaushal> Reviewed-on: http://review.gluster.org/12605 Reviewed-by: Atin Mukherjee <amukherj> Reviewed-by: Anand Nekkunti <anekkunt> Tested-by: Gluster Build System <jenkins.com> Tested-by: NetBSD Build System <jenkins.org> 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.8.0, please open a new bug report. glusterfs-3.8.0 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] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user I believe that adding `Requires=` here was the wrong (or at least not optimal) solution; `systemctl enable rpcbind` should have been used instead. See https://bugzilla.redhat.com/show_bug.cgi?id=1426842 for details. |