Bug 1450588

Summary: Ubuntu builds have unsubsituted autoconf macros in source code
Product: [Community] GlusterFS Reporter: nh2 <nh2-redhatbugzilla>
Component: packagingAssignee: bugs <bugs>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.10CC: bugs, nh2-redhatbugzilla
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-23 11:25:34 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:

Description nh2 2017-05-13 13:14:57 UTC
Description of problem:

I tried to use 3.10.1 on Ubuntu and things don't seem to work.

After some investigation I found that some autoconf macros are not correctly substituted, and make their way into paths in the source code.

For example, peer_mountbroker (generated from an .in file) contains:

m = MountbrokerUserMgmt("${prefix}/etc/glusterfs/glusterd.vol")

and of course running this code will fail at run time.

This commit is what broke it: https://review.gluster.org/#/c/16880/

The Ubuntu PPAs on https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.10 are also broken; demo:

$ curl -L https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-3.10/+files/glusterfs-common_3.10.1-ubuntu1~xenial1_amd64.deb | bsdtar -f - -x --to-stdout data.tar.xz | bsdtar -f - -x --to-stdout ./usr/lib/x86_64-linux-gnu/glusterfs/peer_georep-sshkey.py | grep GSYNCD_CMD
GSYNCD_CMD = 'command="${prefix}/lib/x86_64-linux-gnu/glusterfs/gsyncd"

Comment 1 nh2 2017-05-13 13:15:36 UTC
I took the liberty to set the severity to high as this randomly breaks functionality.

Comment 2 nh2 2017-05-13 14:03:06 UTC
It seems that this bug creates issues that are potentially hard to undo.

For exmaple, on a deployed 3.10.1 cluster on Ubuntu that uses geo-replication, this bug will have landed an entry

command="${exec_prefix}/libexec/glusterfs/gsyncd"  ssh-rsa ...

in the geo-replication slave's authorized_keys; even when the bug is fixed in the future, the only entry will persist, as gluster will not remove old/wrong entries that it added. So manual fixing of all machines on which this gluster 3.10.1 was used may be required.

Comment 3 nh2 2017-05-13 15:44:39 UTC
Reverthing the linked commit fixes the issue; I put an example on

https://github.com/gluster/glusterfs/compare/v3.10.1...nh2:v3.10.1-nh2-fix-wrong-autoconf-subsitutions-in-sourcecode

Comment 4 Kaleb KEITHLEY 2017-05-23 11:25:34 UTC

*** This bug has been marked as a duplicate of bug 1450947 ***