From 5757ed2727990fd2c3aaff420003638f1eec6b92 Mon Sep 17 00:00:00 2001 From: Avra Sengupta Date: Wed, 10 Jul 2013 17:32:41 +0530 Subject: glusterd/cli changes for distributed geo-rep Commands: gluster system:: execute gsec_create gluster volume geo-rep create [push-pem] [force] gluster volume geo-rep start [force] gluster volume geo-rep stop [force] gluster volume geo-rep delete gluster volume geo-rep config gluster volume geo-rep status The geo-replication is distributed. The session will be created, and gsyncd will be spawned on all relevant nodes, instead of only one node. geo-rep: Collecting status detail related data Added persistent store for saving information about TotalFilesSynced, TotalSyncTime, TotalBytesSynced Changes in the status information in socket: Existing(Ex): FilesSynced=2;BytesSynced=2507;Uptime=00:26:01; New(Ex): FilesSynced=2;BytesSynced=2507;Uptime=00:26:01;SyncTime=0.69978; TotalSyncTime=2.890044;TotalFilesSynced=6;TotalBytesSynced=143640; Persistent details stored in /var/lib/glusterd/geo-replication/${mastervol}/${eSlave}-detail.status Change-Id: I1db7fc13ffca2e415c05200b0109b1254067f111 BUG: 847839 Original Author: Avra Sengupta Original Author: Venky Shankar Original Author: Aravinda VK Original Author: Amar Tumballi Original Author: Csaba Henk Signed-off-by: Avra Sengupta Reviewed-on: http://review.gluster.org/5132 Reviewed-by: Vijay Bellur Tested-by: Vijay Bellur --- geo-replication/syncdaemon/README.md | 2 +- geo-replication/syncdaemon/gsyncd.py | 7 ++++--- geo-replication/syncdaemon/resource.py | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'geo-replication/syncdaemon') diff --git a/geo-replication/syncdaemon/README.md b/geo-replication/syncdaemon/README.md index 0eb15fa71..67f346ace 100644 --- a/geo-replication/syncdaemon/README.md +++ b/geo-replication/syncdaemon/README.md @@ -39,7 +39,7 @@ The config file format matches the following syntax: : # comment -By default (unless specified by the option `-c`), gsyncd looks for config file at _conf/gsyncd.conf_ +By default (unless specified by the option `-c`), gsyncd looks for config file at _conf/gsyncd_template.conf_ in the source tree. USAGE diff --git a/geo-replication/syncdaemon/gsyncd.py b/geo-replication/syncdaemon/gsyncd.py index ad498c39c..67ba07370 100644 --- a/geo-replication/syncdaemon/gsyncd.py +++ b/geo-replication/syncdaemon/gsyncd.py @@ -346,10 +346,9 @@ def main_i(): for name in rmap[x]: for j in range(3): namedict[mods[j](name)] = pa[j][i] - if x.scheme == 'gluster': - namedict[name + 'vol'] = x.volume + namedict[name + 'vol'] = x.volume if not 'config_file' in rconf: - rconf['config_file'] = os.path.join(os.path.dirname(sys.argv[0]), "conf/gsyncd.conf") + rconf['config_file'] = os.path.join(os.path.dirname(sys.argv[0]), "conf/gsyncd_template.conf") gcnf = GConffile(rconf['config_file'], canon_peers, defaults.__dict__, opts.__dict__, namedict) checkpoint_change = False @@ -399,6 +398,8 @@ def main_i(): if getattr(gconf, 'state_socket_unencoded', None): cleanup_paths.append(gconf.state_socket_unencoded) + cleanup_paths.append(rconf['config_file'][:-11] + "*"); + # Cleanup changelog working dirs if getattr(gconf, 'working_dir', None): try: diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 52989fe28..4b0183b98 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -1056,6 +1056,7 @@ class SSH(AbstractUrl, SlaveRemote): self.remote_addr, inner_url = sup(self, path, '^((?:%s@)?%s):(.+)' % tuple([ r.pattern for r in (UserRX, HostRX) ])) self.inner_rsc = parse_url(inner_url) + self.volume = inner_url[1:] @staticmethod def parse_ssh_address(addr): -- cgit