| Summary: | sys-cluster/glusterfs-3.3.1-r1 wrong slave path for geo-replication | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Francesco Riosa <vivo75> |
| Component: | [OLD] Core system | Assignee: | Gentoo Cluster Team <cluster> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | vivo75 |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | glusterfs.log | ||
|
Description
Francesco Riosa
2013-04-02 13:35:10 UTC
it's fixated in sources:
.../glusterfs-3.3.1/xlators/mgmt/glusterd/src/glusterd.c:465
probably it's configurable somewhere at runtime, but Gentoo should default to /usr/libexec/glusterfs/gsyncd because it's the place it use by default.
/************
* master pre-configuration
************/
/* remote-gsyncd */
runinit_gsyncd_setrx (&runner, conf);
runner_add_args (&runner, "remote-gsyncd", GSYNCD_PREFIX"/gsyncd", ".", ".", NULL);
RUN_GSYNCD_CMD;
runinit_gsyncd_setrx (&runner, conf);
runner_add_args (&runner, "remote-gsyncd",
"/usr/local/libexec/glusterfs/gsyncd", ".", "^ssh:", NULL);
RUN_GSYNCD_CMD;
Please attach full build.log. I get -DGSYNCD_PREFIX=\"/usr/libexec/glusterfs\" out of the box Created attachment 344162 [details]
glusterfs.log
in glusterd.c:465
replace:
runner_add_args (&runner, "remote-gsyncd",
"/usr/local/libexec/glusterfs/gsyncd", ".", "^ssh:", NULL);
with:
runner_add_args (&runner, "remote-gsyncd",
GSYNCD_PREFIX"/gsyncd", ".", "^ssh:", NULL);
GSYNCD_PREFIX actually is used for the _local_ gsyncd server, it use ssh to call gsyncd on the remote server too but use the /usr/local/ path hardcoded.
RedHat decided this way because the source built packages could expect to be located in usr/local, the point is Gentoo use source build and not rpm.
An alternative is to add einfo to modify the "remote_gsyncd =" line in /var/lib/glusterd/geo-replication/gsyncd.conf .
But this must be carefully worded because the file is created at runtime after a geo-replication is requested, so it can be confusing to explain.
(In reply to comment #3) > Created attachment 344162 [details] > glusterfs.log > > in glusterd.c:465 > replace: > runner_add_args (&runner, "remote-gsyncd", > "/usr/local/libexec/glusterfs/gsyncd", ".", "^ssh:", NULL); > with: > runner_add_args (&runner, "remote-gsyncd", > GSYNCD_PREFIX"/gsyncd", ".", "^ssh:", NULL); I've misunderstood you first time, I'll add it shortly. +*glusterfs-3.3.1-r2 (03 Apr 2013) + + 03 Apr 2013; Kacper Kowalik <xarthisius@gentoo.org> + +glusterfs-3.3.1-r2.ebuild, -glusterfs-3.3.1-r1.ebuild, + glusterfs-3.3.0.ebuild: + Expect that gsync resides in /usr/libexec/glusterfs on remote machine or in + other words that the remote machine runs Gentoo too. Fixes #464196 by + Francesco Riosa <francesco+gentoo_bugzilla@pnpitalia.it> who also provided the + patch |