From 48201f4faeef3602cb095bf47d14deebf91899ba Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Sun, 4 May 2014 01:34:08 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/7658 Tested-by: Gluster Build System --- xlators/mgmt/glusterd/src/glusterd-utils.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.h') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 26895fd904d..faec168f081 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -623,12 +623,14 @@ glusterd_are_vol_all_peers_up (glusterd_volinfo_t *volinfo, char **down_peerstr); int -glusterd_get_slave_details_confpath (glusterd_volinfo_t *volinfo, dict_t *dict, - char **slave_ip, char **slave_vol, +glusterd_get_slave_details_confpath (glusterd_volinfo_t *volinfo, + dict_t *dict, char **slave_ip, + char **slave_host, char **slave_vol, char **conf_path, char **op_errstr); int -glusterd_get_slave_info (char *slave, char **slave_ip, +glusterd_get_slave_info (char *slave, + char **slave_url, char **hostname, char **slave_vol, char **op_errstr); int -- cgit