diff options
author | Venky Shankar <vshankar@redhat.com> | 2014-05-04 01:34:08 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2014-05-14 10:24:01 -0700 |
commit | 48201f4faeef3602cb095bf47d14deebf91899ba (patch) | |
tree | 0e09dc89f4a451e9f65d7e98d3fe64fc8ef8a45e /xlators/mgmt/glusterd/src/glusterd-brick-ops.c | |
parent | d2db585ce7e26851178104433fa9422482d8719e (diff) |
gsyncd / geo-rep: Partial support for Non-root geo-replication.
This patch enables geo-replication to be run as an unprivileged
user. As of now, this is just the partial support, but is very
close to achieve full functionality.
Current limitation
* Geo-replication executed Gluster CLI commands on the slave
via SSH. On a non-root setup, Gluster CLI would run as an
unprivileged user, failing to execute the command. As a
workaround (for testing), setuid(2) Gluster CLI executable
or use the glusterd option to accept commands by unprivileged
CLI process. The nature of cli commands are "system::"
commands (for key management) and remote volume info fetching.
Remote volume info fetching has been modified to use --remote-host
gluster cli option rather than ssh and remote cli execution.
Change-Id: Ica89e2ba9b7f48fd6e1c876c477d7822dc693617
BUG: 1077452
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/7658
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-brick-ops.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index b14d3606d81..6544d7324e2 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -888,6 +888,7 @@ _glusterd_restart_gsync_session (dict_t *this, char *key, char *slave_buf = NULL; char *path_list = NULL; char *slave_vol = NULL; + char *slave_host = NULL; char *slave_ip = NULL; char *conf_path = NULL; char **errmsg = NULL; @@ -924,8 +925,8 @@ _glusterd_restart_gsync_session (dict_t *this, char *key, } ret = glusterd_get_slave_details_confpath (param->volinfo, - param->rsp_dict, - &slave_ip, &slave_vol, + param->rsp_dict, &slave_ip, + &slave_host, &slave_vol, &conf_path, errmsg); if (ret) { if (*errmsg) |