Bug 1450588
| Summary: | Ubuntu builds have unsubsituted autoconf macros in source code | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | nh2 <nh2-redhatbugzilla> |
| Component: | packaging | Assignee: | bugs <bugs> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 3.10 | CC: | 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: | |||
I took the liberty to set the severity to high as this randomly breaks functionality. 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.
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 *** This bug has been marked as a duplicate of bug 1450947 *** |
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"