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 --- geo-replication/src/gverify.sh | 2 +- geo-replication/syncdaemon/monitor.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'geo-replication') diff --git a/geo-replication/src/gverify.sh b/geo-replication/src/gverify.sh index ef31f527afd..e9c9b28837d 100755 --- a/geo-replication/src/gverify.sh +++ b/geo-replication/src/gverify.sh @@ -63,7 +63,7 @@ exit 1; fi; cd \$d; disk_size=\$(df -B1 \$d | tail -1 | awk "{print \\\$2}"); -available_size=\$(df -B1 \$d | tail -1 | awk "{print \\\$3}"); +used_size=\$(df -B1 \$d | tail -1 | awk "{print \\\$3}"); no_of_files=\$(find \$d -maxdepth 0 -empty); umount -l \$d; rmdir \$d; diff --git a/geo-replication/syncdaemon/monitor.py b/geo-replication/syncdaemon/monitor.py index e49a24ee5f5..c44735ffb3d 100644 --- a/geo-replication/syncdaemon/monitor.py +++ b/geo-replication/syncdaemon/monitor.py @@ -267,7 +267,7 @@ def distribute(*resources): sbricks = {'host': 'localhost', 'dir': si.path} suuid = uuid.uuid5(uuid.NAMESPACE_URL, slave.get_url(canonical=True)) elif isinstance(si, GLUSTER): - svol = Volinfo(si.volume, si.host, prelude) + svol = Volinfo(si.volume, si.host) sbricks = svol.bricks suuid = svol.uuid else: -- cgit