Bug 1207201 - Dist-geo-rep: Missing hook-script S56glusterd-geo-rep-create-post.sh during source install
Summary: Dist-geo-rep: Missing hook-script S56glusterd-geo-rep-create-post.sh during s...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: geo-replication
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kotresh HR
QA Contact:
URL:
Whiteboard:
Depends On: 1132766
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-30 12:22 UTC by Kotresh HR
Modified: 2015-05-14 17:35 UTC (History)
8 users (show)

Fixed In Version: glusterfs-3.7.0beta1
Doc Type: Bug Fix
Doc Text:
Clone Of: 1132766
Environment:
Last Closed: 2015-05-14 17:27:07 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Kotresh HR 2015-03-30 12:22:14 UTC
+++ This bug was initially created as a clone of Bug #1132766 +++

Description of problem:
After installing gluster on Ubuntu 12.04 from the 3.5 PPA, geo-replication fails to start.

root@sm-dev-moo:~ # gluster volume geo-replication test-moo 192.168.33.13::test-bow create push-pem force
The hook-script (/var/lib/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh) required for push-pem is not present. Please install the hook-script and retry
geo-replication command failed
root@sm-dev-moo:~ #

Investigation of the source build indicates that several files are not being copied from the build.  The below is generated by adding "--failed-missing" to the dh_install command in the rules file. Some missing/unpackaged files are legit and replaced with more Ubuntu specific files, but minimally we are missing usr/share/glusterfs/scripts which has some geo-rep helpers.

Also, following the specfile we seem to be missing all hooks, specifically the hook for setting up geo-replication, but evidently all of them
- https://github.com/gluster/glusterfs/blob/master/glusterfs.spec.in#L916


===  missing file list
dh_install: etc/init.d/glusterd exists in debian/tmp but is not installed to anywhere
dh_install: etc/glusterfs/glusterfs-georep-logrotate exists in debian/tmp but is not installed to anywhere
dh_install: etc/glusterfs/glusterfs-logrotate exists in debian/tmp but is not installed to anywhere
dh_install: etc/glusterfs/gluster-rsyslog-7.2.conf exists in debian/tmp but is not installed to anywhere
dh_install: etc/glusterfs/gluster-rsyslog-5.8.conf exists in debian/tmp but is not installed to anywhere
dh_install: etc/glusterfs/logger.conf.example exists in debian/tmp but is not installed to anywhere
dh_install: usr/include/glusterfs/gfchangelog/changelog.h exists in debian/tmp but is not installed to anywhere
dh_install: usr/include/glusterfs/api/glfs-handles.h exists in debian/tmp but is not installed to anywhere
dh_install: usr/include/glusterfs/api/glfs.h exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/man/man8/glusterd.8 exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/man/man8/gluster.8 exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/man/man8/mount.glusterfs.8 exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/man/man8/glusterfsd.8 exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/man/man8/glusterfs.8 exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/glusterfs.vim exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/benchmarking/rdd.c exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/benchmarking/glfs-bm.c exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/benchmarking/local-script.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/benchmarking/launch-script.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/doc/glusterfs/benchmarking/README exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/slave-upgrade.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/gsync-upgrade.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/gsync-sync-gfid exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/get-gfid.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/generate-gfid-file.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/post-upgrade-script-for-quota.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/share/glusterfs/scripts/pre-upgrade-script-for-quota.sh exists in debian/tmp but is not installed to anywhere
dh_install: usr/bin/fusermount-glusterfs exists in debian/tmp but is not installed to anywhere
===

Version-Release number of selected component (if applicable):
sm@sm-dev-floor:~ $ dpkg -l | grep gluster
ii  glusterfs-client                  3.5.2-ubuntu1~precise1                              clustered file-system (client package)
ii  glusterfs-common                  3.5.2-ubuntu1~precise1                              GlusterFS common libraries and translator modules
ii  glusterfs-examples                3.2.5-1ubuntu1                                      example files for the glusterfs server and client
ii  glusterfs-server                  3.5.2-ubuntu1~precise1                              clustered file-system (server package)
sm@sm-dev-floor:~ $

How reproducible:
Always

Steps to Reproduce:
1. install gluster 3.5
2. setup some volumes
2. try to setup geo replication via https://github.com/gluster/glusterfs/blob/master/doc/admin-guide/en-US/markdown/admin_distributed_geo_rep.md

Actual results:
See problem description for error

Expected results:
Geo-replication setup competes

Additional info:

--- Additional comment from nathan r. hruby on 2014-08-22 00:57:26 EDT ---

adding a quick patch to add required files for geo-rep and some libs, def. not correct.

--- Additional comment from Louis Zuckerman on 2014-08-22 11:29:06 EDT ---

Hi Nathan,

Thanks for reporting the issue.  It came up in IRC once before but I wasnt able to figure out a solution.  I'll try your patch & see if I can get it working in the packages.  Your help is much appreciated.

Regards,

-louis

--- Additional comment from nathan r. hruby on 2014-08-28 15:28:24 EDT ---

here's my latest debian dir with updates install and rules files.

--- Additional comment from Louis Zuckerman on 2014-08-29 21:04:33 EDT ---

Why install everything in /usr/include/glusterfs?  Did you need some header file for something?  I normally only include glfs.h since that's the libgfapi other apps use.  Just curious if there's something else useful in there.

Aside from that little curiosity it all looks great to me.  Thanks again for your contribution!  I might not have figured this out on my own.  You really helped a lot of people with this.

All the best,

-louis

--- Additional comment from Louis Zuckerman on 2014-08-30 16:04:32 EDT ---

I've been testing out geo-rep with 3.5.2 on ubuntu trusty & debian jessie and I'm running into an issue with the location of gsyncd.  It gets installed into /usr/lib/x86_64-linux-gnu/glusterfs but the generated config says it's location is /nonexistent/gsyncd (which obviously doesn't exist).  Geo-rep fails to start because of this.

I'm stumped at this point.  I'll review the issue on IRC this week and possibly open a new bug if necessary.

--- Additional comment from nathan r. hruby on 2014-08-30 16:58:09 EDT ---

Re: #4 - I figured that was an oversight, and assumed all the header files needed to get shipped, mainly because there was some changelog related stuff in there.

Re: #5 - I think the /nonexistent/gsyncd is fixed in 3.6 -- there's a few threads about it. If you look at the georep logs on both sides, it's trying to call /usr/libexec/glusterfs/gsyncd which doesn't exist in Ubuntu 12.04.  I just made a /usr/libexec and symlinked glsuterfs to /usr/lib/x86_64-linux-gnu/glusterfs/ and it was able to start after that.

I'll try to clean up my internal ansible gluster playbook and geo-replciation module next week which helps speed the setup and testing a bit.

-n

--- Additional comment from Louis Zuckerman on 2014-08-31 22:48:29 EDT ---

I was wondering if you ran into this /nonexistent thing too. Thanks for confirming. I'll bring it up with the devs when I see them in IRC next (probably tuesday). I'm sure they'll have good insight.

As for the headers, I just left them out by default until people asked (rightly so) for the libgfapi file, glfs.h, which is needed to build anything that uses libgfapi (samba vfs, qemu, etc).  We discussed in IRC recenly the idea of putting headers in a glusterfs-dev package, but I don't think it's worth the effort.  People are happy enough with just glfs.h in glusterfs-common as far as I know.

In your opinion, should I publish new packages with the post hook script right away, even though geo-rep still doesnt work because of the gsyncd path problem?  Or wait (days probably) until that's fixed too, and it all works out of the box?

-louis

--- Additional comment from nathan r. hruby on 2014-09-02 11:16:24 EDT ---

Yeah, I would, because at least people have a chance of making geo-rep work with the packages.

--- Additional comment from Colin Alston on 2015-03-17 12:06:32 EDT ---

These packages are still completely broken? Rad...

Comment 1 Anand Avati 2015-03-30 12:27:48 UTC
REVIEW: http://review.gluster.org/10051 (geo-rep: Copy geo-rep hook-script during source install) posted (#1) for review on master by Kotresh HR (khiremat)

Comment 2 Anand Avati 2015-03-31 05:38:18 UTC
REVIEW: http://review.gluster.org/10051 (geo-rep: Copy geo-rep hook-script during source install) posted (#2) for review on master by Kotresh HR (khiremat)

Comment 3 Anand Avati 2015-03-31 09:29:33 UTC
REVIEW: http://review.gluster.org/10051 (geo-rep: Copy geo-rep hook-script during source install) posted (#3) for review on master by Kotresh HR (khiremat)

Comment 4 Anand Avati 2015-03-31 12:50:46 UTC
REVIEW: http://review.gluster.org/10051 (geo-rep: Copy geo-rep hook-script during source install) posted (#4) for review on master by Kotresh HR (khiremat)

Comment 5 Anand Avati 2015-04-02 10:07:03 UTC
COMMIT: http://review.gluster.org/10051 committed in master by Vijay Bellur (vbellur) 
------
commit 4a339be28a715aa22d8d07b3137920edea8a1c4a
Author: Kotresh HR <khiremat>
Date:   Mon Mar 30 17:44:50 2015 +0530

    geo-rep: Copy geo-rep hook-script during source install
    
    The hook-script S56glusterd-geo-rep-create-post.sh was not
    copying to glusterd working directory when geo-rep is
    installed through source. Hence the geo-rep create fails
    unless the script is manually copied. This patch addresses
    the issue by copying the hook-script during make install.
    
    Change-Id: I185a877ed720e8300f0e888ab481d0c8c23bf815
    BUG: 1207201
    Signed-off-by: Kotresh HR <khiremat>
    Reviewed-on: http://review.gluster.org/10051
    Reviewed-by: Aravinda VK <avishwan>
    Reviewed-by: Niels de Vos <ndevos>
    Reviewed-by: Vijay Bellur <vbellur>
    Tested-by: Vijay Bellur <vbellur>

Comment 6 Niels de Vos 2015-05-14 17:27:07 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.7.0, please open a new bug report.

glusterfs-3.7.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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user

Comment 7 Niels de Vos 2015-05-14 17:28:38 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.7.0, please open a new bug report.

glusterfs-3.7.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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user

Comment 8 Niels de Vos 2015-05-14 17:35:18 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.7.0, please open a new bug report.

glusterfs-3.7.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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/10939
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


Note You need to log in before you can comment on or make changes to this bug.